A WebRTC leak silently exposes your real IP address to every website you visit β even when your VPN is active and showing a completely different IP. Testing takes under 30 seconds using whatsmy.fyi, which runs the test automatically every time you load the page.
What Is a WebRTC Leak?
WebRTC (Web Real-Time Communication) is a browser API that enables peer-to-peer features like video calls, voice chat, and file sharing without plugins. To establish direct connections between browsers, WebRTC needs to discover the device's IP addresses β including local network IPs and, critically, the real public IP address.
The problem: WebRTC bypasses your VPN's IP masking at the browser level. Even with a VPN active, a website can use a small JavaScript snippet to trigger WebRTC and read your real home IP address from the browser β without your knowledge or consent.
Read the full background in our guide on what WebRTC leaks are and how they work.
Step 1: Test With Your VPN Off (Get Your Real IP)
- Make sure your VPN is disconnected.
- Open whatsmy.fyi and note:
- Your public IP address (shown in the hero section at the top)
- The WebRTC Leak Test result (shown in the WebRTC card)
- Without a VPN, the WebRTC card will typically show your real IP β this is expected. Write it down.
Step 2: Connect Your VPN and Re-Test
- Connect your VPN and choose a server.
- Reload whatsmy.fyi (do not just refresh β clear any cached state with a hard reload: Cmd+Shift+R on Mac, Ctrl+Shift+R on Windows).
- Compare the results:
- Hero IP section: Should now show the VPN server IP, not your home IP.
- WebRTC Leak Test card: Should show "No leak detected" with the VPN IP. If it shows your original home IP from Step 1, you have a confirmed WebRTC leak.
Understanding the WebRTC Test Results
- No leak detected (safe): WebRTC is either disabled or returning the same IP as your VPN connection. Your real IP is not being exposed.
- Leak detected: WebRTC returned an IP that differs from your VPN IP. If that IP matches your real home IP from Step 1, the leak is confirmed.
- Local IP only: WebRTC is returning a private/local IP address (192.168.x.x or 10.x.x.x). This is a partial leak β not your public home IP, but still reveals your local network structure.
How to Fix a WebRTC Leak
Fix in Firefox (Recommended β Easiest)
- Type about:config in the Firefox address bar and press Enter.
- Accept the warning.
- Search for media.peerconnection.enabled.
- Double-click it to set the value to false.
- This completely disables WebRTC. Video calling apps that rely on WebRTC will no longer work in this Firefox profile, but your IP will not leak.
Fix in Chrome (Extension Required)
Chrome does not allow disabling WebRTC via settings. You have two options:
- uBlock Origin: Go to the uBlock Origin dashboard β Settings tab β check "Prevent WebRTC from leaking local IP addresses". This limits what WebRTC exposes without disabling it entirely.
- WebRTC Leak Prevent: A dedicated Chrome extension that gives you fine-grained control over WebRTC IP handling policy (default, default_public_interface, disable_non_proxied_udp).
Fix in Safari
Safari on macOS has WebRTC support but historically has been more conservative in what it exposes. To disable WebRTC entirely:
- Safari β Preferences β Advanced β check "Show Develop menu in menu bar".
- Develop menu β Experimental Features β uncheck "WebRTC".
Note: this option may not be present in all Safari versions. If unavailable, use a VPN that handles WebRTC at the system level (not just a browser extension).
Fix via Your VPN Client
Premium VPN clients (Mullvad, ProtonVPN, ExpressVPN) offer WebRTC leak protection at the application level, routing WebRTC traffic through the VPN tunnel. This is the cleanest solution β it prevents leaks without disabling WebRTC functionality in your browser.
Check your VPN app settings for an option labelled "Prevent WebRTC leaks", "WebRTC protection", or similar. Enable it, reconnect, and re-test on whatsmy.fyi.
Step 3: Verify the Fix
- After applying your chosen fix, reload whatsmy.fyi with the VPN still connected.
- The WebRTC Leak Test card should now show:
- "No leak detected", or
- The same IP as your VPN connection
- If the leak persists, your VPN client may be using a browser extension that is not sufficient β switch to a system-level VPN fix (uBlock Origin on Chrome, or about:config on Firefox).
Does a DNS Leak Also Expose My IP?
A DNS leak is a separate issue. It does not expose your IP address, but it does let your ISP see which domains you are visiting. WebRTC and DNS leaks are independent β fix both for complete protection. If you are verifying your VPN is working, test for both.
Why Does WebRTC Leak With a VPN?
VPN software typically intercepts traffic at the operating system network level. WebRTC makes direct calls to the OS network interfaces before those interfaces are fully within the VPN tunnel β or it uses STUN server requests that bypass the tunnel entirely. This is a browser-level behaviour that system-level VPN tunnels cannot always intercept.
The underlying cause is the same reason that websites can detect VPN use: the browser exposes more information than the VPN tunnel is aware of.
Frequently Asked Questions
I disabled WebRTC β will video calls still work?
Applications that rely on WebRTC (Google Meet, Zoom web, Discord in browser) will not work in a browser with WebRTC fully disabled. Use native desktop apps for those services, which do not depend on browser WebRTC.
Is a local IP leak (192.168.x.x) dangerous?
A local IP leak reveals your internal network IP, which websites cannot use to identify you externally. However, it does confirm that WebRTC is active and could be combined with other fingerprinting techniques. Block it anyway β there is no benefit to exposing it.
Do mobile browsers have WebRTC leaks?
Mobile Chrome and Firefox support WebRTC and can leak the same way as desktop browsers. Mobile Safari has been more restrictive historically. Use the whatsmy.fyi WebRTC test on your mobile browser to check your specific device and browser combination.



