Main menu move to sidebar hide Navigation Main page Contents Current events Random article About Wikipedia Contact us Contribute Help Learn to edit Community portal Recent changes Upload file Special pages Print/export Download as PDF Printable version In other projects Wikidata item Search Search Appearance Donate Create account Log in Personal tools Donate Create account Log in Contents move to sidebar hide (Top) 1 History 2 Format Toggle Format subsection 2.1 Exact Topic (xt) 2.2 Web links to the file 2.3 Supplement format (x.) 3 Clients 4 See also 5 Explanatory notes 6 References 7 External links Toggle the table of contents Magnet URI scheme 15 languages Català Čeština Deutsch Español Suomi Français Italiano 日本語 한국어 Nederlands Polski Português Русский Українська 中文 Edit links Article Talk English Read Edit View history Tools Tools move to sidebar hide Actions Read Edit View history General What links here Related changes Upload file Permanent link Page information Cite this page Get shortened URL Print/export Download as PDF Printable version In other projects Wikidata item Appearance move to sidebar hide From Wikipedia, the free encyclopedia Scheme that defines the format of magnet links This article has multiple issues. Please help improve it or discuss these issues on the talk page . ( Learn how and when to remove these messages ) This article needs additional citations for verification . Please help improve this article by adding citations to reliable sources . Unsourced material may be challenged and removed. Find sources:   "Magnet URI scheme"  –  news   · newspapers   · books   · scholar   · JSTOR ( January 2015 ) ( Learn how and when to remove this message ) This article may be too technical for most readers to understand . Please help improve it to make it understandable to non-experts , without removing the technical details. ( December 2014 ) ( Learn how and when to remove this message ) ( Learn how and when to remove this message ) Rounded magnet icon used on The Pirate Bay Magnet is a URI scheme that defines the format of magnet links , a de facto standard for identifying files ( URN ) by their content, via cryptographic hash value rather than by their location. Although magnet links can be used in a number of contexts, they are particularly useful in peer-to-peer file sharing networks because they allow resources to be referred to without the need for a continuously available host, and can be generated by anyone who already has the file, without the need for a central authority to issue them. This makes them popular for use as "guaranteed" search terms within the file sharing community where anyone can distribute a magnet link to ensure that the resource retrieved by that link is the one intended, regardless of how it is retrieved. History [ edit ] The standard for Magnet URIs was developed by Bitzi in 2002, partly as a "vendor- and project-neutral generalization" of the ed2k: and freenet: URI schemes used by eDonkey2000 and Freenet (now Hyphanet), respectively, and attempts to follow official IETF URI standards as closely as possible. BitTorrent introduced the btmh: protocol in 2020 as part of its BitTorrent v2 changes. [ 1 ] Format [ edit ] Magnet URIs consist of a series of one or more parameters, the order of which is not significant, formatted in the same way as query strings that ordinarily terminate HTTP URLs. Example: magnet:?xt=urn:btih:da39a3ee5e6b4b0d3255bfef95601890afd80709&xt=urn:btmh:1220e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 The following parameters are supported: [ 2 ] [ 3 ] Parameter Name Description xt eXact Topic URN containing file hash . This is the most crucial part of the magnet link, and is used to find and verify the specified file. The URN is specific to the protocol, so a file hash URN under btih (BitTorrent) would be completely different from the file hash URN for ed2k xt=urn:btih:da39a3ee5e6b4b0d3255bfef95601890afd80709 dn Display Name A filename to display to the user, for convenience. xl eXact Length The file size, in bytes tr address TRacker Tracker URL ; used to obtain resources for BitTorrent downloads without a need for DHT support. [ 3 ] The value must be URL encoded. tr=http%3A%2F%2Fexample.org%2Fannounce ws Web Seed The payload data served over HTTP(S) as [ citation needed ] Acceptable Source Refers to a direct download from a web server. Regarded as only a fall-back source in case a client is unable to locate and/or download the linked-to file in its supported P2P network(s) as=[web link to file(URL encoded)] xs [ citation needed ] eXact Source Either an HTTP (or HTTPS, FTP, FTPS, etc.) download source for the file pointed to by the Magnet link, the address of a P2P source for the file or the address of a hub (in the case of DC++ ), by which a client tries to connect directly, asking for the file and/or its sources. This field is commonly used by P2P clients to store the source, and may include the file hash. xs=http://[Client Address]:[Port of client]/uri-res/N2R?[ URN containing a file hash ] xs=http://192.0.2.27:6346/uri-res/N2R?urn:sha1:3I42H3S6NNFQ2MSVX7XZKYAYSCX5QBYJ kt [ citation needed ] Keyword Topic Specifies a string of search keywords to search for in P2P networks, rather than a particular file kt=martin+luther+king+mp3 mt [ citation needed ] Manifest Topic Link to the metafile that contains a list of magnets (MAGMA –  MAGnet MAnifest ); i.e. a link to a list of links mt=http://example.org/all-my-favorites.rss mt=urn:sha1:3I42H3S6NNFQ2MSVX7XZKYAYSCX5QBYJ so [ 4 ] [ 5 ] Select Only Lists specific files torrent clients should download, [ 6 ] indicated as individual or ranges (inclusive) of file indexes. so=0,2,4,6-8 x.pe PEer Specifies fixed peer addresses to connect to. Used to bootstrap discovery of peers in the absence of (e.g.) trackers or DHT . [ 3 ] x.pe=hostname:port x.pe=ipv4-literal:port x.pe=[ipv6-literal]:port The standard also allows for application-specific experimental parameters, which must begin with "x". [ citation needed ] Exact Topic (xt) [ edit ] The xt parameter specifies the URN for a given p2p protocol. Its purpose is to provide a search parameter for finding the metadata to the torrent. This effectively acts as a replacement to a .torrent file, which itself contains the torrent metadata, by instead searching the p2p network (using the URN) for that metadata. Each protocol handles a URN uniquely; for example, xt=urn:btih:3I42H3S6NNFQ2MSVX7XZKYAYSCX5QBYJ uses the btih (BitTorrent v1 protocol), so a BitTorrent client can take the hash and lookup the torrent's metadata in the BitTorrent DHT. [ 7 ] In the case of DHT the client searches through a set of pre-known nodes and requests the metadata for an infohash; those nodes will make the same request to other known nodes until eventually a swarm is found and returned. xt also allows for a group setting. Multiple files can be included by adding a count number preceded by a dot (".") to each link parameter. [ citation needed ] magnet:?xt.1=[ URN of the first file]&xt.2=[ URN of the second file] Tiger Tree Hash (TTH) These hashes are used on Direct Connect and G2 (Gnutella2), among others. xt=urn:tree:tiger:[ TTH Hash ( Base32 ) ] Secure Hash Algorithm 1 (SHA-1) These hash sums are used on gnutella and G2 (Gnutella2). xt=urn:sha1:[ SHA-1 Hash ( Base32 ) ] BitPrint Such hash sums consist of an SHA-1 Hash, followed by a TTH Hash, delimited by a point; they are used on gnutella and G2 (Gnutella2). xt=urn:bitprint:[ SHA-1 Hash ( Base32 ) ].[ TTH Hash ( Base32 ) ] ED2K (eDonkey2000) hash These hash sums are used on eDonkey2000 . xt=urn:ed2k:[ ED2K Hash ( Hex ) ] Advanced Intelligent Corruption Handler (AICH) Not formal URNs for Magnet links, such hash sums are used by eDonkey2000 to restore and control the integrity of downloading and already downloaded files. xt=urn:aich:[ aich Hash ( Base32 ) ] Kazaa hash Used on FastTrack , these hash sums are vulnerable to hash collision attacks . xt=urn:kzhash:[ Kazaa Hash ( Hex ) ] BitTorrent info hash (BTIH) These are hex-encoded SHA-1 hash sums of the "info" sections of BitTorrent metafiles as used by BitTorrent to identify downloadable files or sets of files. For backwards compatibility with existing links, clients should also support the Base32 encoded version of the hash. [ 3 ] xt=urn:btih:[ BitTorrent Info Hash ( Hex ) ] Some clients require Base32 of info_hash (e.g., Vuze ). BitTorrent info hash v2 (BTMH) BitTorrent v2 replaces the obsolete SHA-1 hash with a SHA-256 info hash. The v2 info-hash is given a new prefix ( btmh ) to allow for torrents that can participate in both v1 and v2 swarms. [ 1 ] xt=urn:btmh:[1220: (v2 prefix) BitTorrent Info Hash ( Hex ) ] Message Digest 5 (MD5) Supported by G2 (Gnutella2), such hashes are vulnerable to hash collision attacks . xt=urn:md5:[ MD5 Hash ( Hex ) ] Web links to the file [ edit ] There are two types of download links that a Magnet link can include as a direct or backup source. "as" ("acceptable source") Most clients treat "as" as equal to the "xs" token when it comes to priority, and ignore the timeout before contacting "as" sources denoted by the specs. Content-Addressable Web URL This type of RFC   2168 -based link is used by gnutella as well as G2 applications. [ 8 ] xs=http://[Client Address]:[Port of client]/uri-res/N2R?[ URN containing a file hash ] xs=http://192.0.2.27:6346/uri-res/N2R?urn:sha1:3I42H3S6NNFQ2MSVX7XZKYAYSCX5QBYJ Link to a DirectConnect hub to find sources for a file This type of link connects a DirectConnect client immediately to the hub in question. xs=dchub://[hub address]:[hub port] Reference to a web-based source cache for a file on Gnutella2 In this case, the included link points, not to a client IP or direct source, but to a source cache which stores the IPs of other clients contacting it to download the same file. Once a client connects to the cache, it is served IPs for alternate sources, while its own IP is stored within the cache and forwarded to the next one connecting to the cache. This system operates similar to a BitTorrent tracker . xs= http://cache.freebase.be/ [ SHA-1 hash ] Reference to an eD2k source xs=ed2kftp://[client address]:[client port]/[ed2k hash]/[file size]/ Supplement format (x.) [ edit ] For experimental and self-complementing informal options, the prefix x. followed by a chosen suffix letter can be used. These names are guaranteed to never be standardized. x.[name of the new parameter]=[data of the new parameter ( URL encoded)] [ citation needed ] Clients [ edit ] Client dn xl xt tr xs as kt mt ws AMule Yes Yes urn:ed2k: No Unknown Unknown Unknown Unknown Unknown ApexDC++ Yes Yes urn:bitprint: urn:tree:tiger: No dchub: [ Note 1 ] dchub: [ Note 1 ] No No Unknown BitComet Yes Yes urn:btih: Yes Yes 1.76 No No No Yes 1.74 [ 9 ] Bitflu Yes No urn:btih: Yes No No No No Unknown Deluge Yes No urn:btih: Yes No No No No Unknown EiskaltDC++ Yes Yes urn:tree:tiger: urn:bitprint: urn:btih: [ Note 2 ] urn:btmh: [ Note 2 ] No dchub: [ Note 1 ] adc: [ Note 3 ] adcs: [ Note 4 ] dchub: [ Note 1 ] Yes No Unknown FlylinkDC++ Yes Yes urn:tree:tiger: urn:bitprint: urn:btih: No dchub: [ Note 1 ] adc: [ Note 3 ] adcs: [ Note 4 ] dchub: [ Note 1 ] Yes No Unknown gtk-gnutella Yes Yes urn:sha1: No http: push: Yes Yes No Unknown KTorrent Yes No urn:btih: Yes No No No No Unknown LimeWire Yes Yes urn:sha1: No http: urn:guid : Unknown No No Unknown MonoTorrent Yes Yes urn:btih: Yes No Yes No No Unknown μTorrent Yes No urn:btih: Yes No No No No Yes Phex Yes No urn:bitprint: urn:sha1: No Yes Yes Yes Export No qBittorrent Yes Yes [ 10 ] urn:btih: urn:btmh: Yes No No No No Yes Shareaza Yes Yes urn:bitprint: urn:btih: urn:ed2k: urn:md5: urn:sha1: urn:tree:tiger: Yes [ Note 5 ] http: ftp: http: ftp: (Same priority as xs) Yes No Unknown Tixati Yes Yes urn:btih: Yes Yes Yes Unknown Unknown Yes Transmission [ 2 ] [ 11 ] Yes No urn:btih: urn:btmh: [ 12 ] [ 13 ] Yes No No No No Yes [ 14 ] Vuze Yes Yes urn:btih: urn:sha1: Yes Yes 5.7.5.0 Yes 5.7.5.0 No No Yes See also [ edit ] BitTorrent Burnbit ed2k URI scheme InterPlanetary File System Metalink Named data networking Peer-to-peer Explanatory notes [ edit ] ^ a b c d e f dchub://[hubaddress]:[hubport] ^ a b Passes link to external software ^ a b adc://[hubaddress]:[hubport] ^ a b adcs://[hubaddress]:[hubport] ^ Since v2.5.1.0 References [ edit ] ^ a b "BitTorrent v2" . BitTorrent. 7 September 2020. Archived from the original on 30 October 2020 . Retrieved 21 September 2020 . ^ a b "magnet-test.c in trunk/libtransmission; Revision 9531" . Transmission. Archived from the original on 17 February 2012 . Retrieved 4 February 2012 . ^ a b c d "BitTorrent Enhancement Proposal 9: Extension for Peers to Send Metadata Files" . bittorrent.org (published 31 January 2008). 26 March 2017. Archived from the original on 10 October 2022 . Retrieved 4 November 2022 . ^ Houlihan, Tyler (24 May 2017). "Magnet URI extension - Select specific file indices for download" . BitTorrent.org . Retrieved 30 December 2024 . ^ "libtorrent/magnet_uri.cpp at 64817e0e8793d0875fc10245de52ffb2540a223d · arvidn/libtorrent" . libtorrent . Archived from the original on 4 November 2022 . Retrieved 4 November 2022 – via GitHub . ^ "BitTorrent Enhancement Proposal 53: Magnet URI extension - Select specific file indices for download" . BitTorrent.org . 6 June 2017. Archived from the original on 10 October 2022 . Retrieved 4 November 2022 . ^ "bep_0005.rst_post" . bittorrent.org . Retrieved 12 May 2022 . ^ Chapweske, Justin (29 November 2001). "HTTP Extensions for a Content-Addressable Web" . www-talk . W3C. Archived from the original on 28 July 2011 . Retrieved 7 November 2010 . ^ "v1.74 Core Improve: support ws parameter in Magnet URI, to add web seed" . bitcomet . Archived from the original on 10 April 2021 . Retrieved 7 April 2021 . ^ "Add eXact Length parameter when creating magnet URI" . GitHub . Retrieved 29 December 2024 . ^ "magnet.c in trunk/libtransmission; Revision 9979" . Transmission. Archived from the original on 17 February 2012 . Retrieved 4 February 2012 . ^ "libtransmission/magnet-metainfo.cc; commit 3237323b" . GitHub. Archived from the original on 13 July 2022 . Retrieved 22 February 2026 . ^ "Transmission 4.0.0-beta.1 release notes" . GitHub. Archived from the original on 15 January 2026 . Retrieved 22 February 2026 . ^ "magnet.c in libtransmission: Commit 5c3fd1b5ccc3a8c4ab68e2c56861df31dd1c720a" . Transmission. Archived from the original on 4 September 2021 . Retrieved 4 September 2021 . External links [ edit ] Magnet-URI Project on SourceForge , an early definition of the format (last update 2002) CHK Freeware checksum utility with SHA1-Base32 and ED2K support RHash on SourceForge , an open source command-line tool, which can calculate magnet links v t e Uniform Resource Identifier (URI) schemes Official about acct crid data file ftp geo gopher http https info ldap mailto nfs nntp sip / sips tag telnet urn view-source ws / wss xmpp Unofficial coffee ed2k gemini feed finger irc / irc6 / ircs ldaps magnet rsync ymsgr Protocol list v t e Peer-to-peer file sharing Networks , protocols Centralized Direct Connect Soribada Soulseek XDCC Decentralized BitTorrent DAT eDonkey FastTrack Fopnu Hyphanet GNUnet Gnutella Gnutella2 I2P IPFS Kad LBRY OpenFT OnionShare Perfect Dark Retroshare Share Tribler WebTorrent WinMX Winny ZeroNet Historic Audiogalaxy CuteMX Hotline Kazaa LimeWire Morpheus Napster Scour Usenet WASTE Comparisons of clients Advanced Direct Connect BitTorrent Direct Connect Gnutella Gnutella2 WebTorrent Hyperlinks eD2k Magnet Metalink Uses Backup Broadcatching Disk sharing Game and video sharing Image sharing Music sharing Peercasting Seedboxes Sharing software Web hosting ( Freesite , IPFS , ZeroNet ) Legal aspects Concepts Privacy Anonymous P2P Darknet Darkweb Friend-to-friend Open music model Private P2P Tor Internal technologies Distributed hash table Merkle tree NAT traversal Peer exchange BitTorrent protocol encryption SHA-1 SHA-2 Super-seeding BitTorrent tracker UDP hole punching Micro Transport Protocol Retrieved from " https://en.wikipedia.org/w/index.php?title=Magnet_URI_scheme&oldid=1339854212 " Categories : File sharing URI schemes Hidden categories: Articles with short description Short description matches Wikidata Use dmy dates from March 2025 Articles needing additional references from January 2015 All articles needing additional references Wikipedia articles that are too technical from December 2014 All articles that are too technical Articles with multiple maintenance issues All articles with unsourced statements Articles with unsourced statements from May 2022 This page was last edited on 22 February 2026, at 17:50  (UTC) . Text is available under the Creative Commons Attribution-ShareAlike 4.0 License ; additional terms may apply. By using this site, you agree to the Terms of Use and Privacy Policy . Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc. , a non-profit organization. Privacy policy About Wikipedia Disclaimers Contact Wikipedia Legal & safety contacts Code of Conduct Developers Statistics Cookie statement Mobile view Search Search Toggle the table of contents Magnet URI scheme 15 languages Add topic