WireGuard vs OpenVPN: which VPN protocol should you use?

WireGuard vs OpenVPN explained: speed, code size, privacy trade-offs, what NordLynx, Lightway and Stealth are, and when to switch protocols in your VPN app.

Blue UTP cord
Photo by Jordan Harrison on Unsplash
In this article 11 sections

WireGuard vs OpenVPN has a short answer: use WireGuard, or your VPN provider’s WireGuard-based default, almost all the time, and switch to OpenVPN over TCP or an obfuscation mode only when a network blocks you. WireGuard is newer, much smaller and, in its author’s published tests, much faster. OpenVPN is older, bigger and slower, but it is very good at slipping through restrictive networks because it can look like ordinary encrypted web traffic.

That short answer hides some useful detail. Several big providers no longer offer a choice between just these two: ExpressVPN pushes its own Lightway protocol, NordVPN wraps WireGuard in something it calls NordLynx, and Mullvad dropped OpenVPN entirely in 2026. This guide explains what a VPN protocol actually is, how the two main ones differ, what the brand-name protocols are, and which setting to pick in your app for each situation.

What is a VPN protocol?

A VPN protocol is the set of rules your device and the VPN server use to agree on keys, encrypt your traffic and wrap it in packets that can cross the internet. The VPN app is the steering wheel; the protocol is the engine.

Every protocol has to do the same three jobs. It has to prove to your device that it’s talking to the real server and not an impostor (authentication). It has to agree on fresh encryption keys without anyone listening being able to work them out (key exchange). And it has to encrypt each packet and check it hasn’t been tampered with on the way (transport). How a protocol does those jobs decides how fast it is, how easy it is to audit, and how easily a network can spot and block it.

For a consumer VPN, the practical choices are WireGuard, OpenVPN, IKEv2 and the providers’ own variants. If you want the bigger picture of what a VPN does and doesn’t hide, start with what a VPN is and how it works.

What is WireGuard?

WireGuard is a VPN protocol designed by Jason Donenfeld to be small, fast and easy to review. It shipped as part of the Linux kernel in version 5.6 in March 2020 and now runs on every major platform.

The project’s whitepaper1 (a version of which appeared at the NDSS security conference in 2017) says the Linux implementation is written in “less than 4,000 lines of code (excluding cryptographic primitives)”, so that reviewing it for security bugs is realistic for one person. The WireGuard 1.0.0 release announcement3 marked its arrival in the mainline Linux 5.6 kernel, released at the end of March 2020.

WireGuard deliberately offers no menu of ciphers. Its home page2 lists one fixed set: the Noise protocol framework, Curve25519 for key exchange, ChaCha20 and Poly1305 for encryption and authentication, BLAKE2 for hashing, SipHash24 and HKDF. If one of those is ever broken, everyone upgrades to a new version rather than negotiating a weaker option, which removes a whole class of downgrade attacks that older protocols have suffered from.

It also uses a simple idea the project calls “cryptokey routing”: each peer’s public key is tied to the tunnel IP addresses it is allowed to use. For outgoing packets that list works like a routing table, and for incoming packets like an access-control list. That simplicity is a big part of why it is fast and easy to configure, and also the source of its one real privacy wrinkle for commercial VPNs, covered below.

What is OpenVPN?

OpenVPN is the open-source VPN program that powered most consumer VPNs for the better part of two decades. It was first released in 2001, written by James Yonan, and uses the TLS protocol (the same family of encryption that secures HTTPS websites) through the OpenSSL library.

According to Wikipedia’s summary of the project4, OpenVPN is free software under the GPLv2 (with commercial licences available), runs in user space rather than inside the operating system kernel, and can carry traffic over either UDP or TCP; port 1194 is its IANA-assigned port. The project’s own how-to5 describes it as implementing a secure network extension “using the industry standard SSL/TLS protocol”, with clients connecting “over a single TCP or UDP port”.

Its strengths are maturity and flexibility. It supports many ciphers and authentication methods, it has been picked over by researchers for years, and it can run over TCP on whatever port you choose, which matters when a network only lets web traffic out. Its weaknesses are the flip side: a much larger codebase than WireGuard’s, more configuration options to get wrong, and the overhead of running in user space.

A network switch with ethernet cables connected
Photo by User_Pascal on Unsplash

Is WireGuard faster than OpenVPN?

Yes, in the published benchmark from WireGuard’s author it was about four times faster than OpenVPN on the same hardware, with lower latency. Treat the exact numbers as a lab result from the protocol’s designer, not a prediction of what your VPN will do.

The whitepaper’s benchmark1 ran iperf3 between two laptops (an Intel Core i7-3820QM and a Core i7-5200U) over gigabit Ethernet, averaged over thirty minutes. WireGuard moved 1,011 megabits per second; two IPsec configurations managed 881 and 825; OpenVPN, using AES-256 with HMAC-SHA2-256 over UDP, managed 258. Ping times followed the same order: 0.403 milliseconds for WireGuard against 1.541 for OpenVPN. The paper notes the CPU hit 100% during the OpenVPN and IPsec tests but not during WireGuard’s, which it read as WireGuard saturating the gigabit link.

Throughput on the same gigabit link, WireGuard whitepaper benchmark
  • WireGuard1,011 Mbps
  • IPsec (AES-GCM)881 Mbps
  • IPsec (ChaCha20-Poly1305)825 Mbps
  • OpenVPN (AES-256, UDP)258 Mbps

The protocol author’s own lab test on 2010s laptops, not an independent test of any VPN service. Source: Donenfeld: WireGuard whitepaper, section 8 (draft revision June 2020)

The paper puts the gap down to design: OpenVPN is a user-space application, so packets get copied between the kernel and the program several times, adding latency and CPU work. WireGuard runs inside the kernel on Linux.

On a real VPN service, your speed depends far more on the distance to the server, how loaded that server is, your own connection and your device than on the protocol alone. We haven’t run speed tests and don’t publish speed scores. What the benchmark does tell you is that WireGuard leaves more headroom, which shows most on fast home connections and on phones, where less CPU work matters most.

Is WireGuard as secure as OpenVPN?

Both are considered secure when properly configured. WireGuard’s case rests on modern, fixed cryptography and a codebase small enough to review; OpenVPN’s rests on long use and many configurable, well-studied options.

The difference is mostly about how much can go wrong. OpenVPN lets the provider choose ciphers, TLS versions, authentication schemes and dozens of other settings, so its security depends on the provider choosing well. WireGuard takes those choices away. There’s no weak legacy cipher to fall back to because there is no cipher negotiation at all.

If you want a second opinion on the principle, the US National Security Agency and CISA, in their 2021 guidance on selecting and hardening VPNs7 for organisations, steered buyers toward standards-based products rather than proprietary ones. That guidance is aimed at corporate remote-access VPNs, not consumer services, but the underlying point applies: a well-understood, widely reviewed protocol is easier to trust than a secret one. Both WireGuard and OpenVPN are fully open source.

Does WireGuard have a privacy problem?

Plain WireGuard needs the server to keep a fixed table linking each user’s key to a tunnel IP address, which a no-logs VPN doesn’t want lying around. Commercial providers that use WireGuard add their own layer to avoid storing that link.

NordVPN explains the problem plainly on its NordLynx page8: WireGuard’s original architecture “required servers to store a static IP table connecting users to their internal IP addresses”. Its fix, NordLynx, is a “double NAT system”. One interface gives every user on a server the same local IP address; a second assigns a unique address for each tunnel session, and that assignment “lasts only while the session is active”, with authentication handled through a separate database. NordVPN says this means no identifiable data is stored on the VPN server; that is the company’s own description, which its no-logs assurance reports are meant to back up (see our NordVPN review).

Other providers have their own versions of the same fix. If you run WireGuard yourself with a home server, none of this matters: you are the only user and you control the table.

What about IKEv2?

IKEv2 is the key-exchange part of IPsec, an older standards-track protocol suite built into most operating systems, which is why some apps still offer it, mostly on iPhones and Macs.

The current specification is RFC 72966, published in October 2014, which describes IKEv2 as a component of IPsec that handles mutual authentication and sets up the security associations that protect traffic. In the WireGuard benchmark above, the two IPsec configurations sat between WireGuard and OpenVPN. IKEv2 is a reasonable fallback on Apple devices, but it uses fixed ports that networks can easily block, and most providers now default to WireGuard instead.

What are NordLynx, Lightway, Stealth and the other brand-name protocols?

Most are either WireGuard with a privacy layer added, or a provider’s own protocol built for speed or for getting past VPN blocks. Here’s what the main providers actually run, from their own documentation.

ProviderDefault / main protocolAlso offersFor blocked networks
NordVPNNordLynx (WireGuard-based)OpenVPN UDP/TCPNordWhisper
ExpressVPNLightway (its own)OpenVPN UDP/TCP, IKEv2 in some setups; no WireGuardOpenVPN TCP
Proton VPNSmart (picks automatically), WireGuard UDP/TCPOpenVPN (Linux app), IKEv2 (macOS)Stealth
SurfsharkWireGuardOpenVPN UDP/TCP, IKEv2; Dausos (its own, macOS App Store version only so far)OpenVPN TCP
MullvadWireGuard onlyOpenVPN removed in 2025–26Shadowsocks, UDP-over-TCP, QUIC, Lightweight WireGuard Obfuscation
IVPNWireGuard (quantum-resistant by default in the apps)OpenVPN, IPSec, multi-hopV2Ray, obfs4 (OpenVPN, desktop)

Sources for the table: NordVPN Help Center9, ExpressVPN11, Proton VPN13, Surfshark Help Center16 and Surfshark’s Dausos announcement17, Mullvad14 and its obfuscation post15, and IVPN18.

  • NordLynx is WireGuard plus NordVPN’s double NAT layer, described above. NordVPN says on the same page8 that it added post-quantum encryption to NordLynx in 2025.
  • Lightway is ExpressVPN’s own protocol, built on the wolfSSL cryptography library. ExpressVPN rewrote it in Rust; its February 2025 post10 says Praetorian (September 2024) and Cure53 (October 2024) audited the new code, with two low-risk issues from Praetorian and five items from Cure53, none rated critical, retested after fixes in December 2024. Because ExpressVPN doesn’t offer WireGuard, Lightway is what you’d use there for speed.
  • Stealth is Proton VPN’s protocol for censored networks. Proton’s October 2022 announcement12 describes it as “obfuscated TLS tunneling over TCP”, designed to get past “most firewalls and VPN blocking methods”.
  • NordWhisper is NordVPN’s equivalent for networks that block VPNs, listed in its protocol help page9.
  • Dausos is Surfshark’s own protocol, launched in April 202617, and so far available only in its macOS App Store app.

Why did Mullvad drop OpenVPN?

Mullvad decided to run a single, modern protocol. It announced the plan in November 2024, took OpenVPN out of its apps in late 2025 and set January 15, 2026 for switching off its last OpenVPN servers, leaving WireGuard only.

Its December 2025 post14 explains the removal from the app. To keep users on blocked networks connected without OpenVPN, it leans on obfuscation wrapped around WireGuard, including Shadowsocks, UDP-over-TCP, QUIC and a mode it introduced in November 2025 called Lightweight WireGuard Obfuscation15. If you rely on OpenVPN for a router or an old device, Mullvad is no longer an option; see our Mullvad vs Proton VPN comparison for alternatives that still support it.

WireGuard vs OpenVPN at a glance

WireGuardOpenVPN
First releasedMainline Linux 5.6, March 2020 (paper 2017)2001
Code sizeUnder 4,000 lines (Linux, excluding crypto)Much larger; relies on OpenSSL
CryptographyOne fixed modern set (Curve25519, ChaCha20-Poly1305 and others)Configurable TLS cipher suites
TransportUDP only (providers wrap it in TCP or obfuscation)UDP or TCP, any port
Speed (author’s benchmark)1,011 Mbps, 0.403 ms258 Mbps, 1.541 ms
Getting past VPN blocksNot designed to hide itself; providers add obfuscationGood over TCP, especially on web ports
Privacy wrinkleStatic key-to-IP table; providers add workaroundsNone specific

Which VPN protocol should I use?

Leave your app on its automatic or WireGuard-based default. Change it only to fix a specific problem.

  • Everyday use, streaming, gaming, phones: WireGuard or the provider’s version of it (NordLynx on NordVPN, Lightway on ExpressVPN). Faster connections and less battery drain.
  • The VPN won’t connect on hotel, school or office Wi-Fi: try OpenVPN over TCP, or the provider’s obfuscation mode (Proton Stealth, NordWhisper, Mullvad’s UDP-over-TCP or Shadowsocks). These look more like ordinary web traffic.
  • Travelling somewhere that restricts VPNs: an obfuscation mode is the one built for it, but check the law where you’re going first: some countries restrict VPNs, and nothing here is legal advice.
  • Router or old device: OpenVPN is the most widely supported option on routers and older firmware. Check your provider still offers it.
  • Connection keeps dropping when you move between Wi-Fi and mobile data: stay on WireGuard, which the whitepaper1 says lets peers “roam freely between different external IPs”; IKEv2 is the older alternative on Apple devices.

Protocol choice is the easy part. The decision that matters more is which company runs the servers. For that, read how to check a VPN’s no-logs claim, then compare the providers in our head-to-heads, starting with NordVPN vs ExpressVPN (NordLynx against Lightway) and Proton VPN vs NordVPN.

Sources

  1. Donenfeld: WireGuard, Next Generation Kernel Network Tunnel (whitepaper, draft revision June 2020; NDSS 2017) wireguard.com
  2. WireGuard: home page (cryptography, cryptokey routing) wireguard.com
  3. WireGuard mailing list: WireGuard 1.0.0 for Linux 5.6 released (March 2020) lists.zx2c4.com
  4. Wikipedia: OpenVPN en.wikipedia.org
  5. OpenVPN: Community how-to openvpn.net
  6. IETF: RFC 7296, Internet Key Exchange Protocol Version 2 (October 2014) rfc-editor.org
  7. CISA: CISA and NSA release guidance on selecting and hardening VPNs (September 2021) cisa.gov
  8. NordVPN: The NordLynx protocol (January 2026) nordvpn.com
  9. NordVPN Help Center: VPN protocols support.nordvpn.com
  10. ExpressVPN: Lightway’s Rust rewrite undergoes two security audits (February 2025) expressvpn.com
  11. ExpressVPN: VPN protocols expressvpn.com
  12. Proton VPN: Introducing Stealth (October 2022) protonvpn.com
  13. Proton VPN: How to change VPN protocols protonvpn.com
  14. Mullvad: Removing OpenVPN from the Mullvad VPN app (December 2025) mullvad.net
  15. Mullvad: Introducing Lightweight WireGuard Obfuscation (November 2025) mullvad.net
  16. Surfshark Help Center: VPN protocols support.surfshark.com
  17. Surfshark: Surfshark launches a VPN protocol (April 2026) surfshark.com
  18. IVPN: Homepage ivpn.net

Facts last checked November 2026. Spotted something out of date? Tell us at editor@getvpn.now.

Compare every platform side by side

More guides