Skip to main content
Free tool · runs in your browser

WebRTC leak test

A proxy or VPN hides your address from websites, but WebRTC can still hand it out. This test shows every address your browser offers to a WebRTC connection and compares it with the one websites see.

  • No sign-up
  • No limits
  • Nothing stored

[ HOW IT WORKS ]

How the WebRTC Leak Test works

  1. Start the test

    Your browser opens a WebRTC connection to nobody, exactly as a website could.

  2. Collect the addresses

    It lists the local and public addresses the browser offers, one public one found through Cloudflare’s STUN server.

  3. Compare

    Those addresses are compared with the IP websites see for you. A different public address is a leak.

What is a WebRTC leak?

WebRTC lets browsers make calls and share files directly. To connect, the browser lists its network addresses and asks a STUN server which public address it reaches the internet from. Any website can start that process with a few lines of JavaScript and read the result, with no prompt and no permission.

If your proxy is set only in the browser, or your VPN lets UDP traffic past, the STUN answer comes from your real connection, not from the proxy. The website then knows your real IP address even though every page request went through the proxy. That is a WebRTC leak.

How to read the result

No leak: WebRTC shows no public address, or only the same address websites already see. Leak: WebRTC shows a public address of the same kind (IPv4 or IPv6) that websites do not see; that is most likely your real address. Check: WebRTC shows an address of the other kind, for example IPv6 while websites see IPv4. Look it up to see whether it belongs to you or to your proxy.

Local addresses such as 192.168.x.x identify a device on your home or office network, not you on the internet. Modern browsers hide them behind a random name ending in .local.

How to stop WebRTC leaks

Firefox: set media.peerconnection.enabled to false in about:config. Chrome and Edge: use an extension or a policy that limits WebRTC to the proxied connection (WebRtcIPHandling set to disable_non_proxied_udp). Safari keeps local addresses hidden; a VPN that captures all traffic stops the public leak too.

For automation, launch Chromium with --force-webrtc-ip-handling-policy=disable_non_proxied_udp (pass it in Playwright’s or Selenium’s browser arguments), or set the Firefox preference above in the browser profile. Then run this test again through the proxy.

Setting up a proxy? The documentation has ready-to-run examples for Python, Playwright and Selenium.

[ FAQ ]

Frequently asked questions

Is the WebRTC leak test safe?

Yes. It only reads the addresses your browser would give any website. Nothing is installed, and the results stay on your screen.

Does the test send my data to your server?

No. Your browser asks Cloudflare’s public STUN server for its public address, and reads the address websites see from Cloudflare’s edge on this site. Your addresses are never sent to our servers.

What does a .local address mean?

Your browser hid a local network address behind a random mDNS name. That is the private, safe behaviour.

Do proxies prevent WebRTC leaks?

Not by themselves. An HTTP or SOCKS proxy carries web requests, while WebRTC uses its own UDP connections. Limit WebRTC in the browser, as described above, to keep it behind the proxy.

Why does it say WebRTC is off?

Your browser or an extension disabled WebRTC. Nothing can leak through it then.

[ READY WHEN YOU ARE ]

Free tools today. Real residential IPs when you need them.

Plans from $0.49/GB. No subscription, no monthly minimum: start with a $0.99 package and pay in crypto.

  • No subscription
  • Crypto payments
  • 30-day plan validity