What is WebRTC?
WebRTC (Web Real-Time Communication) is the browser technology behind video calls, screen sharing and peer-to-peer file transfer. To connect two people directly, it needs to know each side's network addresses, so a web page is allowed to ask the browser to gather them. That request does not need your permission, and it bypasses the normal web path that a VPN or proxy controls.
Why WebRTC can leak your IP
A VPN changes the address that websites see on ordinary connections. WebRTC uses a different mechanism. It asks a STUN server, "what address are you contacting me from?", and it also lists the addresses on your device's network interfaces. If a script reads those results, it can learn:
- your real public IP address if the STUN request escapes the VPN tunnel;
- your public IPv6 address if the VPN does not cover IPv6;
- your local network address (like 192.168.1.20), which helps fingerprint you.
How this test works
This page creates a WebRTC connection locally, asks a STUN server for your reflexive address and collects every candidate address the browser offers. It then compares each public address with the IPv4 and IPv6 addresses our server sees. A public address that differs is reported as a leak. Everything is computed in your browser. We receive nothing from the test.
The default STUN server is operated by Google, so Google briefly sees the address your browser contacts it from. That is the same address it would see if you visited any Google site. Self-hosters can change it with the STUN_SERVERS setting.
Reading the result
| Result | Meaning |
|---|---|
| No WebRTC leak detected | WebRTC revealed nothing beyond the address websites already see. |
| Leaking an IP address | The browser revealed a different public address. With a VPN on, it is most likely your real one. |
| Local address exposed | A private address like 192.168.x.x was shared. Harmless to reach, but a fingerprinting aid. |
| No public address revealed | The STUN request was blocked or WebRTC is restricted. Good for privacy, but we could not fully verify. |
Browser behaviour in practice
Modern browsers have reduced the problem. Chrome, Edge, Safari and Firefox hide local addresses behind random .local names unless you grant camera or microphone access. Brave and Firefox can also restrict which interfaces WebRTC uses. Public addresses are still exposed through STUN unless WebRTC is limited or disabled. Our guide to stopping WebRTC leaks has settings for each browser.
Last reviewed 2026-10-26. Found a mistake? Report a correction (how we handle them).