WireGuard vs OpenVPN
The 2026 rematch: published benchmarks with sources, what OpenVPN's kernel offload changed, and why post-quantum upgrades now favour WireGuard.
WireGuard vs OpenVPN in 2026 has a short answer: use WireGuard by default, because it is faster on most hardware, gentler on a phone battery and the base for most big providers' own fast protocols. Keep OpenVPN, or better, your provider's obfuscation mode, for networks that block VPNs. Both are secure when set up properly.
Two things changed since most comparisons were written. OpenVPN gained kernel offload, which narrows the speed gap on the right hardware. And providers started bolting post-quantum key exchange onto WireGuard but not onto OpenVPN. Every number below comes from a named, dated source. None is a test we ran ourselves.
The verdict in two lines
Pick WireGuard (or your provider's WireGuard version, such as NordLynx) for daily use on laptops, phones and routers. Switch to OpenVPN over TCP, or to an obfuscation mode, only when a hotel, office or country network refuses the connection.
That rule holds for nearly everyone. The cases where OpenVPN still makes sense on its own are narrower than they were in 2023, and they are covered under Which to pick, by situation below.
| Spec | WireGuard1.0 in 2020 | OpenVPNfirst release 2001 |
|---|---|---|
| Speed | Usually faster | Close only with DCO on fast hardware |
| Transport | UDP only | UDP or TCP |
| Usual port | UDP 51820 (convention) | UDP 1194 (IANA), often TCP 443 |
| Cipher choice | Fixed: ChaCha20-Poly1305 | Negotiated over TLS, e.g. AES-256-GCM |
| Codebase | Under 4,000 lines (Linux) | Far larger |
| Key exchange | Noise IK, one round trip | TLS handshake |
| Post-quantum add-ons | NordVPN, Mullvad, Surfshark, ExpressVPN | None documented by them |
| Beats VPN blocks alone | Poorly | Better on TCP 443 |
Speed: what published benchmarks show (and DCO)
On equal hardware WireGuard is usually faster, and on slow hardware the gap is large. The clearest like-for-like evidence comes from router maker GL.iNet, which publishes client-mode speeds for both protocols on each model. A router's small CPU exposes protocol overhead that a desktop hides.
On the budget models the difference is two to six times. On the Flint 2, where OpenVPN runs with data channel offload (DCO), the two are within 20 Mbps of each other: 880 against 900. On GL.iNet's Slate AX, OpenVPN with DCO is listed slightly ahead, at 560 against 550 (table below). Those DCO pairs are the most important numbers in this article, because they show what kernel offload changes.
What DCO is, and why it matters
Classic OpenVPN moves every packet between the operating system kernel and a user-space program, which costs time on each packet. OpenVPN 2.6.0, released on 25 January 2023, added data channel offload: the encryption of data packets moves into a kernel module, while the user-space program only handles the control channel. On Windows, OpenVPN 2.6 uses its DCO driver by default where it can.
Both tests show a large jump. The 2022 numbers come from slides presented at the netdev 0x16 Linux networking conference: iperf between two Ubuntu 22.04 virtual machines on an AMD Threadripper 3970X host. The 2026 numbers come from OpenVPN Inc.'s own blog, using a Ryzen 9 9950X workstation with a 25 Gbps network card. OpenVPN Inc. also says the DCO module was merged into the Linux kernel and ships starting with Linux 6.16. That is a vendor statement, so treat it as such.
| Source and date | Setup | OpenVPN | WireGuard |
|---|---|---|---|
| GL.iNet, read 20 Oct 2026 | Opal router, client mode | 12 Mbps | 65 Mbps |
| GL.iNet, read 20 Oct 2026 | Beryl AX router, client mode | 150 Mbps | 300 Mbps |
| GL.iNet, read 20 Oct 2026 | Flint 2 router, OpenVPN with DCO | 880 Mbps | 900 Mbps |
| GL.iNet, read 20 Oct 2026 | Slate AX router, OpenVPN with DCO | 560 Mbps | 550 Mbps |
| GL.iNet, read 20 Oct 2026 | Slate 7 router, OpenVPN with DCO | 385 Mbps | 490 Mbps |
| netdev 0x16 slides, 2022 | Two VMs on Threadripper 3970X | 713 Mbit/s; 3.95 Gbit/s with DCO | not tested |
| OpenVPN Inc. blog, Feb 2026 | Ryzen 9 9950X, iperf3 UDP | ~3.61 Gbps; ~7.15 Gbps with DCO | not published |
| wireguard.com/performance | Linux 4.6.1, iperf3 | page calls its own results 'old' | same page |
Two cautions keep this honest. First, a VPN app's speed depends on the server, the route and the provider's own implementation far more than on the protocol label. Second, every DCO figure above comes from Linux, Windows or router builds; we found no comparable published numbers for phone apps, so don't expect the same jump on a phone. WireGuard's own benchmark page describes its results as old and not well conducted, which is a refreshing admission and a reason not to quote it.
If your provider offers both and you only care about speed, WireGuard is the safer bet on every device you own. Our fastest VPN protocol guide covers IKEv2 and the proprietary options too.
Security: codebase size, crypto agility, audits
Both protocols are secure with current settings. They earn trust in different ways, and that difference is the real security trade-off.
WireGuard is small and opinionated. Its whitepaper says the Linux implementation fits in less than 4,000 lines of code, which makes it practical to audit. It uses one fixed set of primitives: ChaCha20-Poly1305 for encryption, Curve25519 for key agreement, BLAKE2s for hashing and HKDF for key derivation. The handshake follows the Noise IK pattern in a single round trip, and sessions rekey every 120 seconds. There is nothing to misconfigure, because there are no cipher choices to make.
OpenVPN is large and flexible. It negotiates its cipher suite over TLS, so an administrator can choose AES-256-GCM, ChaCha20-Poly1305 or, on an old server, something weaker. That flexibility is called crypto agility. It lets OpenVPN adopt a new algorithm without a new protocol version, but it also means a careless configuration can be weak. WireGuard's answer to a broken primitive would be a new protocol version rather than a setting.
WireGuard has one known privacy quirk. Each peer is tied to a fixed tunnel address, and the server tracks the latest IP address it heard from that peer so it can send replies. Commercial providers work around this in different ways, which our WireGuard security deep dive walks through. For a VPN customer, the provider's audited server setup matters more than the protocol choice. Check their no-logs audit by name and date before you buy.
IKEv2 and IPsec vs WireGuard
People searching 'ipsec vs wireguard' or 'ikev2 vs wireguard' usually want the same verdict. IKEv2 is an IETF standard (RFC 7296, October 2014) with a long track record and built-in support on iPhones, Macs and Windows. Its MOBIKE extension (RFC 4555, June 2006) lets a tunnel survive a switch from Wi-Fi to mobile data. WireGuard does the same job with less code and usually more speed. IKEv2 runs on fixed UDP ports 500 and 4500, so it is easy to block. The IKEv2 guide covers where it still wins.
Post-quantum: who added what in 2024-2026
Post-quantum protection guards against 'harvest now, decrypt later': someone records your encrypted traffic today and decrypts it once a large quantum computer exists. The fix used so far is to add a quantum-resistant key exchange on top of the normal one. So far, providers have added it to WireGuard-based tunnels and to their own protocols, not to OpenVPN.
- NordVPN: post-quantum works only with NordLynx, its WireGuard-based protocol. Seven platforms get it: Android, Android TV, iOS, tvOS, Windows, macOS and Linux. NordVPN's support pages tell you to switch it on, and they say it is disabled with OpenVPN, obfuscated servers and dedicated IPs.
- Mullvad: quantum-resistant tunnels became the default on all desktop apps in January 2025, and its app changelogs show Android and iOS following in late 2025. The current apps pair ML-KEM with HQC, which replaced Classic McEliece in mid-2025. Mullvad took OpenVPN out of its desktop app in late 2025 and set 15 January 2026 as the end date for its OpenVPN servers; its public server list now shows WireGuard servers only.
- ExpressVPN: says ML-KEM post-quantum protection is switched on by default in Lightway, its own protocol. It moved Lightway to ML-KEM on 15 January 2025, and in August 2025 it added a post-quantum version of WireGuard that it says starts every session with a hybrid ML-KEM key exchange.
- Surfshark: says post-quantum protection switches on automatically when you choose WireGuard in its apps (January 2026). In October 2026 it added post-quantum authentication (ML-DSA) to its WireGuard, on iOS and macOS first.
The practical upshot: if 'harvest now, decrypt later' is part of your threat model, OpenVPN is the wrong pick in 2026. Choose a WireGuard-based or proprietary protocol with post-quantum protection turned on.
If you want that today with a toggle you control, NordVPN puts the switch in its app settings on all seven platforms listed above. Proton VPN and Mullvad, which isn't an affiliate partner of ours, are the other names to compare on audits. The NordVPN and Proton VPN links are affiliate links, so we may earn a commission if you subscribe; it doesn't change what we recommend.
Getting past blocks: TCP 443 vs UDP-only
Here OpenVPN's old advantage is real but shrinking. WireGuard speaks only UDP, and its packets begin with a type byte followed by three zero bytes, a pattern a firewall can spot. OpenVPN can run over TCP port 443, the port HTTPS uses, so a network cannot shut it off without breaking normal web browsing.
The catch is that modern censorship looks at how traffic behaves, not just at the port number. Deep packet inspection can still recognise OpenVPN's handshake on port 443. That is why providers now ship dedicated disguise layers, and most of the newer ones don't rely on OpenVPN at all:
- NordVPN has moved its obfuscated servers from OpenVPN to NordWhisper, its protocol for restrictive networks.
- Proton VPN's Stealth wraps the connection in obfuscated TLS over TCP, so it looks like ordinary HTTPS.
- Mullvad offers UDP-over-TCP, Shadowsocks, QUIC and a lightweight WireGuard obfuscation, picked automatically when a normal connection fails.
- Surfshark says its OpenVPN connections run on obfuscated servers.
So in 2026, 'use OpenVPN TCP 443 to beat a block' is still sound advice for a router or a manual setup. Inside a provider's app, the stealth mode is usually the better first try. We compare those modes in detail in our guide to obfuscated VPN and stealth protocols, and TCP vs UDP for VPN explains the TCP-over-TCP slowdown, which is why you should switch back once you are through.
Mobile and battery
On phones, WireGuard is usually the better choice for two reasons. ChaCha20 runs fast in software on chips without AES acceleration, and WireGuard stays silent when there is nothing to send. Its tunnel follows you between Wi-Fi and mobile data without a fresh negotiation, because a peer's endpoint updates from the last authenticated packet.
OpenVPN on a phone runs in user space with a TLS control channel, and it must renegotiate after a network change. That costs time and some battery. If your provider's app offers only IKEv2 and OpenVPN on iOS, IKEv2 with MOBIKE is the smoother of the two. Our gaming and streaming protocol guide adds latency to the picture.
We haven't measured battery drain ourselves, and we're not aware of a current, well-documented study, so we won't give you a percentage. The direction is consistent across the design documents: less work per packet and fewer renegotiations mean less energy.
Which to pick, by situation
- Everyday laptop or phone: WireGuard or your provider's version of it. Turn on post-quantum if the app offers it.
- Router or self-hosted server: WireGuard, unless your router has an OpenVPN DCO build and you need TCP. Check the maker's published client speeds before you buy.
- Hotel, campus or office Wi-Fi that blocks VPNs: the app's obfuscation mode first, then OpenVPN on TCP 443.
- Country-level censorship: an obfuscation mode, set up before you travel. Read the legal position for that country first.
- Corporate network with an existing OpenVPN Access Server: stay on OpenVPN, turn on DCO, and look again when you next renew the hardware.
- Long-term secrecy against future quantum attacks: a WireGuard-based or proprietary protocol with post-quantum protection, not OpenVPN.
Ready to choose a provider rather than a protocol? NordVPN offers NordLynx, its WireGuard-based protocol, with an opt-in post-quantum setting. ExpressVPN says its Lightway protocol has ML-KEM protection by default. Our VPN protocols guide ranks every option in one sheet. The NordVPN and ExpressVPN links above are affiliate links.
The overhead numbers you'll see quoted
Many comparisons say OpenVPN adds 'up to 20%' overhead and WireGuard about 4%, and almost none of them cite a source. Only one half of that can be checked. WireGuard's packet layout on wireguard.com gives a 16-byte header and a 16-byte authentication tag. Add the UDP and IPv4 headers and you get about 60 bytes per packet, or 80 over IPv6. On a standard 1,500-byte packet, 60 bytes is 4%. So the WireGuard figure is simple arithmetic.
We found no official per-packet figure for OpenVPN. The overhead depends on the cipher, on whether TLS-crypt is used, on UDP or TCP, and on framing options, so any single percentage is a guess. The honest statement is that OpenVPN carries more per-packet overhead than WireGuard. Its larger cost has historically been CPU time in user space, not bytes, and that is the cost DCO attacks.
Bytes on the wire matter less than you'd think on a fast home connection. CPU cost matters a lot on routers, phones and cheap cloud servers, which is why the router figures above show such big gaps.
Running your own server: which to host
If you self-host, WireGuard is the easier server to run. A configuration is a few lines: a private key, a listening port and one block per peer. Its own documentation uses UDP 51820 in examples, but that port is a convention, not an IANA assignment. It sits in the dynamic range, and you can pick any port. WireGuard has been built into Linux since kernel 5.6, released on 29 March 2020, so most current distributions need no extra module.
OpenVPN needs a certificate authority, server and client certificates, and more configuration. In return you get TCP mode, username-and-password logins and a mature management ecosystem. If you already run OpenVPN, upgrading to 2.6 and enabling DCO is the cheapest speed win available. DCO exists for Linux, Windows and FreeBSD, and since 2.6.1 it builds by default on Linux and FreeBSD.
Whichever you host, a VPN you run yourself hides your traffic from the local network but not from your server's hosting provider. It gives you no shared-IP crowd to blend into either. A commercial VPN and a home server solve different problems.
Edge cases most comparisons skip
- Static internal IPs: raw WireGuard gives each peer a fixed tunnel address, which matters if you self-host for several people. Providers handle this on their side.
- TCP-only networks: WireGuard cannot run over TCP on its own. You need a wrapper such as Mullvad's UDP-over-TCP, or OpenVPN.
- MTU problems: WireGuard adds about 60 bytes per packet over IPv4 and 80 over IPv6, so its interface often uses an MTU of 1420. If some sites hang while others load, lower the MTU.
- Old routers: many older router firmwares support only OpenVPN in user space. Expect speeds like the Opal's 12 Mbps, not the Flint 2's 880.
- Compliance rules: some companies require configurable FIPS-approved cipher suites. OpenVPN's crypto agility, or IKEv2, may then be mandatory.