Torrent stuck on "connecting to peers"? Why swarms stall
Fix torrents stuck on 'connecting to peers' or stalled at 0%. Diagnose dead swarms, offline trackers, macOS firewall blocks, and empty DHT routing tables.
In short
- The most common reason a torrent stalls at 'Connecting to peers' is an abandoned swarm with zero active seeders, meaning complete file pieces are missing.
- If trackers listed in a torrent file are offline or blocked by your internet service provider, your client cannot resolve peer IP addresses without DHT.
- The macOS Application Firewall or strict router NAT settings can block incoming TCP and UDP connections, preventing your Mac from connecting to other peers.
- MacLC streams open-source torrents with a start gate that waits for about 20 seconds of film while measuring swarm speed before playback begins.
On this page
- Why does a torrent get stuck on “Connecting to peers”?
- How does zero seeders cause a torrent to stall indefinitely?
- What should you do when BitTorrent trackers are offline?
- How do you fix macOS firewall and router NAT blocking torrents?
- How do VPNs and ISP throttling interfere with peer connections?
- Why is an empty DHT routing table slowing down magnet links?
- How does MacLC handle torrent playback?
- Get your peer-to-peer streams moving again
A torrent gets stuck on “Connecting to peers” when your client cannot establish a two-way data connection with other computers in the swarm, most commonly because the torrent has zero active seeders, its tracker servers are offline, your macOS firewall is blocking incoming network traffic, or your client has not yet populated its Distributed Hash Table (DHT) routing table. Diagnosing which of these network bottlenecks is causing the stall lets you either fix the connection or abandon an unrecoverable dead file.
While BitTorrent is engineered to be a resilient, decentralized peer-to-peer protocol, it relies on a delicate sequence of handshakes. If even one link in the chain breaks—such as your router dropping UDP packets or an internet service provider blocking announce domains—your client sits idle at 0% completion.
Animation
Where the pieces come from, and in which order
Why does a torrent get stuck on “Connecting to peers”?
When you add a .torrent file or paste a magnet link, your BitTorrent client does not immediately download file pieces. Instead, it enters an initial discovery phase:
- Announce Requests: The client contacts the trackers listed in the torrent metadata, requesting a list of IP addresses and port numbers for active peers.
- DHT Node Traversal: If trackers are unreachable or absent, the client queries its local Distributed Hash Table routing table to locate nodes announcing the torrent’s 20-byte info hash.
- TCP and μTP Handshakes: The client sends connection requests to discovered peers, exchanges bitfields to see which pieces each peer possesses, and begins negotiating piece requests.
If your client displays “Connecting to peers” indefinitely, this handshaking pipeline has failed.
To resolve the problem, investigate the primary failure causes in order:
- Check seeders and availability: If seeds are 0 and availability is below 1.0, the swarm is dead and the missing pieces no longer exist online.
- Check tracker status: If all trackers time out or fail, enable DHT or add responsive public trackers.
- Check macOS firewall and router NAT: If your client is blocked from receiving incoming connections, add an exception in System Settings and ensure UPnP is active.
- Check VPN and ISP throttling: If your network filters BitTorrent traffic, enable protocol encryption or change your listening port.
How does zero seeders cause a torrent to stall indefinitely?
The single most common reason a torrent refuses to start is also the one that cannot be fixed by changing software settings: the swarm is dead.
Under the BitTorrent protocol specification (BEP 3), participants in a swarm divide into two technical categories:
- Seeders: Peers who possess 100% of the completed file and are uploading pieces to others.
- Leechers: Peers who possess less than 100% of the data and are actively downloading missing blocks while uploading what they already have.
If a torrent was uploaded several years ago and every user who downloaded it eventually turned off their computer or deleted the file, the swarm may have 0 seeders.
To verify whether your torrent is dead:
- Inspect the torrent details in your client (such as Transmission or qBittorrent).
- Look at the ratio of Seeds to Peers (e.g.,
0 (14)means 0 seeders and 14 leechers). - Look at the Availability metric:
- If availability is 1.00 or higher, at least one complete copy of the file exists across the combined pieces of the connected swarm, meaning the file can eventually finish.
- If availability is less than 1.00 (such as
0.68or0.92) and seeds remain at 0, the remaining pieces of the file do not exist on the internet. All 14 leechers are stuck at the identical percentage, waiting for a seeder who may never return.
In this situation, no network setting or firewall tweak can download pieces that no longer exist online. Your only solution is to seek another torrent or download source. For a deeper breakdown of swarm dynamics, read our guide on seeders vs leechers.
What should you do when BitTorrent trackers are offline?
Trackers are specialized servers that maintain registries of which peers are sharing a particular file. When you open a torrent, your client sends an HTTP or UDP “announce” message to the tracker URL.
However, public trackers frequently crash, suffer DDoS attacks, or go offline permanently:
- Connection Timeouts: If the tracker status in your client displays “Connection timed out” or “Could not contact tracker”, your client cannot retrieve an initial peer list from that server.
- Outdated Torrent Files: Older
.torrentfiles often list tracker URLs that have been decommissioned for years.
To recover from dead trackers:
- Verify DHT is Enabled: Ensure the Distributed Hash Table (DHT) is turned on in your client preferences. DHT allows your Mac to find peers directly from other computers without needing a working tracker.
- Add Working Trackers: Many clients allow you to right-click a stalled torrent, select Properties or Edit Trackers, and paste updated public tracker lists. Injecting active trackers often discovers dozens of active seeders within seconds.
How do you fix macOS firewall and router NAT blocking torrents?
Peer-to-peer networks require computers to communicate across the open internet. If your Mac or home router refuses to accept incoming connection requests from remote peers, your swarm connectivity drops drastically.
When your client cannot accept incoming connections, it can only download from peers who are publicly reachable. If two peers are both behind restrictive firewalls or Network Address Translation (NAT) routers, neither can initiate a connection to the other, cutting your effective swarm pool in half.
1. Configure the macOS Application Firewall
To ensure macOS is not blocking your torrent software:
- Open the Apple menu () and select System Settings.
- Click Network in the left sidebar, then click Firewall.
- If the Firewall is turned On, click the Options… button.
- Ensure the toggle for Block all incoming connections is switched Off.
- In the list of allowed applications, verify that your media player or torrent client is present and set to Allow incoming connections. If it is missing, click the plus sign (
+), select the application from/Applications, and click Add.
For additional system configuration details, refer to the official Apple Support guide on macOS Firewall settings.
2. Enable UPnP or NAT-PMP on Your Router
In your home Wi-Fi router’s administrative dashboard, verify that Universal Plug and Play (UPnP) or NAT Port Mapping Protocol (NAT-PMP) is enabled. This allows your Mac software to automatically request an open incoming listening port through your router’s firewall without requiring manual port forwarding rules.
How do VPNs and ISP throttling interfere with peer connections?
Internet Service Providers (ISPs) frequently monitor customer bandwidth and apply deep packet inspection to detect BitTorrent traffic during peak hours:
- Protocol Throttling: Some commercial ISPs automatically throttle or sever unencrypted BitTorrent connections. Enabling Protocol Encryption (Require Encryption) in your client’s BitTorrent settings scrambles packet headers, preventing ISP automated filters from classifying the data as P2P.
- Port Blocking: Residential ISPs occasionally block standard BitTorrent listening ports (TCP/UDP 6881–6889). Switching your client’s listening port to a random high-numbered port (between 49152 and 65535) bypasses basic port filters.
- VPN Kill Switches and Leaks: If you use a Virtual Private Network (VPN), ensure the VPN client supports P2P traffic on the selected server location. Some privacy VPNs strictly forbid torrenting on specific exit nodes and drop all peer packets silently.
Always ensure you are using BitTorrent exclusively for authorized content. Learn more about the legal framework governing peer-to-peer file sharing in our overview on is torrenting legal.
Why is an empty DHT routing table slowing down magnet links?
If you open a torrent via a magnet link rather than a .torrent file, getting stuck on “Connecting to peers” for the first 30 to 60 seconds is completely normal.
Under BitTorrent Enhancement Proposal 5 (BEP 5), magnet links do not contain a file manifest or piece hashes: they contain only the 20-byte info hash.
Before your Mac can begin downloading the movie, it must perform two consecutive decentralized lookups:
- Bootstrap the DHT: If you just launched your torrent software for the first time, its internal routing table contains zero known contacts. The client must contact public bootstrap nodes (such as
dht.transmissionbt.comorrouter.bittorrent.com) to populate a list of active network neighbors. - Download the Metadata (BEP 9): Once the client finds peers announcing the info hash, it must request the actual
.torrentmetadata dictionary from those peers before it can verify piece checksums and create files on disk.
Until metadata transfer finishes, the client displays “Connecting to peers” or “Downloading metadata.” Once completed, piece downloading begins immediately.
Explore the complete architecture in our technical guide on what is DHT in BitTorrent.
How does MacLC handle torrent playback?
MacLC incorporates a BitTorrent streaming engine built on libtorrent, allowing you to stream videos from .torrent files or magnet links without waiting for complete downloads.
When you stream a torrent in MacLC:
- Opening links: You can drag a
.torrentfile into MacLC or paste a magnet link using File › Open Web Video (⌘U). - The start gate: An animated screen explains each step while the start gate waits for about 20 seconds of film until the swarm’s speed is measured. It then maintains a buffer of 10 to 90 seconds depending on speed, and plays anyway after two minutes.
- Playback bar indicators: A marker on the playback bar shows what is downloaded ahead, along with speed and connected peers.
- Playlists and subtitles: Multi-file torrents automatically become a playlist, chaining episodes together and attaching matching subtitle tracks.
To understand how piece scheduling balances immediate playback with network health, read our guide on how torrent streaming works or learn what is a magnet link.
Get your peer-to-peer streams moving again
Seeing a torrent stuck on “Connecting to peers” is frustrating, but the underlying cause is almost always identifiable. By checking for active seeders, confirming tracker health, allowing incoming connections through your macOS firewall, and giving the DHT routing table a moment to bootstrap, you can quickly get your downloads and streams running at full speed.
Questions people ask
What does 'Connecting to peers' mean in a torrent client?
It indicates that your client has processed the torrent metadata or info hash and is actively trying to contact trackers and DHT nodes to find other computers sharing the file. If it remains stuck, your client is unable to establish a working two-way data connection with any peer.
How do I know if a torrent is completely dead?
Look at the seeder count in your client's transfer inspector. If the seeder count is 0 and the swarm availability number is less than 1.0 (for example, 0.85), nobody in the entire world is currently sharing the remaining 15% of the file, and the download cannot finish.
Can the Mac firewall block torrent downloads?
Yes. If the macOS Application Firewall is enabled and set to block incoming connections without an exception for your client, remote peers behind NAT routers cannot initiate connections to your Mac, causing the download to stall.
Why do magnet links take longer to connect than .torrent files?
A magnet link contains only a 20-byte cryptographic info hash. Before your Mac can connect to file peers, it must first query the Distributed Hash Table (DHT) to download the actual torrent metadata from another node, which takes 20 to 90 seconds on a cold start.