WebRTC leak test: is your real IP getting out?
Even with a proxy or VPN switched on, a feature inside your browser called WebRTC can tell web pages your real IP address. This test asks WebRTC which addresses it would share, then compares them with the address our server sees for your visit.
What WebRTC is, and how it leaks
WebRTC, short for Web Real-Time Communication, is the part of your browser that runs video calls, voice calls and direct transfers between two people. Google Meet uses it, and so do Discord's voice chat and many file-sharing sites. To connect you straight to the other person, WebRTC works out your addresses, both the one on your home network and your public one, and it does this outside your proxy settings.
Any web page can ask WebRTC for those addresses with a few lines of code, with no pop-up asking your permission and nothing showing on screen. Bot checks, advertising trackers and fingerprinting services all make use of this.
How to stop a WebRTC leak
In your browser
- Firefox: type
about:configinto the address bar, search formedia.peerconnection.enabledand set it tofalse. Video calls in Firefox will stop working until you set it back. - Chrome, Edge and Brave: install an extension such as "WebRTC Leak Prevent" or "WebRTC Network Limiter", which limit the addresses WebRTC can share. On a managed computer, an administrator can also restrict WebRTC through browser policy settings.
- Safari: under Develop → Experimental Features, keep "WebRTC mDNS ICE candidates" ticked, as it is by default. It swaps your home-network address for a random name. It doesn't hide your public address, so run this test again after any change.
If you use a profile browser
Profile browsers, sometimes called antidetect browsers, such as Multilogin, Dolphin Anty, GoLogin, Incogniton and Kameleo, can set WebRTC to show each profile's proxy IP in place of your own. It's still worth opening this page inside each profile to check.
If you automate a browser
Puppeteer, Playwright and Selenium can start Chrome with launch flags that change which addresses WebRTC uses. The pair below narrows what it shares rather than switching WebRTC off, so check the result on this page afterwards:
// Puppeteer / Playwright args: ['--disable-features=WebRtcHideLocalIpsWithMdns', '--force-webrtc-ip-handling-policy=default_public_interface_only']
Why a single leak matters
You use a proxy so that websites see its address instead of yours. A WebRTC leak hands them both. A site comparing the two might see your visit arrive from New York while WebRTC reports Bangalore, which tells it that a proxy is involved and roughly where you really are.
So run this test whenever you set up a proxy in a new browser, before you rely on it for anything, and again after each browser update.
Does this test send my IP anywhere?
The results never reach us: the test runs inside your browser, and the addresses it finds stay on this page. To discover your public address, though, your browser contacts a public STUN server run by Google, the same kind of server video calls use, and like any server it sees the IP the request comes from. The "Server sees" box simply repeats the address we already had from your visit.