Most VPN providers offer support for both TCP and UDP connections to their VPN servers. But which of the two protocols is better for you?
Here is a comparison.
TCP VPN pros:
- TCP connections are usually allowed in restricted networks on common ports like 80, 443, while UDP traffic may be blocked even completely, usually in corporate networks. Moreover, it is fairly common for ISPs to throttle UDP traffic since it is mostly used for P2P, VoIP – the kind of traffic that they don’t “like”
TCP VPN cons:
- usually, a TCP VPN connection is slower than a UDP one, so UDP VPN connections should be preferred if speed is a key aspect. Anyway, by “slower” we don’t mean “unusable”. It can still be very fast depending on your ISP line speed: 100-200 Mbps VPN speeds over TCP ports are common
- higher latency in case of packets lost (unstable network connections)
UDP VPN pros:
- usually faster speeds on UDP VPN connections vs. TCP VPNs. UDP is ideal for video/audio streaming, gaming and P2P traffic
- lower latency makes it the obvious choice for online gaming
UDP VPN cons:
- it can be easily blocked in restricted networks, throttled by ISPs.
Bottom line: UDP should be the main choice when using a VPN. In OpenVPN, you can choose either UDP or TCP ports. Using IPsec and WireGuard, it is always UDP and can’t be changed. If you are connecting from a restricted network where protocols and ports are blocked, try OpenVPN over TCP ports such as 443, 80. Speaking of WireGuard and OpenVPN, check out our recent comparison article OpenVPN vs. WireGuard to learn more about each one’s pros and cons.
6 thoughts on “TCP VPN Vs. UDP VPN: Which one is better?”
I don’t know much about this, my question is: are these protocols encrypted?
Thanks in advance.
All info going out of your computer (if connected by VPN) are ALWAYS encrypted at a 128 or 256 bits level (most VPN client apps will let you choose which encryption level between those 2 you prefer to use) . Just keep in mind that the higher the encryption level you use (256 bit vs 128 bit) the slower your computer gets to send the data …. i.e. more time is needed to encrypt at a high level.