vpnandprivacy

explainer

VPN protocols explained, and when to change yours

WireGuard, OpenVPN, IKEv2 and the proprietary protocols compared on speed, battery, reconnect time and censorship resistance

By The VPN and Privacy team Updated 6 Sept 2026 Facts re-checked 6 Sept 2026 6 min read
VPN protocols compared Four columns: WireGuard, OpenVPN, IKEv2/IPsec and obfuscated modes. Three rows rate each on speed, maturity and audits, and working behind firewalls. WireGuard is fastest but easily blocked; OpenVPN over TCP 443 gets through restricted networks; IKEv2 roams well but is easily blocked; obfuscated modes are slowest but are the only option where traffic is inspected. WireGuard NordLynx Lightway OpenVPN UDP or TCP 443 IKEv2/IPsec built into iOS macOS, Windows Obfuscated Stealth Camouflage, bridges Speed Maturity, audits Works behind firewalls more less Relative, not measured. PPTP and L2TP are left out: do not use them.
WireGuard is the default choice; switch to OpenVPN TCP 443 on restricted networks and to an obfuscated mode behind a national firewall.

The one-line answer

Use WireGuard unless something stops you. Everything below is the explanation and the exceptions.

WireGuard

Released in 2016 and merged into the Linux kernel in 2020. Around 4,000 lines of code against OpenVPN’s several hundred thousand, which makes it easier to audit and much faster. It connects in a fraction of a second, resumes instantly after a network change, and uses noticeably less battery on a phone.

Providers ship it under their own names. NordVPN’s NordLynx wraps it in a double-NAT layer so the server does not have to store a static IP against your account, which was the original privacy objection to WireGuard. ExpressVPN’s Lightway is a separate implementation with the same design goals, now written in Rust and open source. Proton, Mullvad, PIA, Surfshark and Windscribe offer plain WireGuard.

Expect to keep 80–95% of your line speed on a nearby server. Measure it on your own connection with the speed test: run it with the VPN off, then on.

OpenVPN

The old standard, from 2001, still supported everywhere. Two modes matter.

UDP is the faster one and the one to use if you use OpenVPN at all. TCP on port 443 is slower but looks like ordinary HTTPS traffic to a firewall, which is why it gets through school, workplace, hotel and airline networks that block everything else. If a VPN will not connect on a restricted network, this is the setting to change.

OpenVPN is not insecure. It is just slower, heavier on battery, and slower to reconnect than WireGuard, which matters most on a phone that changes networks all day.

IKEv2/IPsec

Built into iOS, macOS and Windows, so it works without an app. Its strength is roaming: it re-establishes the tunnel quickly when a phone moves between Wi-Fi and cellular. Its weakness is that firewalls block its ports easily and it is trivially fingerprinted. Reasonable as a manual configuration on a phone; not the choice on a restricted network.

Obfuscated protocols

These wrap the tunnel so that deep packet inspection cannot recognise a VPN handshake. They are slower than plain WireGuard and they are the only thing that works where a government inspects traffic:

ProviderModeNotes
ExpressVPNLightway with obfuscationAutomatic; nothing to configure
NordVPNObfuscated servers, NordWhisperMust be enabled manually; OpenVPN-based
Proton VPNStealthBuilt for Iran and Russia; also alternative routing
SurfsharkCamouflage, NoBordersNoBorders detects the network and switches
MullvadShadowsocks bridgesManual setup, very resilient

If you are travelling to China, Iran, Russia, Turkey or the UAE, turn the relevant mode on before you leave. The provider’s website is blocked in all five, so a setting you cannot reach is a setting you do not have.

What not to use

PPTP. Its encryption was broken more than a decade ago. Nothing should offer it; a few cheap providers still do.

L2TP/IPsec. Dated, slower than IKEv2, and with no advantage over anything above.

Changing the protocol

Every app keeps this in Settings → Protocol or Connection. The default is usually “automatic”, which picks WireGuard and falls back on failure. Switch it manually when: the connection is slow (choose WireGuard), it will not connect on a restricted network (OpenVPN TCP 443), or you are behind a national firewall (the obfuscated mode). Those three cases cover nearly every protocol-related problem, and the connection troubleshooting guide covers the rest.

Frequently asked questions

Which VPN protocol should I use?

WireGuard, or your provider's build of it — NordLynx, Lightway. It is the fastest, uses the least battery and reconnects in under a second. The only reasons to change are a network that blocks it, in which case use OpenVPN over TCP port 443, and a censored country, where you need the provider's obfuscated mode.

Is WireGuard secure?

Yes. It is a modern design with a small codebase that has been audited repeatedly and is in the Linux kernel. The original privacy objection was that it stores a static IP per connected user on the server, which providers solved with double-NAT systems (NordLynx) or short-lived keys. The cryptography is not in question.

Is OpenVPN obsolete?

No, but it is no longer the default choice. It is slower and heavier than WireGuard because of a twenty-year-old codebase, and it drains phone batteries. Its advantage is that OpenVPN over TCP on port 443 looks like ordinary HTTPS traffic, which gets through restrictive networks that block everything else.

What is an obfuscated protocol?

A wrapper that disguises the VPN handshake so deep packet inspection cannot fingerprint it. Examples are Proton's Stealth, NordVPN's obfuscated servers and NordWhisper, ExpressVPN's Lightway obfuscation, Surfshark's Camouflage and Mullvad's Shadowsocks bridges. They are slower, and they are the only thing that works in China, Iran and Russia.

Should I use PPTP or L2TP?

No. PPTP's encryption has been broken for over a decade and should never be used. L2TP/IPsec is dated and offers nothing WireGuard or IKEv2 does not do better. If a provider still defaults to either, that tells you something about the provider.