WebRTC IP Leak Test
Detect whether WebRTC exposes your real IP β critical when using a VPN. Local, public IPv4, IPv6, and mDNS detection.
What's a WebRTC leak?
WebRTC (Web Real-Time Communication) is the browser API used for video chat, voice calls, screen sharing, peer-to-peer file transfer. To make peer-to-peer connections work behind NAT, WebRTC uses a technique called ICE β which involves enumerating your local network interfaces and asking STUN servers for your public address. The results are sometimes exposed to JavaScript on the web page.
For VPN users, this means: even though your traffic appears to come from the VPN's IP, WebRTC may reveal your real IP to any website that asks. This is the "WebRTC leak."
What this test detects
- Local IPs β your machine's private addresses (192.168.x.x, 10.x.x.x, etc.). Mostly harmless, but reveals your LAN structure.
- Public IPv4 β the public IP your browser sees from STUN. If this matches your VPN exit, you're fine. If it shows your real ISP IP while using a VPN β that's a leak.
- Public IPv6 β same as above for v6. Many VPNs handle v4 but leak v6.
- mDNS hostnames β Chrome and Safari now obfuscate local IPs as mDNS hostnames (random UUID-like values ending in .local). This is a privacy improvement.
What to do if you have leaks
- VPN setting: Most modern VPN clients have a "WebRTC leak protection" toggle. Turn it on.
- Browser extension: uBlock Origin can block WebRTC IP exposure (Settings β Privacy β Prevent WebRTC from leaking local IP addresses).
- Firefox: Set
media.peerconnection.enabled = falsein about:config. Breaks video calls but stops all WebRTC. - Brave: Built-in "WebRTC IP Handling Policy" in Settings β Privacy.
If you don't use a VPN, WebRTC isn't really "leaking" anything β websites already see your real IP through normal HTTP. WebRTC leak protection mostly matters when you're using a VPN or proxy and want to ensure your real IP isn't exposed to the sites you visit.
