Why your VPN is slow, and what actually fixes it
A slow VPN is usually a distant or busy server, a network forcing a slower transport, or weak Wi-Fi underneath; here is how to tell which and fix it.
A slow VPN is almost always one of four things: the server is far away, the server is busy, the network you are on has forced the app onto a slower transport, or the connection underneath the VPN is slow to begin with. Encryption itself is rarely the problem on a modern phone. The fix is different for each cause, so the first job is working out which one you have.
First, check the connection without the VPN
Turn the VPN off and try the same thing. If a page or download is just as slow, the VPN is not the cause; weak Wi-Fi, a congested cell tower or a slow site is. A VPN adds its own cost on top of the network and cannot subtract anything from it. If the VPN-off test is clearly better, carry on.
The server is far away
Every packet takes a detour through the VPN server before reaching its destination. Distance costs roughly 1 ms per 100 km each way, plus whatever the route adds, so a server on another continent can add well over 100 ms of round-trip time. That does not always cut your download speed much, but it makes every page feel slower to start and makes calls and games laggy.
The fix is a closer city, but "closer" means closer on the network, not on the map. The route from your carrier to a nearby city can be worse than the route to one further away, which is why the nearest server is not always the quickest. Look at the latency figure the app measures from your phone rather than guessing from geography.
The server is busy
A VPN server has a fixed uplink and a fixed amount of processor time. When many sessions share it, each gets less, and the effect is worse than distance because it changes minute to minute. A busy server shows up as speed that varies wildly, pages that sometimes load instantly and sometimes hang, and a latency figure that jumps around.
This is the cause that switching cities fixes most reliably. Pick a city with more headroom even if its latency is slightly higher. Server load explained covers why a lightly loaded server 500 km away often beats a full one next door.
The network forced a slower transport
VPN apps prefer WireGuard over UDP because it is light and quick. Some Wi-Fi networks, typically in hotels, campuses and offices, drop UDP or filter VPN protocols. A well-built app then tries other methods until one works, and the one that gets through on a restrictive network is often a TLS-wrapped transport on TCP port 443.
That transport is slower by design. It runs TCP inside TCP, so when a packet is lost both layers back off and the connection stalls harder than it should. It also has to use smaller packets, with an MTU of 1280 bytes, so there is more overhead per byte carried. If the VPN is slow on one particular Wi-Fi network and fine on mobile data, this is almost certainly why. The post on networks that drop UDP explains what the app does about it.
The fix, when you have the choice, is a different network. On a restrictive network the slower transport is the price of having any tunnel at all.
Things on the phone itself
A few phone-side causes are worth ruling out:
- Battery saver. Aggressive power modes throttle the processor and the radio, and some slow every background service including the VPN.
- A second VPN or a filtering app. Two apps trying to own the tunnel fight, and the loser drags the winner down.
- Private DNS. Android's Private DNS setting can add a round trip to every lookup on top of the VPN's own resolver. Setting it to automatic usually helps.
- An overloaded phone. Rare, but a phone under memory pressure drops packets it should be forwarding.
Which fix for which symptom
| What you see | Most likely cause | What to change |
|---|---|---|
| Slow with the VPN off too | The network, not the VPN | Move closer to the router, or switch between Wi-Fi and data |
| Steady but slow, high latency figure | Distant server or poor route | Pick a city with a lower measured round trip |
| Speed swings, latency figure jumps | Busy server | Pick a city with more headroom |
| Slow only on one Wi-Fi, fine on data | Restrictive network, TCP transport | Use another network if you can |
| Slow after a phone update or new app | Battery mode, second VPN, Private DNS | Check those three settings |
Culvert VPN measures a live round trip from your phone to each city and shows real headroom for each, then connects you to the healthiest server in the city you tap, so the two most common causes are visible before you connect; it is free on Google Play.
Questions people also ask
Should I switch to a different server or a different city?
A different city. A well-built app already picks the healthiest server inside a city, so switching servers by hand rarely helps, but a city with lower measured latency or more headroom often does.
Is the VPN slow because of the encryption?
Almost never on a phone made in the last several years. WireGuard adds very little processor work per packet. The slowdown is nearly always the server, the route or the network, not the maths.
Why is the VPN slow only on one Wi-Fi network?
That network is probably blocking UDP or filtering VPN protocols, so the app has fallen back to a TCP-based transport that is slower by design. On mobile data or another Wi-Fi it will use the quicker path again.
All 12 guides in Speed, battery and reliability · Every guide