Submit an extension

↑↓ move · ↵ open · Tab filter · Esc close

Free tool · Privacy tests

WebRTC leak test

Turn your VPN on, press the button, and see in a few seconds whether WebRTC hands websites an IP address your VPN is supposed to hide.

  • Free, no sign-up
  • Works on mobile

Press the button. The test takes up to 6 seconds and needs no install or sign-up.

Not run yet

Check whether WebRTC exposes your IP address

  • The test asks your browser to open a WebRTC connection, collects every IP address it would share with a website, and compares them with the IP this site sees over normal HTTP.
  • Turn your VPN or proxy on first. A leak means WebRTC shows an IP your VPN should be hiding.
IP over HTTP–
Public IP via WebRTC–
Local IP via WebRTC–

ICE candidates your browser gathered

TypeAddressProtocolWhat it means
No results yet. Run the test to list every host, server-reflexive (srflx) and relay candidate.

STUN servers used: stun.l.google.com:19302 and stun.cloudflare.com:3478. HTTP IP read from this site's own /cdn-cgi/trace.

A WebRTC leak test checks whether your browser's WebRTC feature reveals an IP address your VPN or proxy should hide. This one collects every address WebRTC would share with a website, compares it with the IP this site sees over HTTP, and flags any public IP that differs or any raw local address.

Last checked · Independent, not affiliated with Google

Your data When you press the button, your browser sends STUN requests to Google (stun.l.google.com) and Cloudflare (stun.cloudflare.com). Like any server you contact, they see your public IP. The page also requests /cdn-cgi/trace on find-extensions.com, which Cloudflare, our host, answers with the IP it sees. The comparison runs in your browser. We don't store or log your results, and nothing else is sent anywhere.

How to use the WebRTC Leak Test

  1. Connect your VPN or proxy

    Switch on the VPN app, VPN extension or proxy you want to check. Without one, there is nothing to leak: WebRTC and HTTP both show your real IP.

  2. Run the WebRTC leak test

    Press Run WebRTC leak test. Your browser gathers its network candidates for up to 6 seconds while the page reads your HTTP IP.

  3. Read the verdict

    Green means no leak or WebRTC is blocked. Red means WebRTC showed a public IP that differs from your HTTP IP, or a raw local address.

  4. Fix it and test again

    Change the setting or add the extension suggested below, then press Run again. Use Copy summary to share the result with your VPN's support team.

What is a WebRTC leak?

A WebRTC leak happens when your browser's real-time communication feature reveals your actual IP address to a website while a VPN or proxy is supposed to be hiding it. No permission prompt appears.

WebRTC is the browser technology behind video calls, screen sharing and peer-to-peer file transfer in the browser. To connect two people directly, each browser has to work out which addresses it can be reached on. It asks a STUN server (Session Traversal Utilities for NAT, defined in RFC 8489) "what IP do you see me coming from?" and hands the answers, called ICE candidates, to the page.

That is the whole problem. A VPN browser extension is usually a proxy for web requests. WebRTC traffic is UDP, and unless the browser is told otherwise it can go straight out of your normal connection. The STUN server then reports your real public IP, and the page can read it.

Web requests go through the VPN or proxy, so the website sees the VPN's IP. A WebRTC request to a STUN server can bypass a proxy and reveal your real IP to the page.

The kind of IP leak WebRTC causes is quiet: pages load through the VPN and the website still ends up with both addresses. Run a WebRTC leak test whenever you change VPN, browser or extension.

How this WebRTC leak test works

The test does what a tracking script would do, then shows you the result. It opens a WebRTC connection with no camera or microphone, collects every candidate address, and compares them with the IP address this site receives over normal HTTP.

  1. It creates an RTCPeerConnection pointed at two public STUN servers: stun.l.google.com:19302 and stun.cloudflare.com:3478.
  2. It opens a data channel and creates an offer, which makes the browser start gathering ICE candidates.
  3. It waits until gathering completes, or 6 seconds, whichever comes first.
  4. At the same time it requests /cdn-cgi/trace from this site. Cloudflare answers with the IP your HTTP request came from.
  5. It sorts each candidate into host, server-reflexive or relay, checks whether each address is public, private or hidden, and applies the verdict rules below.
The ICE candidate types you will see in the results
TypeWhere the address comes fromPrivacy meaning
hostA network interface on your deviceShould be a random .local name. A raw 192.168.x.x or 10.x.x.x is a local IP exposure.
srflx (server-reflexive)What the STUN server saw as your public IPShould match the IP websites see. If it differs while a VPN is on, you have a leak.
relayA TURN relay serverNot requested here, so normally absent. It would show the relay's IP, not yours.

The verdict rules are simple and strict. No leak: every public IP from WebRTC matches your HTTP IP and no raw local IP appears. Possible leak: WebRTC shows a public IP that differs from the HTTP one, or shows a raw private IP. WebRTC blocked: the browser has no RTCPeerConnection or gathers no candidates at all, which is the safest result.

How to read your WebRTC leak check results

Check the badge, then the three boxes. If the HTTP and WebRTC public IPs match and the local IP says hidden or none, you're fine.

No leak
WebRTC only revealed the same public IP websites already see, and local addresses were hidden behind mDNS .local names. Your VPN is doing its job for WebRTC.
WebRTC blocked
Your browser, a policy or an extension stopped WebRTC from gathering addresses. Nothing can leak. Browser video calls may not work until you allow it.
Possible leak: different public IP
WebRTC reported a public IP that is not the one your web traffic uses. With a VPN on, that is almost always your real IP. Fix it with the steps below.
Possible leak: raw local IP
WebRTC listed a private address like 192.168.1.23. It doesn't show your location, but it adds detail to a browser fingerprint.
Can't compare
The page couldn't read your HTTP IP, usually because a strict blocker stopped the request. Compare the WebRTC IP with your VPN app's IP by hand.

Does a VPN stop WebRTC leaks?

A full VPN app usually does; a VPN browser extension often doesn't on its own. The difference is what each one actually routes.

  • VPN app (system-wide): it routes all of the device's traffic, UDP included, through the tunnel. The STUN server sees the VPN's IP, so WebRTC reveals nothing new. Gaps appear with IPv6 that the VPN doesn't carry, split tunnelling, or a dropped connection with no kill switch.
  • VPN or proxy extension: it changes how Chrome sends web requests. WebRTC's UDP traffic can go around it unless the extension also changes Chrome's WebRTC setting. Good VPN extensions do this; check before you trust one.

So the honest answer is: run a WebRTC leak test with your exact setup. Browse our VPN Chrome extensions guide if you want an extension that handles this for you, and look for "WebRTC protection" or "leak protection" in its feature list.

WebRTC leak prevention: how to fix a leak

WebRTC leak prevention means telling the browser to keep WebRTC on the same path as your web traffic, or to switch it off. The option you have depends on the browser.

Where to change WebRTC behaviour, by browser
BrowserBuilt-in optionWhat to do
ChromeNo user-facing switchInstall an extension that sets Chrome's WebRTC IP handling policy, or use the WebRtcIPHandling enterprise policy on managed devices.
EdgeNo user-facing switchSame Chromium engine: use an extension from the Chrome Web Store or Edge Add-ons.
BraveYes, in privacy settingsSet the WebRTC IP handling policy to one of the stricter options.
FirefoxYes, in about:configSet media.peerconnection.enabled to false to turn WebRTC off completely.

How to disable WebRTC in Chrome

Chrome has no settings page toggle for WebRTC, so you can't fully disable it without help. Extensions can change it through the chrome.privacy.network.webRTCIPHandlingPolicy setting, available since Chrome 48. That needs the privacy permission. The four values are:

default                                 all interfaces, normal behaviour
default_public_and_private_interfaces   public + private, default route only
default_public_interface_only           only the interface web traffic uses
disable_non_proxied_udp                 no UDP outside the proxy (strictest)

default_public_interface_only keeps video calls working while hiding other interfaces. disable_non_proxied_udp is the strongest choice with a proxy-style VPN extension: WebRTC goes through the proxy or not at all.

Choosing a WebRTC leak prevent Chrome extension

A WebRTC leak prevent Chrome extension is a small add-on whose only job is to set Chrome's WebRTC IP handling policy for you. Names vary; a "WebRTC Leak Shield" or "WebRTC Control" style extension does the same thing with a different switch.

Because the job is so narrow, the checklist is short:

  • Permissions: it should need the privacy permission and little else. An extension that also asks to read every site you visit (see what "all URLs" access means) needs a very good reason.
  • Policy choice: it should let you pick disable_non_proxied_udp or default_public_interface_only, not just "on".
  • Maintenance: recent updates and a named developer.
  • Proof: run this WebRTC leak test with the extension on and off. If the result doesn't change, remove it.

If your VPN extension has built-in WebRTC protection, use that first. For more privacy tools, see the security and privacy category.

WebRTC leak test vs IP leak test vs DNS leak test

They check different paths out of your device. A WebRTC leak test checks one browser feature; an IP leak test checks the address websites see in general; a DNS leak test checks who answers your domain-name lookups. This page does not test DNS.

Three different leaks. This tool covers the first and compares against the second; a DNS leak needs a separate test.
What each leak test tells you
TestWhat it checksCovered here?
WebRTC leak testIPs your browser's WebRTC reveals to a pageYes
IP leak testThe public IP your web traffic arrives fromYes, shown as "IP over HTTP"
DNS leak testWhich DNS resolvers look up domains for youNo, use your VPN provider's DNS check

A clean result here and a failed DNS leak test means sites can't see your real IP, but your internet provider may still see which domains you visit. Run both.

What this WebRTC leak checker can't tell you

This WebRTC leak checker reports what your browser reveals at the moment you run it, to a page with no camera or microphone access. A few cases are outside that view:

  • Sites with camera or mic access: Chrome can expose raw local IPs to a page you've allowed to use your camera or microphone. Our test never asks for that permission.
  • Other apps: desktop apps with their own WebRTC stack aren't covered by browser settings.
  • Changing networks: switching Wi-Fi or a VPN reconnect can change the result. Test again after any change.
  • Blocked STUN: if a firewall blocks UDP to STUN servers, you may see only host candidates. That's still a no-leak result for this browser on this network.

Want more detail about your setup? What's My Browser shows your exact Chrome version, the Ad Blocker Test checks your content blocker, and the Chrome Flags Explorer explains experimental settings.

Prefer it in your toolbar?

This page works in any browser. If you do this every day, a Chrome extension puts it one click away. These are the picks we'd start with.

Best VPN Chrome extensions

WebRTC Leak Test: FAQs

What is a WebRTC leak?

A WebRTC leak is when your browser's WebRTC feature reveals your real IP address to a website while a VPN or proxy should be hiding it. It happens because WebRTC asks a STUN server for your public address, and that request can bypass a proxy-style VPN.

How do I check WebRTC leak exposure with this tool?

Turn your VPN on, press Run WebRTC leak test and wait up to 6 seconds. If the public IP via WebRTC matches the IP over HTTP and local addresses are hidden, there is no leak.

Is a WebRTC leak test safe to run?

Yes. It only asks your browser for addresses it would give any website that uses WebRTC. The STUN servers at Google and Cloudflare see your public IP, as any server would. We don't store the results.

Does a VPN stop WebRTC leaks?

A system-wide VPN app usually does, because it routes WebRTC's UDP traffic through the tunnel too. Many VPN browser extensions only proxy web requests, so WebRTC can bypass them unless the extension also changes Chrome's WebRTC setting. Test your exact setup.

How to disable WebRTC in Chrome?

Chrome has no built-in switch. Install an extension that sets Chrome's WebRTC IP handling policy to disable_non_proxied_udp, or ask your admin to set the WebRtcIPHandling policy. Then run the WebRTC leak test again to confirm.

What does a WebRTC leak shield extension do?

An extension of the WebRTC leak shield type changes one Chrome setting: the WebRTC IP handling policy. It stops WebRTC from using network paths outside your proxy, so the STUN server can't see your real IP. It needs the privacy permission, not access to your browsing.

What is WebRTC leak prevention?

WebRTC leak prevention is any setting that keeps WebRTC on the same network path as your web traffic, or turns it off. In Chrome that means an extension or policy; in Firefox and Brave there are built-in options.

Which WebRTC leak prevent Chrome extension should I use?

Pick one that only needs the privacy permission, lets you choose the policy, and is still maintained. If your VPN extension has built-in WebRTC protection, use that instead of adding another extension. Confirm with a WebRTC leak check before and after.

Is a WebRTC leak test the same as an IP leak test?

Not quite. An IP leak test shows the public IP your web traffic arrives from. A WebRTC leak test also collects the addresses WebRTC reveals and compares the two. This page does both and flags any difference.

Does this test my DNS? What about a DNS leak test?

No. This tool does not test DNS. A DNS leak test checks which servers resolve domain names for you, which can reveal your internet provider even when your IP is hidden. Use your VPN provider's DNS check for that.

Why does the test show a .local address?

That is good. Since Chrome 76 in 2019, Chrome replaces private IPs in WebRTC host candidates with a random name ending in .local (mDNS). Other browsers have similar protections. The page sees a meaningless name instead of your local address.

Why is my WebRTC IP leak an IPv6 address?

Your VPN probably tunnels IPv4 only, so WebRTC found a route over your real IPv6 connection. Turn on the VPN's IPv6 leak protection, or disable IPv6 on the device, then test WebRTC leak exposure again.

Can I test WebRTC leak exposure on my phone?

Yes. The test runs in mobile browsers that support WebRTC, including Chrome on Android and Safari on iPhone. On iPhone, every browser uses Apple's WebKit engine, so results are similar across browsers.

Is an IP leak WebRTC causes dangerous?

It reveals your real IP to the website, which can show your approximate location and internet provider and link your visits across sessions. It can't access your files. It does defeat the main reason most people use a VPN.

Sources and further reading