One little secret of the VPN industry is that many VPNs leak.
One in-depth study of Android VPN apps found that 84% of the VPNs tested leaked the user’s IP address. I’ve also confirmed in my VPN reviews that many paid VPNs are vulnerable to traffic leaks as well.
In other words, many of the VPN services that market themselves as privacy and security solutions are in fact leaking your IP address and/or DNS requests all over the internet.
Also concerning is the fact that many VPNs have broken features. This is often the case with “kill switches” that do not effectively block traffic or “IPv6 leak protection” that does not secure your IPv6 address. It only takes one leaked packet to expose your identity and activities to third parties.
In this guide we’ll cover two different levels of VPN tests:
- Basic tests – These are the tests that anyone can run. Simply connect to your VPN and then hit the testing sites. Unfortunately, these basic tests may not identify all leaks (such as brief reconnection leaks).
- Advanced tests – These tests require more technical proficiency to get everything set up correctly, but they will identify any leaks you may have with your VPN. ExpressVPN put together the best testing suite available for in-depth leak testing. These testing tools are open source and available here on GitHub.
We’ll start with basic VPN test procedures to identify obvious problems.
Basic VPN tests
Below are basic steps for identifying:
- DNS leaks
- IP address leaks (IPv4 and IPv6)
- WebRTC leaks
With these basic tests, you are relying on the testing website to identify problems.
Testing for VPN leaks
To test for active leaks, simply connect to a VPN server and visit the test site. You are checking to see how the VPN performs when the connection is active and stable.
You can also simulate different interruptions to see how well the VPN does if network connectivity drops. For example:
- Connect to a VPN server and load ipleak.net in your internet browser.
- Manually interrupt your internet connection (disconnect) while the VPN client is running.
- Load a few different test websites while the VPN is reconnecting. This may identify brief reconnection leaks.
One common problem we find with many VPNs is IPv6 leaks. Since very few VPN service support IPv6, they will instead attempt to block it on your operating system. However, we have found that your real IPv6 address may still be leaking, even if your VPN is connected and stable.
VPN test websites
Here are a few testing sites you can use to check for different leaks:
- ipleak.net (IPv4, IPv6, WebRTC, and DNS) – from AirVPN
- Perfect Privacy Test tools (IPv4 and IPv6, DNS, WebRTC) – from Perfect Privacy
- ExpressVPN leak tests (IPv4, DNS, WebRTC) – from ExpressVPN
- test-ipv6.com (IPv4 and IPv6)
- dnsleaktest.com (use extended test to identify DNS leaks)
- BrowserLeaks WebRTC Test
- IPX.ac (IPv4, IPv6, WebRTC, DNS, browser fingerprinting, location data, and more) – from VPN.ac
- ipleak.org (IPv4, IPv6, WebRTC, DNS) – from VPNArea
Now let’s see what a VPN leak looks like.
Identifying VPN leaks
When you use the testing site ipleak.net, it is fairly easy to identify leaks and problems, especially when you are connected to a VPN server outside your country. Note, the WebRTC leak test will show local IP addresses (usually beginning with 10.xxx or 192.xxx or sometimes an alpha-numeric IPv6 address that is also local). These are not leaks, but rather your local IP addresses (further explained in our WebRTC leaks guide). If you see your real (Public) IPv4 or IPv6 under the WebRTC section, then these are indeed WebRTC leaks.
Below I am testing a popular VPN service for leaks. You can see that I am connected to a VPN server in the UK, but it is still leaking my private data.
With the test results above, you can see that my IPv4 address matches the IPv4 address of the VPN server (no IPv4 leak). However, there were still the following leaks:
- IPv6 address is leaking out of the tunnel (IPv6 leak)
- Under DNS Addresses, you can see there is a DNS leak on the right with my German ISP showing up.
- In the WebRTC section, my real IPv6 is again exposed (WebRTC leak)
Now let’s look at an example with no leaks.
VPN test with no leaks
Below is a leak test result with ExpressVPN, our top VPN for 2020.
Above, you can see there are no leaks with the IPv4 address matching the VPN location. IPv6 was blocked (no leaks) and there were also no WebRTC leaks. Finally, ExpressVPN’s encrypted DNS resolvers are handling all DNS requests. This is a perfect test result with no leaks detected.
Advanced VPN tests
The best method for identifying VPN leaks is to create a testing suite for your operating system and then run a barrage of tests to analyze traffic for leaked packets.
Creating a testing suite to capture and analyze traffic can be somewhat complex depending on the operating system you are using.
If you want to devote some time to leak testing, there is an open-source leak testing suite available on GitHub here. This is a project that was released by ExpressVPN and the tools they use to test and ensure their own VPN is secure and leak-proof.
Quick start – Check out the quick start guide to set up your test machines to identify leaks with your VPN service.
Checking your VPN for DNS leaks
The Domain Name System (DNS) is a system for converting URLs, such as restoreprivacy.com, into a numerical IP address, such as 220.127.116.11.
Without a VPN, this translation process is handled by your internet service provider (ISP). But this can be problematic because your DNS requests are clear text logs of every website you visit. Internet service providers can easily log these requests to record all browsing history of their customers. In the United States, the data can be sold to advertisers and other third parties. In the UK and Australia, the data is recorded and stored for up to two years and is available to authorities for whatever they want to do with it.
A DNS leak occurs when the translation request leaks out of the VPN tunnel, exposing the IP address (and location) of your internet service provider, as well as your browsing history. Many VPNs do not provide adequate DNS leak protection. This means your DNS requests may still go through your ISP and thereby exposing your online activities via DNS leaks.
DNS leak test sites
Here are some good websites to test your VPN for DNS leaks:
- Perfect Privacy DNS Leak Test (This site seems to detect DNS leaks when other websites do not find problems. Below the tests results you can also find a detailed explanation of DNS leaks.)
- IP/DNS Test at ipleak.net (This is another DNS leak test tool that also includes IP address leak results.)
To easily check your VPN for DNS leaks, first connect to a VPN server outside of your country. Then, if you see IP addresses in your country, and they belong to your ISP, then you have a DNS leak. You can see above there are two DNS requests leaking out while connected to a VPN server in the United States.
A DNS leak does not expose your IP address, but instead the IP address and location of your internet service provider (which can be linked back to you). Additionally, this exposes your browsing history via DNS requests.
Solution to DNS leaks: Find a VPN that uses its own secured and encrypted DNS resolvers. Below are four VPNs that use only their own secure DNS resolvers and did not have any leaks when I tested them for the respective reviews:
- ExpressVPN (based in the British Virgin Islands)
- NordVPN (based in Panama)
- Perfect Privacy (based in Switzerland)
- Surfshark (based in the British Virgin Islands)
You can also manually configure your operating system to use a third-party DNS provider. Here’s a list of alternative DNS options from WikiLeaks. Keep in mind, however, that these third-party DNS services could also be logging the requests. Therefore we still think a verified no logs VPN is the safest bet.
Check your VPN for IP address leaks (IPv4 and IPv6)
IP address leaks are a problem with many free VPN services – as well as some paid VPN services.
Here are some tests sites to check your VPN for IP leaks:
Solution for IP leaks: The best solution is to simply get a VPN that does not leak IPv4 or IPv6 addresses. Another option is to manually create firewall rules that block all non-VPN traffic, but this can be a hassle. IPv6 can also be manually disabled on most operating systems, but the gradual transition to IPv6 is still underway.
Testing VPNs for WebRTC leaks
A WebRTC leak test is important for anyone using Firefox, Chrome, Opera, or Chromium-based browsers. As explained in the WebRTC leak guide, the WebRTC issue is essentially a vulnerability with the browser – although there are some VPNs that protect against this. A WebRTC leak occurs when your IP address leaks out via WebRTC APIs.
Here are three different WebRTC leak tests:
- Perfect Privacy WebRTC Test (This tool will test to see if you have a WebRTC leak, while also providing a detailed explanation of WebRTC leaks at the bottom of the page.)
- BrowserLeaks WebRTC Test (Another WebRTC test that works well, also includes helpful WebRTC information.)
Solution for WebRTC leaks: Follow the steps in the WebRTC leak guide to disable or block WebRTC in your browser.
VPN speed test
If you’re looking to test VPN speed, here are three options:
What affects VPN speed?
There are many factors affecting speed that you should consider when testing. Here are a few:
- Distance between you and the VPN server – This is usually the biggest factor affecting speed. The further the distance, the slower the speed.
- Number of users on the VPN server – With so many VPNs over-selling their services, some VPNs have overloaded servers which results in slow speeds and dropped connections for their users.
- Regional bandwidth restrictions – Many countries have poor bandwidth infrastructure, which will limit your speed, regardless of how fast your ISP or VPN server is. A few examples of this are Germany and Australia. Another regional consideration is how many people are online at a given time of the day. High usage times can slow down speeds for everyone.
- Internet Service Provider – No matter how fast your VPN is, it won’t be faster than the speed provided by your ISP. The only (rare) exception to this rule is if your ISP is throttling (limiting) your bandwidth. They sometimes do this if you’re doing something they don’t like (such as torrenting). A VPN can potentially help with this issue by encrypting your connection and hiding your online activity from your ISP.
- Processing Power – Whenever you’re using a VPN, your computer is working in the background to encrypt and decrypt packets of information. This takes processing power. The faster your internet speed when using a VPN, the more processing power is needed. So even if your ISP and VPN are fast, your CPU may be limiting your full speed potential (but this mainly applies to very high speeds).
Here is the record for the fastest VPN speed test result, currently held by NordVPN.
VPN malware tests
Malware embedded in mobile VPN applications is a major problem to be aware of with free VPN apps.
There has been an explosion of various free VPN apps available in the Google Play and Apple Stores. Just like with other free products, such as Gmail and Facebook, the platform is monetizing the user by collecting data and selling it to third parties.
One study found that 38% of Android VPN apps contain malware.
Test for malware – To test for malware, simply upload the software file to VirusTotal. The database will scan the file using over 60 different Antivirus tests. While there is a chance for false positives, some researchers define a malicious app as one having four or more positive test results.
VPNs with the best leak protection
There are three VPNs that I have found to do the best job of protecting users against leaks in all types of scenarios including, reconnections, network interruptions, and VPN crashes. These two VPNs offer the best built-in leak protection features:
- ExpressVPN – This VPN has excellent leak protection features on all apps and strong encryption. It is known for solid performance, but it does not support the WireGuard protocol.
- NordVPN – All desktop and mobile VPN apps include built-in leak protection and strong encryption. Additionally, NordVPN offers double-VPN servers and a CyberSec feature that blocks ads, trackers, and malware domains.
- Perfect Privacy – This VPN offers advanced leak protection settings along with full IPv6 support, but it’s somewhat expensive.
Whatever VPN you are using, it’s a good idea to periodically check for leaks and other issues, especially after any updates.
Last updated with new information on June 25, 2020.