WebRTC Leak Test

WebRTC can reveal the address your traffic really leaves from, even when a VPN is on. Press the button to see the public addresses your browser reports, and compare them with the address our server sees.

Free Runs in your browser Checked Tuesday, November 10, 2026

This tool runs in your browser. It loads reference data from our server; what you enter is not sent to us.

How to use it

  1. Turn on your VPN, then open this page and press Run the test.
  2. Wait a few seconds while the page contacts two public STUN servers.
  3. Read the verdict. If it says a public address differs, turn the VPN off and on again, then run the test once more.

What the test does

WebRTC lets browsers connect directly to one another, for calls and file sharing. To find a route it gathers candidate addresses: the device's own addresses, and the public address a STUN server reports back. The test starts that gathering with two public STUN servers, Google's stun.l.google.com and Cloudflare's stun.cloudflare.com, and reads the candidates the browser finds.

The public address a STUN server reports is the address your traffic leaves from. If it is not the address our server sees for your request, a VPN may not be carrying all your traffic. The STUN servers see your public address, as they must to answer, and nothing else from this page.

How to stop WebRTC leaks, by browser

Each browser offers different controls, and the steps change between versions. Check the result of this test after every change.

  • Firefox: open about:config and set media.peerconnection.ice.default_address_only to true, so WebRTC uses only the default route. Setting media.peerconnection.enabled to false switches WebRTC off altogether, which stops browser calls. Mozilla's wiki describes both settings.
  • Edge: Microsoft documents a policy called WebRtcLocalhostIpHandling, set by administrators. Its value AllowPublicInterfaceOnly makes WebRTC use only the public interface. We did not find a setting for ordinary users.
  • Brave: its settings include a WebRTC IP option, Default Public Interface Only, described in Brave's documentation. The menu position depends on the version.
  • Chrome: we did not find an official setting for ordinary users. Extensions that apply the same limit are the usual route; choose one whose code you trust.
  • Safari: we did not verify a setting for WebRTC addresses.
  • Any browser: a VPN that blocks WebRTC traffic, or a VPN that routes the whole device, removes the problem at its source. Run this test again afterwards.

What this test does not show

  • It does not test every route. A connection can use an address that the STUN servers did not report.
  • It cannot tell which network interface a candidate came from, so an address that differs may come from an ordinary connection.
  • A hidden .local name stands for a local address the browser did not reveal; the test cannot read it.

Example: a VPN that leaks

The addresses below are documentation addresses from RFC 5737, standing in for real ones. Our server sees the VPN server's address, but the browser also reports the address of the ordinary connection.

The verdict is then a possible leak, and the page lists the address that differs.

Address Seen by Result
203.0.113.7 Our server The VPN's address
198.51.100.9 The browser (WebRTC) Differs: the ordinary connection
192.168.1.10 The browser (local) Local address, not public

Frequently asked questions

Why does WebRTC reveal my IP address?

WebRTC gathers every address the device has, so that it can find a route to another browser. A VPN carries your web traffic, but some WebRTC traffic can still leave through the ordinary connection unless the browser or the VPN is set to stop it.

Does this test send my IP address anywhere?

Your address reaches the two STUN servers during the test, because they must reply to it. Our server also sees the address, as it does for every request, and does not store it. Nothing else you type or click is sent.

Why does the test say a hidden .local name is not my address?

Browsers replace a device's private address with a random name ending in .local, so a web page cannot read the address itself. The name is a placeholder; the test counts these names but cannot look behind them.

What if the verdict says a public address differs but I have no VPN?

Your device may have an IPv6 address that your IPv4 traffic does not use, and the test reports it. Check your connection's IPv6 settings before you conclude that anything leaks.

Why does the test ask for no camera or microphone permission?

It does not need them. Granting camera or microphone access would make the browser show your real local address, so the test leaves that choice to you.

Can I trust a VPN that claims to block WebRTC?

Test it. Run this page with the VPN on and read the verdict. A claim is not proof, and a leak can come back after an update or a change of network.

Sources

Figures and text last checked on Tuesday, November 10, 2026.

We use necessary cookies to run the site. With your consent, Google also uses advertising cookies to show personalised ads. If you reject them, you still see ads, but they are not personalised.