WebRTC Leak Test: Check if Your Browser Exposes Your Real IP
Free WebRTC leak test. Learn why WebRTC can expose your real IP address even on a VPN, and how to fix it in Chrome, Firefox, Edge, Safari and Brave.
Disclosure: Some links go to VPN providers via our /go/ links and may earn us a commission in future, at no cost to you. Disclosure
On this page
- What WebRTC is
- How the leak happens
- What browsers changed
- How to run the test
- How to fix a WebRTC leak
- Option 1: Use your VPN’s built-in protection
- Option 2: Firefox
- Option 3: Chrome and Edge
- Option 4: Brave
- Option 5: Safari
- Option 6: Mobile
- Does a WebRTC leak matter?
- Reading the results: real examples
- A quick note on extensions
- Related tests and guides
- FAQ
- Sources
Last reviewed: 30 October 2026 · By the CloakMyIPAddress Privacy Desk
Quick answer: WebRTC is the browser technology behind in-browser video calls. To connect two people it collects your IP addresses, and any website can ask for them with a few lines of JavaScript. If your VPN doesn’t route this through the tunnel, a site can see your real public IP. Run the test above with your VPN on. If it shows an IP that isn’t your VPN’s, fix it with your VPN’s leak protection, a browser setting, or the official extension listed below.
What WebRTC is
WebRTC (Web Real-Time Communication) is a set of web standards that lets browsers exchange audio, video and data directly, without plugins. It powers web versions of Google Meet, Microsoft Teams, Discord, Jitsi and many customer-support chat widgets.
To connect two browsers that are both behind routers, WebRTC uses a process called ICE. Your browser gathers “candidates” — addresses where it might be reachable:
- Host candidates – your device’s local addresses (e.g. 192.168.1.23).
- Server-reflexive candidates – your public IP, discovered by asking a STUN server “what address do you see me coming from?”
- Relay candidates – an address on a TURN relay server.
A website can create a WebRTC connection object and read these candidates without asking you for camera or microphone permission.
How the leak happens
On a VPN, normal web traffic goes through the tunnel, so websites see the VPN’s IP. But if the browser’s STUN request goes out over your regular connection — or the browser reveals interface addresses directly — the server-reflexive candidate is your real public IP. The site can then compare it with the IP it sees for the page and spot the difference.
What browsers changed
The IETF standard RFC 8828 (WebRTC IP Address Handling Requirements) defines modes for limiting what’s exposed. Since around 2019–2020, Chrome, Firefox and Safari hide local host addresses behind random mDNS names ending in .local unless you grant camera/mic access. That fixed most local IP leaks. The public IP leak still depends on whether your traffic, including UDP STUN requests, is forced through the VPN.
How to run the test
- Disconnect your VPN, run the test, and note your real public IP.
- Connect your VPN (kill switch on) and reload the page.
- Run the test again.
- Pass: the only public IP shown is your VPN’s. Local entries appear as random
.localnames or private ranges (10.x, 172.16–31.x, 192.168.x) — those are normal. - Leak: your real public IP from step 1 appears anywhere in the results.
- Repeat in each browser you use.
How to fix a WebRTC leak
Option 1: Use your VPN’s built-in protection
Full-device VPN apps generally route all UDP traffic, including STUN, through the tunnel when the kill switch / “block connections without VPN” option is on. Browser extensions from VPN providers can also restrict WebRTC. If your VPN leaks with its app connected and kill switch on, report it to the provider or switch — providers with published independent audits include Proton VPN, NordVPN, Surfshark and ExpressVPN.
Option 2: Firefox
- Type
about:configin the address bar and accept the warning. - Search
media.peerconnection.enabledand set it to false to disable WebRTC entirely, or - Keep WebRTC but limit it: set
media.peerconnection.ice.default_address_onlyto true (only the default route is used) andmedia.peerconnection.ice.no_hostto true (no local addresses).
Disabling WebRTC breaks browser video calls; the second option usually doesn’t.
Option 3: Chrome and Edge
Chrome has no built-in on/off switch. Install Google’s own WebRTC Network Limiter extension from the Chrome Web Store and choose “Use my proxy server (if present)” or the most restrictive option. This forces WebRTC to follow the same route as normal traffic. Edge can use the same extension.
Option 4: Brave
Brave → Settings → Privacy and security → WebRTC IP handling policy → choose “Disable non-proxied UDP”.
Option 5: Safari
Safari exposes WebRTC candidates only after a site is granted camera/microphone access, and hides local IPs by default. Keep camera/mic permissions set to “Ask” (Safari → Settings → Websites → Camera/Microphone) and use a full-device VPN.
Option 6: Mobile
On iPhone and Android, the leak is mostly prevented by using an always-on, full-device VPN (Android: Settings → Network & internet → VPN → ⚙ → Always-on VPN + Block connections without VPN). Firefox for Android also supports about:config.
Does a WebRTC leak matter?
If you use a VPN to keep your location or home IP private from websites, yes — a WebRTC leak defeats that silently. If you use a VPN only to secure public Wi-Fi, the leak matters less, because your traffic is still encrypted. Either way, it takes two minutes to fix.
Reading the results: real examples
| What the test shows | Meaning | Action |
|---|---|---|
Only one public IP, matching the VPN server; local entries as xxxx.local | Pass | None |
A private address like 192.168.1.23 | Local address visible; not your public IP | Low risk; enable mDNS/limit host candidates if you want |
| A second public IP that matches your home connection | Leak | Apply the fixes above, re-test |
| An IPv6 address from your home provider | IPv6 leak via WebRTC | See IPv6 leak test |
| No candidates at all | WebRTC disabled or blocked | Fine for privacy; browser video calls may not work |
A quick note on extensions
Many “WebRTC blocker” extensions in browser stores are made by unknown developers. An extension that can read every page you visit is a privacy risk in itself. Prefer browser settings, your VPN provider’s official app or extension, or Google’s own WebRTC Network Limiter, and remove extensions you no longer use.
Related tests and guides
FAQ
What is a WebRTC leak? A website reading your real IP via the browser’s WebRTC feature despite a VPN.
Should I disable WebRTC? Only if your VPN/browser doesn’t stop the leak; disabling breaks browser video calls.
Do modern browsers still leak? Local IPs are now masked by mDNS; public IP leaks depend on routing.
Sources
- IETF RFC 8828 – WebRTC IP Address Handling Requirements: https://www.rfc-editor.org/rfc/rfc8828
- IETF RFC 8445 – Interactive Connectivity Establishment (ICE): https://www.rfc-editor.org/rfc/rfc8445
- MDN – WebRTC API: https://developer.mozilla.org/en-US/docs/Web/API/WebRTC_API
- Google – WebRTC Network Limiter extension: https://chromewebstore.google.com/detail/webrtc-network-limiter/npeicpdbkakmehahjeeohfdhnlpdklia
- Brave – WebRTC IP handling: https://github.com/brave/brave-browser/wiki/WebRTC-Custom-Settings