By Eric L.
09/08/2026 · 7 MIN READ

A VPN keeps disconnecting for one of a handful of reasons: the phone's battery manager is killing the app in the background, the device is switching between Wi-Fi and mobile data, the connection is idle and something along the path times it out, the network is throttling the protocol, or the server is overloaded.

Each has a distinct symptom and a fix that takes a minute. Work through the list in order; most cases end at step one or two.

WHY IT DROPS: by likelihoodFIG. 01
battery optimization  ▇▇▇▇▇▇▇▇
switching networks    ▇▇▇▇▇▇
idle timeout, NAT     ▇▇▇▇
network hits protocol ▇▇▇
crowded server        ▇▇
    └─ check in this order

1. Battery optimization is killing the app (Android, some laptops)

The most common cause on Android, especially on Samsung, Xiaomi, Huawei, OnePlus and Oppo phones. The system spots a background app holding a connection open and shuts it down to save power. You'll know it by the symptom: connected while you're using the phone, disconnected when you pick it up after a while.

WHY IT DROPS AFTER THE PHONE SITSusing the phonescreen off a whileyou pick it up● BATTERY OPTIMIZEDconnectedapp shut down to save powerDisconnected● UNRESTRICTED + ALWAYS-ON VPNconnectedleft aloneStill connected
If it only drops after the phone has been sitting, the battery manager is the first suspect.

Fix: Settings → Apps → the VPN app → Battery → Unrestricted (or "Don't optimize"). On Xiaomi also enable Autostart. Then Settings → Network → VPN → gear icon next to the app → Always-on VPN, and Block connections without VPN if you want nothing to leak while it reconnects.

EIGHT CAUSES BY FREQUENCYFIG. 02
battery optimization     |||||||||
network handover         |||||||
idle timeout             |||||
overloaded server        ||||
weak Wi-Fi               |||
another filter running   ||
Battery optimization alone accounts for as many drops as the three least common causes combined.

2. Switching between Wi-Fi and mobile data

Every switch is a brief network change, and your tunnel has to be rebuilt from scratch. You'll see it when you leave the house, get to the office, or walk between Wi-Fi zones. With a good protocol the reconnection takes under a second and you barely notice; with a slow one you see the "connecting" state.

EVERY NETWORK SWITCH REBUILDS THE TUNNELHome Wi-FiMobile dataon the streetOffice Wi-Fiswitchswitch● WIREGUARD OR VLESSunder a secondunder a second● OPENVPNconnectingconnecting
The switch can't be avoided; how long the gap lasts depends on the protocol.

Fix: WireGuard and VLESS come back fast, OpenVPN doesn't. Switch protocol (the rules two machines use to talk) if your app lets you. On iPhone, on-demand rules keep the tunnel up across switches; on Android, Always-on VPN does the same. If a specific Wi-Fi network is the problem, VPN not working on Wi-Fi covers the network-side causes.

3. Idle timeout and NAT

Home routers and mobile carriers keep a table of active connections and quietly drop the ones that go silent. If your tunnel sends nothing for a few minutes, it can vanish from that table, and the next packet has nowhere to go until your client catches on. Symptom: fine while browsing, dead after the phone sat idle, reconnects when you open the app.

Fix: turn on keepalive. In WireGuard configs that's PersistentKeepalive = 25, and most apps either give you a setting for it or just do it for you on mobile. If the app has no such option, Always-on VPN on Android achieves a similar effect by reconnecting immediately.

IDLE TIMEOUTFIG. 03
you stop using the network
  └─ the carrier closes the session
      └─ the tunnel dies silently
fixed by keepalive: a tiny packet
every twenty-five seconds

4. The network throttles or interferes with the protocol

Some networks recognize VPN protocols and snip them every so often instead of blocking them outright. You'll see it as: connects, works for thirty seconds to a few minutes, dies, repeats. And usually only on one network.

Fix: switch to a protocol that looks like normal HTTPS, such as VLESS with Reality, which is what what is VLESS explains. If the app has automatic protocol selection, make sure it's on.

5. Overloaded or unstable server

You'll see drops at any hour, on any network, but only on one server, while other servers in the same country behave. Fix: pick another server, ideally one showing lower load on the server list. If a server repeatedly misbehaves, report it; it's probably known.

6. Weak or crowded Wi-Fi

This one is the VPN taking the blame for what your Wi-Fi is doing. The drops line up with a weak signal, being far from the router, sitting on 2.4 GHz in a crowded building, or a hotel network that rations each device. Fix: move closer, use 5 GHz, or switch to mobile data to confirm; if the drops stop, the Wi-Fi was the cause.

7. Another VPN, filter or antivirus

Two VPN apps, an ad blocker squatting in the VPN slot, or a desktop security suite that inspects traffic will happily fight each other over your connection. The giveaway: the drops started right after you installed something. Fix: disable the other app; on desktop, add the VPN to the security suite's exceptions. On iPhone, only one VPN configuration can be active, and a content filter counts, as explained in what is VPN on iPhone settings.

WHEN THE SERVER IS AT FAULTFIG. 04
drops on every network     the server
drops only at home         your Wi-Fi
drops only in background   the battery
drops when you move        roaming
Where the drop happens narrows down the cause before you open a single setting.

8. MTU and IPv6

Packets that are too large for the network get dropped, and a mix of IPv6 outside the tunnel and IPv4 inside it can cause connections to stall and the app to give up. Symptom: connected, some sites load and others hang, then the app reconnects. Fix: lower the MTU to 1280 in the app or configuration; enable IPv6 inside the tunnel or disable it on the interface. The IPv6 leak test shows whether IPv6 is escaping.

WHY A KILL SWITCH MATTERS HEREFIG. 05
the tunnel drops
  ├─ without one: traffic went out
  │  and you never noticed
  └─ with one: the internet stops
     and you know immediately

If the problem is how long it takes to come up rather than that it drops, how long a VPN takes to connect covers that separately.

Why a kill switch matters here

Every disconnection is a window where your traffic can quietly fall back to the open connection. A kill switch (no tunnel, no internet) blocks everything until the tunnel is back, which turns a flaky connection into an annoyance instead of a leak. So turn it on first, then go fix the drops. In that order.

If the drops follow a pattern, that pattern is the clue. Describe it.

Prompt for an AI
Help me find why my tunnel keeps dropping.

When it drops: (in the background / when the
screen locks / switching Wi-Fi to mobile / at the
same time each day / at random).
How often: (roughly).
Device: (model, system, skin).
App: (name). Protocol: (if you know).
Does it come back by itself: (yes / no).

Say which cause fits my pattern and what to check
first.
If there is no visible pattern, tell me what to
observe so one appears.
CHECKLISTFIG. 06
[ ] battery restrictions removed
[ ] always-on turned on
[ ] keepalive set
[ ] MTU tried lower
[ ] only one tunnel app installed
These five checks close five of the eight causes covered above.

VPN keeps disconnecting: checklist

  1. Battery: Unrestricted; Always-on VPN on Android.
  2. Protocol: WireGuard or VLESS; automatic selection on.
  3. Keepalive 25 seconds.
  4. Another server in the same country.
  5. Rule out Wi-Fi by testing on mobile data.
  6. Remove conflicting VPNs, filters, firewalls.
  7. MTU 1280; IPv6 inside the tunnel or off.
  8. Kill switch on throughout.

404 VPN's apps for Android and macOS run VLESS, and the Android app blocks traffic during reconnects with a kill switch. 404 VPN's WireGuard configs for Istanbul and Marseille come from the dashboard and go into the separate WireGuard app, where blocking traffic when the tunnel drops is set in that app or in the phone's VPN settings. Details on the features page; get started here.