The clients

A torrent client is the program on your own machine that speaks the BitTorrent protocol: it reads a torrent file or a magnet link, works out which other computers are holding the same data, asks them for pieces, checks every piece it receives against a hash before keeping it, and hands pieces back out to anybody else who asks.
Every client does those things, because the protocol requires them. qBittorrent, Transmission and Deluge are three of them, and what separates one from another is not the data they move but the engine they are built on, the way they are driven, and what each one deliberately leaves out.
The four jobs every torrent client performs
Every torrent client performs four jobs in sequence, and every feature it advertises sits on top of those four. How a transfer works covers the sequence in full; this is the client's share of it.
- Read the metadata. Parse a torrent file, or resolve a magnet link into the same information: the file names and sizes, the piece length, and the list of SHA-1 hashes, one per piece.
- Find peers. Announce to any tracker named in the metadata, ask the distributed hash table, exchange peer lists with peers already connected, and listen for other clients on the same local network.
- Trade pieces. Open connections, decide who to send to and who to choke, request the pieces that are rarest in the swarm first, and keep both directions busy.
- Verify and write. Hash each completed piece, discard it and request it again if the hash does not match, write the good ones to disk, and move from downloading to seeding once every piece verifies.
A client that has finished all four is complete and seeding: it has nothing left to ask for and gives only. A client that is connected but receiving nothing is waiting or stalled, which is a swarm problem rather than a client problem, and The swarm explains why.
The engine underneath, and why two clients behave alike
The engine underneath a client is a separate piece of software from the interface you look at, and it is where the protocol actually lives. qBittorrent and Deluge both use libtorrent, so they implement the distributed hash table the same way, negotiate protocol encryption the same way, pick pieces the same way and handle the microtransport protocol the same way. Two programs that look nothing like each other therefore behave almost identically on the same swarm. Transmission is the exception among the three: it carries its own engine, maintained inside the same project as the interfaces and shared with no other client, and small enough to ship inside router and NAS firmware.
This is the single most useful thing to know before reading any client comparison. When a comparison claims one client is faster than another and both run libtorrent, the claim is about the interface, the defaults or the disk handling, never about the protocol.
How a client is driven: a window, a daemon or a browser tab
A client is driven in one of three shapes, and the shape decides where it can usefully run.
- A single window. The interface and the engine are one process. Close the window and the transfer stops. This is the shape most people meet on Windows and macOS.
- A daemon with a separate face. A background service holds the transfers and an interface connects to it over a local socket or the network. Transmission and Deluge are both built this way, which is why they turn up on network attached storage boxes and routers where there is no screen at all.
- A browser tab. The client serves its own web interface on a port, and you drive it from any machine on the network. qBittorrent, Transmission and Deluge all offer one.
A client can offer more than one shape at once. qBittorrent ships a desktop window and a web interface in the same program, and also ships a headless build for a server.
The axes on which torrent clients genuinely differ
- Engine
- Shared libtorrent, or the project's own. This decides protocol behavior and almost nothing about the look.
- Interface model
- One window, or a daemon plus a detachable interface. This decides whether transfers survive logging out.
- Remote control
- A web interface, a documented remote procedure call interface, or a command line tool. This decides whether you can run the client on one machine and drive it from another.
- Platform reach
- Windows, macOS, Linux, BSD, and in some cases router and NAS firmware. Android is a special case: none of the three publishes a phone client of its own.
- Footprint
- Memory and processor use while idle and while checking. A compact client with no toolkit loaded costs less than one carrying a full desktop toolkit or a Python runtime.
- Extensibility
- A plugin system, as Deluge has, or a fixed feature set that the project maintains itself, as Transmission has.
- Funding
- Whether the program is paid for by the people who write it, or by advertising placed in front of the person using it.
Whether a torrent client costs anything
No. qBittorrent, Transmission and Deluge are all free software, published under free and open source licenses, with their source code public and no paid tier, no advertising and no bundled offers in the builds the projects themselves publish. That is a property of those three specifically, not of the category: closed source clients exist, and the free desktop builds of some of them are supported by advertising shown inside the transfer window.
Free in this sense also means the source can be read and rebuilt by anybody, which is the reason a distribution can package the program, a NAS vendor can embed it, and a security researcher can check what it sends.
Where a build of a torrent client should come from
A build should come from the project that wrote it, and nowhere else. Each of these projects publishes its own installers and its own source, and on Linux the distribution's package repository carries a build the distribution itself compiled. Both of those routes are the project's chain. A download site that wraps somebody else's installer in its own is not.
Three checks separate a genuine build from a repackaged one. Confirm the file came from the project's own release listing or from your distribution's package manager. Compare the published checksum or signature against the file you received, because that is the only check that survives a convincing imitation. Refuse any installer that offers you an extra toolbar, a search bar, a browser or a system cleaner during setup, because no project on this page ships one.
What a torrent client will not do for you
A client cannot invent peers. If nobody is holding the data, no setting will produce a transfer, and the entry will sit stalled however long you leave it. It cannot make a slow swarm fast, and it cannot make you reachable if your router is not forwarding the listening port, which is what firewalled means: incoming connections are not arriving, so you can only reach peers who let you connect out to them.
A client is also not a privacy tool and not a legal opinion. It publishes your address to every peer it talks to, because that is how the protocol connects two computers, and turning on protocol encryption changes what a network operator can read, not who can see that you are in the swarm. Is it safe? deals with that question properly, and qBittorrent is the page to read next if you want the field narrowed to one program.