Guides › OpenVPN vs WireGuard
OpenVPN vs WireGuard: which should you use?
We run both on every server, so we have no reason to sell you one over the other. Here is how they differ, and when each is the better choice.
Updated
The short version
Use WireGuard when it works: it is faster, lighter on a phone's battery, and
reconnects instantly when you change networks. Use OpenVPN when it has to
work: on a network that blocks UDP, through Tor, on a router, or anywhere you only have a
generic OpenVPN client and a .ovpn file. Both are secure. Both run on every one
of our servers, and our apps switch between them from the Connect screen.
What they are
OpenVPN dates from 2001. It builds a tunnel over TLS, the same protocol HTTPS uses, and can run over UDP or TCP. It negotiates its ciphers per session, supports certificates, and has been ported to nearly everything with a network stack, including most router firmware. The cost of that flexibility is size: OpenVPN plus OpenSSL is hundreds of thousands of lines of code, and it runs in user space, so every packet is copied between the kernel and the process.
WireGuard was designed in 2016 to be the opposite. It is around four thousand lines, has one fixed set of primitives (Curve25519 for key exchange, ChaCha20-Poly1305 for encryption, BLAKE2s for hashing), runs only over UDP, and lives inside the Linux kernel since version 5.6. There is no negotiation, no certificate chain and no cipher list, which is why it is easy to audit and hard to misconfigure.
Speed and battery
On the same hardware WireGuard almost always wins, and the gap grows as the CPU gets slower. On a modern laptop both saturate a typical home connection and you will not feel the difference. On a phone, WireGuard's shorter code path and its silence when there is nothing to send mean the radio wakes less and the battery lasts longer. On a cheap router the difference is dramatic: OpenVPN may top out at tens of megabits where WireGuard manages hundreds.
WireGuard also handles roaming without ceremony. Move from Wi-Fi to mobile data and the tunnel simply continues from the new address; OpenVPN has to notice the dead link, time out, and reconnect.
Getting through hostile networks
This is where OpenVPN earns its keep. WireGuard is UDP only. Hotel, airport, office and some mobile networks block or throttle UDP to anything that is not DNS, and then WireGuard silently gets nothing. OpenVPN over TCP on port 443 looks like an ordinary HTTPS session to a simple filter, and every one of our profiles has a TCP variant for exactly this case. It is slower, because TCP inside TCP retransmits twice, but it connects.
OpenVPN can also be pointed at a SOCKS proxy. That is how our Tor mode works, and it is only possible because OpenVPN speaks TCP.
Keys and ciphers, as we run them
| OpenVPN | WireGuard | |
|---|---|---|
| Transport | UDP, or TCP on 443 | UDP |
| Identity | Per-device certificate, issued by our CA and embedded in the profile | Per-device key pair; the private key is generated on your device and never leaves it |
| Control channel | TLS 1.2 minimum, TLS 1.3 suites preferred, wrapped in a tls-crypt key so the handshake itself is encrypted and authenticated | Noise protocol handshake, Curve25519 |
| Data channel | AES-256-GCM by default; AES-128-GCM and ChaCha20-Poly1305 negotiable | ChaCha20-Poly1305, fixed |
| Forward secrecy | Yes, per session | Yes, keys rotate every couple of minutes |
| Runs in | User space | Kernel (Linux), user space elsewhere |
Each server's own page lists the exact suites it negotiates, taken from the same code that writes its configuration. Pick one from the server network.
Which is more private?
Neither protocol changes what a VPN operator can see, which is the part that matters. Both encrypt everything between your device and the server. One practical difference: a WireGuard server keeps each peer's last endpoint and handshake time in memory while the tunnel is up, because the protocol has no session concept of its own. Our nodes report sessions to the panel the same way for both protocols and the same retention rules apply.
Our recommendation
- Phone or laptop, normal network: WireGuard.
- Network that blocks UDP, or you cannot tell why nothing connects: OpenVPN TCP.
- Router, or a device with only a generic OpenVPN client: OpenVPN, with a profile from the config generator.
- Tor mode: OpenVPN TCP, automatically.
- Torrents with port forwarding: either; the forwarded port works the same way on both.
Questions
Is WireGuard more secure than OpenVPN?
Neither has a known weakness. WireGuard has far less code and one fixed set of modern primitives, which makes it easier to audit. OpenVPN has twenty years of scrutiny and, in our configuration, uses TLS 1.2 or later with AES-256-GCM or ChaCha20-Poly1305 and a tls-crypt key. Choose on speed, battery and network conditions, not on security.
Is WireGuard faster than OpenVPN?
Usually, yes. WireGuard runs inside the kernel and does less per packet, so on the same hardware it typically gives higher throughput and lower latency, and on phones it uses noticeably less battery.
Why does OpenVPN still exist if WireGuard is faster?
Because it works where WireGuard cannot: through TCP on port 443 on networks that block UDP, through a SOCKS proxy such as Tor, and on routers and older devices that have an OpenVPN client but no WireGuard support.
Can I switch between them?
Yes. Our apps switch from the Protocol row on the Connect screen. The choice is per connection; nothing about your account changes.
Try it
Every new account starts with a free trial, every plan includes every location, and you can pay by card, Bitcoin, Lightning or Monero.