Why Is My Torrent Slow or Stuck, and How Do You Fix It?

Start by looking at what the torrent is telling you. The status and a couple of numbers usually point straight at the cause, so you can skip to the right section.

What you seeMost likely causeJump to
0 seeds, or "Stalled" with almost no peersNot enough people sharing itFew or no seeders
"Downloading metadata" or "Retrieving metadata" for minutesThe magnet link cannot find a peerStuck on metadata
Plenty of seeds listed but few connected, every torrent slowIncoming connections blockedFirewall and NAT
Fine without the VPN, slow with itVPN or proxy limitsVPN or proxy
Speed flat at a round number, or status "Queued"A limit you set (or forgot)Limits, queues, disks
"Errored" or "Missing Files"Disk or save path problemLimits, queues, disks
Everything is slow, only for torrents, on one ISPPossibly traffic shapingISP throttling

The examples use qBittorrent because it is common and free, but the same causes and fixes apply to any client.

Few or no seeders

This is the cause most of the time, and nothing on your side can fully fix it. BitTorrent downloads from other people. If only one person with a slow upload is sharing a file, that person's upload is your ceiling. If nobody who has the last piece is online, the torrent stops at 99% and waits.

How to tell

  • Seeds and Peers columns. qBittorrent shows two numbers, for example 2 (15). The first is how many you are connected to; the number in brackets is the total that trackers report for the swarm. A high number in brackets with a low first number points to a connection problem (see the firewall section). Low numbers in both mean the swarm is small.
  • Availability. This column (and the bar in the General tab) shows how many complete copies of the torrent exist among the peers you are connected to. Below 1.0 means nobody you can reach has the whole thing, and some pieces are currently unobtainable.
  • Tracker counts can be stale. Trackers report what they last heard. A torrent listed with dozens of seeders may have far fewer active ones.

What to do

  • Pick a healthier torrent. If several torrents offer the same content, choose the one with more seeders and recent activity. In TorrentStream, the queue shows peers and current speed for each item, which makes it easy to spot the one that is actually moving and drop the one that is not.
  • Give it time. Seeders in other time zones come and go. A torrent at 0 KB/s in the morning may be fine in the evening.
  • Keep it in the list. Leaving the torrent active means your client will pick up new peers as they appear, through trackers, the DHT, and peer exchange.
  • Force a reannounce. Right-click the torrent and choose Force reannounce to ask the trackers for fresh peers instead of waiting for the next scheduled check.
  • Check that a tracker works. The Trackers tab shows each tracker's status. If they all say "Not working", the torrent depends on the DHT and peer exchange to find anyone.

Popular, legal content tends to be well seeded: Linux distribution ISOs and Blender's open movies are good examples, and they make useful test torrents too (more on that below).

Stuck on "retrieving metadata"

A magnet link is not the torrent itself. It carries little more than the torrent's info hash, plus optional tracker addresses. Before anything can download, your client has to fetch the torrent's metadata (file names, sizes, and piece checksums) from a peer that already has it. The BitTorrent extension for this, BEP 9, adds that a magnet link without trackers can find peers through the DHT.

qBittorrent shows this stage as Downloading metadata; Transmission calls it Magnetized transfer, retrieving metadata. If it sits there for more than a few minutes, the client has not found a single peer with the metadata.

What to do

  1. Make sure the DHT is on. In qBittorrent, Tools, Options, BitTorrent, tick Enable DHT (decentralized network) to find more peers and Enable Peer Exchange (PeX) to find more peers. The status bar shows "DHT: N nodes"; if it stays at 0, UDP traffic is probably being blocked by a firewall, router, or VPN.
  2. Check the trackers. Open the Trackers tab. A magnet with no trackers, or only dead ones, depends entirely on the DHT.
  3. Force a reannounce, then give it a few minutes.
  4. Use the .torrent file if one is offered. A .torrent already contains the metadata, so this stage disappears. You still need peers to download the content itself.
  5. Accept that some magnets are dead. If no one in the swarm is online, no setting will help.

Private-tracker torrents are a special case: by design (BEP 27) clients only get peers from the private tracker, never from the DHT or peer exchange. For more on how magnet links work, see how to play a magnet link.

Firewall, NAT, and incoming connections

Every peer connection is started by one side. If peers cannot start connections to you, you can still connect out to them, but you lose everyone else who is also unreachable. Two peers that both cannot accept incoming connections usually cannot talk to each other at all. Being reachable lets you connect with peers that are themselves behind a firewall, so more of the swarm can send to you.

qBittorrent's status bar has a connection icon. Hover over it: "Online" is good; "No direct connections. This may indicate network configuration problems" means nobody has connected in to you yet.

What to do

  1. Allow the client through your firewall. On Windows, the first launch normally triggers a firewall prompt. If it was dismissed, open Windows Security, Firewall and network protection, and allow the app on the networks you use. Third-party security suites have their own firewalls; qBittorrent's wiki notes they can cause connection problems and high CPU use.
  2. Note your listening port. In qBittorrent, Tools, Options, Connection, Port used for incoming connections.
  3. Try UPnP / NAT-PMP. Tick Use UPnP / NAT-PMP port forwarding from my router on the same page. It works on many routers, but not all; qBittorrent's own wiki says UPnP "can be really buggy".
  4. Forward the port by hand if UPnP fails. In your router's settings, forward that port for both TCP and UDP to your computer's local IP address. Give your computer a fixed local address (a DHCP reservation) so the rule does not break after a restart.
  5. Check for carrier-grade NAT. Some ISPs put many customers behind one shared public address. If the WAN address on your router's status page starts with 100.64 to 100.127 (the shared range set aside for this in RFC 6598), or simply differs from the public IP that any "what is my IP" page shows, you are behind your ISP's NAT, and forwarding a port on your own router will not help. Ask the ISP whether it offers a public IP.
  6. Avoid double NAT. An ISP modem-router plus your own router means two layers. Put the ISP box in bridge mode, or forward the port on both.

Being unreachable slows you down but rarely stops a download completely. If a well-seeded test torrent is still stuck at 0, look at the VPN and limits sections next.

VPN or proxy limits

A VPN or proxy sits between you and the swarm, so its rules become yours. qBittorrent's wiki puts it bluntly: "By default, both solutions render you passive", meaning peers cannot connect in to you, which is the same problem as a closed port.

Common culprits:

  • No port forwarding. Some VPN providers let you open a port on the VPN's address; many do not, and policies change. Mullvad, for example, removed port forwarding in July 2023. Check your provider's current documentation. If it offers port forwarding, put the port it gives you into your client's listening port setting.
  • DHT blocked or turned off. Some setups block the UDP traffic the DHT depends on, and some apps switch the DHT off on purpose in protected modes to avoid leaks (TorrentStream does this, for example). Magnet links then depend on trackers and peer exchange, so dead trackers mean a stuck metadata stage.
  • The client is bound to a VPN that has dropped. If you have bound qBittorrent to the VPN adapter (Tools, Options, Advanced, Network interface), nothing moves while the VPN is disconnected. That is the safety feature working. Reconnect the VPN, then force a reannounce.
  • A busy or distant server. Try a server closer to you, or one the provider marks for peer-to-peer traffic.

A quick test: pause the VPN briefly with a legal test torrent and compare. If the difference is large, the VPN is the bottleneck. For choosing and configuring one, see VPNs for torrenting.

Speed limits, queues, and disks

These are the boring causes, and they are easy to miss because you set them yourself, sometimes months ago.

Speed limits

  • Global limits. Tools, Options, Speed, Global Rate Limits. Zero means unlimited.
  • Alternative limits. The same page has Alternative Rate Limits, toggled from a button in the status bar and optionally on a schedule. If your speed is stuck at a suspiciously round number, check whether this is on.
  • Per-torrent limits. Right-click the torrent, Torrent options. A limit set here applies on top of the global one and is easy to forget.
  • A saturated upload. If your upload is maxed out, the rest of your connection can suffer, downloads included. A modest upload limit sometimes helps on slow home connections.

Queueing

With Torrent Queueing turned on (Tools, Options, BitTorrent), qBittorrent only runs a set number of torrents at once; the defaults are 3 active downloads and 5 active torrents. Anything beyond that shows Queued and does nothing. Raise the limits, tick Do not count slow torrents in these limits, or right-click a torrent and choose Force Start.

Disks

  • Full disk. A torrent that runs out of space stops with an error. Check free space on the save drive, not just your system drive.
  • Missing files. If the drive or folder was moved, renamed, or disconnected, the torrent shows Missing Files. Reconnect the drive, or use Set location to point it at the right place, then Force recheck.
  • Slow storage. Old hard drives, cheap USB sticks, and network drives can become the bottleneck at high speeds. qBittorrent's FAQ mentions disk bottlenecks as a cause of poor performance on Windows, particularly on external drives.
  • Antivirus scanning. Real-time scanning of a file that is being written in thousands of small chunks can slow things down. Excluding your download folder is a trade-off you should make knowingly, and only for content you trust.

ISP throttling

Some internet providers have interfered with BitTorrent traffic in the past. The best-documented case is Comcast in the United States: in 2007 the EFF and the Associated Press found it was forging reset packets to cut BitTorrent connections, and in 2008 the FCC ordered it to stop. Whether your ISP does anything similar today depends on the provider and the country, and most are not transparent about it.

Throttling is also the least likely cause on this list, so rule out the others first. Then:

  1. Test with a legal, well-seeded torrent, such as an Ubuntu ISO from ubuntu.com's alternative downloads page. If it is fast, your setup is fine and the original torrent's swarm is the problem.
  2. Compare at different times of day. Speeds that collapse only in the evening may be general congestion rather than BitTorrent-specific shaping.
  3. Compare with and without a VPN. If torrents are much faster through a VPN, something on the normal path is treating them differently.
  4. Try protocol encryption. qBittorrent's Encryption mode (Tools, Options, BitTorrent) can require or prefer encrypted connections. It hides the content of the connection but not the traffic pattern. Bram Cohen, BitTorrent's creator, has said it "only temporarily evades traffic shaping". Requiring encryption also cuts you off from peers that do not support it.

The checklist, in order

  1. Look at the seeds, peers, and availability. If the swarm is tiny, find a healthier torrent or wait.
  2. For magnets stuck on metadata, check the DHT node count and the trackers, then force a reannounce.
  3. Check the connection icon. Allow the client through the firewall, then try UPnP, then forward the port by hand.
  4. If you use a VPN or proxy, test without it, check its port forwarding, and make sure the bound adapter is connected.
  5. Check global, alternative, and per-torrent speed limits, and whether the torrent is queued.
  6. Check free space, the save path, and the drive.
  7. Only then suspect your ISP, and test with a legal, well-seeded torrent.

If you are streaming rather than downloading, a slow swarm shows up as buffering instead of a slow progress bar. The causes are the same, but the piece order matters too; sequential download explained covers why.

Sources

Checked on 20 October 2026.