WebRTC Leak Test: Check Whether Your Real IP Leaks
ProxyField's free WebRTC leak test gathers your browser's WebRTC candidates through 2 STUN servers, ProxyField's own and Cloudflare's, lists every IP address they expose, public and local, IPv4 and IPv6, and compares each public one with the IP websites see, so you know whether your real IP leaks behind a proxy or VPN.
It runs when the page opens, with no sign-up and no camera or microphone permission, and ends in one of 4 verdicts.
- IP address
- —
- Network
- —
- Location
- —
- Local addresses
- —
- mDNS names
- —
- Cameras
- —
- Microphones
- —
- Speakers
- —
| Address | Type | Network | Location | Same as websites see |
|---|---|---|---|---|
| Gathering ICE candidates… | ||||
Raw ICE candidates
None yet.
Run it twice to be sure: once with your proxy or VPN off, to see your real addresses, and once with it on. A public address from the first run that shows up in the second is the leak.
The test runs in your browser, and like any STUN server, the 2 it asks see the address each request comes from. Nothing is saved: there is no account, no record of the addresses and nothing in browser storage, and ProxyField's server keeps connection details in memory for up to 5 minutes, then drops them. The page counts the cameras and microphones your browser lists without reading their names, and it never asks for permission.
| Question | Short answer |
|---|---|
| Does WebRTC leak my real IP? | Only if the test shows a public address other than the IP websites see (which addresses count) |
| Is a local IP a leak? | A .local name is not; a private address such as 192.168.1.20 is a warning, not your public IP |
| How do I stop a leak? | Set WebRTC to use the proxy, or turn it off, in your browser or profile (fixes) |
How to check for a WebRTC leak
Compare two runs in the same browser or profile: one without the proxy or VPN, one with it.
-
Turn the proxy or VPN off, open this page and note the public addresses WebRTC shows: those are your real ones.
-
Turn the proxy or VPN on, in the same browser or profile, and press Run again.
-
Compare: the verdict should be No leak, and no public address from step 1 may appear in the list.
What the results mean
The verdict compares the public addresses WebRTC exposes with the IP the page sees over HTTP, and the list shows each address with its type.
- No leak
- Every public address WebRTC exposes is the IP websites see, so page scripts learn nothing new.
- Leak: WebRTC shows another public IP
- A public IPv4 or IPv6 address that is not the IP websites see; behind a proxy or VPN, it is usually your real one.
- WebRTC is blocked
- No candidates at all, because WebRTC is off, an extension or policy blocks it, or the network drops STUN traffic; there is no leak, but WebRTC calls will not work.
- Local IP exposed
- A warning: a private address of your local network shows instead of a
.localname; it is not your public IP, but it adds detail to your fingerprint. - Public (srflx)
- An address a STUN server saw your request come from, with its country and ISP.
- Local (host)
- Your device's own address, hidden behind a random
.localname or shown as a private IP. - Relay
- The address of a TURN relay server, not yours.
What a WebRTC leak is, and why a proxy does not stop it
WebRTC is the browser's built-in way to run calls, screen sharing and file transfers directly between two browsers. To connect, it gathers ICE candidates: every address another peer could reach you at. It learns your public address by asking a STUN server over UDP, and any script on the page can read the answer, with no permission prompt.
A proxy set in the browser or the system carries your web requests over TCP. WebRTC's STUN requests are UDP packets that leave your network directly, so the STUN server, and the page that reads its answer, sees your real public IP while every other request shows the proxy's. Browsers do not send WebRTC's UDP traffic through an HTTP or SOCKS5 proxy, so a proxy alone does not cover WebRTC; the fix is a browser or profile setting.
A VPN is different: it tunnels all of the device's traffic, UDP included, so STUN sees the VPN server's address. VPNs leak through WebRTC when they skip IPv6, when split tunneling leaves the browser out, or when the connection drops.
Local addresses are less of a problem today. Current browsers hide your device's address on the local network behind a random name ending in .local (mDNS), unless the page has camera or microphone permission, so the leak that matters is the public one.
How the test finds every address
The page opens a WebRTC connection that goes nowhere, with ProxyField's and Cloudflare's STUN servers, and collects every candidate your browser offers:
- Host candidates are your device's own addresses: a
.localname, or a private IP if the browser shows it. - Server-reflexive (srflx) candidates are the public addresses the STUN servers saw: the ones that can leak.
- Relay candidates come from a TURN relay server; the test lists them if any appear, and they are the relay's address.
Each public address gets its country and ISP from the DB-IP Lite databases, the same IP data as the IP checker, and is compared with the IP your browser used to load the page. If your network has IPv6, a STUN server can see a public IPv6 address even when your IPv4 traffic goes through the proxy, and that counts as a leak too. The raw list shows each candidate's type, protocol (UDP or TCP), address and port.
Public, local and relay addresses: which ones are a leak
The examples use documentation addresses; yours will differ.
| What you see | Example | A leak? |
|---|---|---|
| A public address that is the IP websites see | 203.0.113.45 | No |
| A public address that is not the IP websites see | 198.51.100.7 | Yes: usually your real IP |
| A public IPv6 address of your own provider | 2001:db8:4a1c::25 | Yes |
A .local name | 1f0c7e2a-4b5d-4c3e-9a8f-6d2b1e0c9a77.local | No: a random name |
| A private IPv4 address | 192.168.1.20, 10.0.0.5 | Warning: Local IP exposed |
| A relay address | the TURN server's | No |
A private address does not reveal your public IP, but it tells a site about your network, such as your router's address range, and it adds detail to your fingerprint. An exposed private IP usually means an old browser, or a setting or extension that turned the .local names off.
How to stop WebRTC leaks in Chrome, Firefox, Edge, Brave and Safari
The setting names below are the ones the apps show; labels can differ slightly between versions.
Chrome
Chrome has no WebRTC switch in its settings. Its WebRTC IP handling policy decides which network paths WebRTC may use, with 4 values: default, default_public_and_private_interfaces, default_public_interface_only and disable_non_proxied_udp. Only the last one keeps WebRTC off your direct connection: WebRTC may then use only the proxy or a relay, so no public address of yours shows up. You can set it with Chrome's WebRtcIPHandling enterprise policy, or with an extension that sets the policy. A setting that only hides local addresses, the public-interface-only value, still shows your real public IP behind a browser proxy.
Firefox
Open about:config. Setting media.peerconnection.enabled to false turns WebRTC off entirely: no leak, and no WebRTC calls. Setting media.peerconnection.ice.default_address_only to true limits WebRTC to your default network path, which hides other interfaces but not your public IP behind a browser proxy.
Edge
Edge is built on Chromium and handles WebRTC like Chrome: there is no switch in its settings, and the same 4 policy values are set through Edge's own group policy for WebRTC or through an extension.
Brave
Brave has the setting built in: Settings, Privacy and security, WebRTC IP handling policy. Choose Disable non-proxied UDP to keep WebRTC on the proxy, then press Run again here.
Safari
Safari hides local addresses and has no setting in its normal preferences to turn WebRTC off or route it through a proxy. Behind a proxy set in macOS or iOS network settings, its STUN requests still leave directly, so test with the proxy on; if your real IP shows, use a VPN that tunnels all traffic, or another browser for work through a proxy.
Phones
Most mobile browsers have no WebRTC switch, and the proxy setting of a Wi-Fi network does not cover WebRTC either. A VPN that tunnels all traffic is the reliable fix; test with it on.
WebRTC settings in antidetect browsers
Antidetect browsers set WebRTC per profile, and AdsPower, GoLogin, Dolphin Anty, Multilogin, Incogniton and BitBrowser each have the setting among the profile's fingerprint options. The usual modes:
- Replace the IP with the proxy's, called Altered, Replace, Forward or Based on IP depending on the app: page scripts see the proxy's IP as your public address, and this test shows No leak with the proxy on.
- Real: WebRTC works as in a normal browser, which behind a proxy means a leak.
- Disabled: WebRTC is off, and the test shows WebRTC is blocked. Some sites treat a browser without WebRTC as unusual, because ordinary browsers have it.
One caveat: if a mode only rewrites what page scripts can read while the STUN request still leaves your own connection, a site that runs its own STUN server can see where the request came from. A mode that sends WebRTC through the proxy, or Disabled, avoids that. Then match the rest of the profile to the proxy: time zone, language and geolocation based on the IP. Setup for each app: AdsPower, GoLogin, Dolphin Anty, Multilogin, Incogniton and BitBrowser.
Proxy or VPN: which one covers WebRTC
| Setup | Public address WebRTC shows | A leak? |
|---|---|---|
| Proxy in the browser, WebRTC on its default setting | your real IP | Yes |
| Proxy in the browser, WebRTC policy set to disable non-proxied UDP, or WebRTC off | none, or the proxy's | No |
| Antidetect profile with WebRTC replaced by the proxy's IP | the proxy's | No |
| Proxy in the Windows or macOS network settings | your real IP | Yes: a system proxy carries web traffic, not WebRTC's UDP |
| VPN that tunnels all traffic | the VPN server's | No |
| VPN without IPv6 or with split tunneling | your real IPv6 or IPv4 address | Yes |
More on what each one hides: proxy vs VPN and residential proxy vs VPN.
Why WebRTC results differ between leak test sites
- STUN servers. Each test asks its own STUN servers, and a server reachable only over IPv4 cannot reveal an IPv6 address. This test uses ProxyField's and Cloudflare's.
- Timing. Gathering candidates takes a moment, and a test that reads too early misses some.
- Permissions. A site where you allowed the camera or microphone gets your local addresses without the
.localnames. - Comparison. Some tests list addresses without comparing them with the IP they see over HTTP, and that comparison is what tells you whether an address is a leak.
- Rotation. A rotating proxy can show another exit IP on each page load, so compare the addresses within one run.
Cameras, microphones and what else WebRTC shows
Your browser lists its cameras and microphones to any page; without permission it gives no names, only how many there are of each kind. The test shows those counts because they are part of your fingerprint: antidetect browsers set them per profile, and a count that does not fit the device, such as a laptop profile with no microphone, stands out. The page reads the counts and never asks for access.
Need proxies for your browser or antidetect profiles?
A WebRTC leak is fixed in the browser, not by the proxy: once WebRTC uses the proxy's IP or is off, the address scripts see is your proxy's, and its type is what sites judge. ProxyField residential proxies cost from $1.95/GB and mobile proxies from $2.45/GB, over HTTP, HTTPS and SOCKS5; start with the Easy Trial: 1 GB for $2.95. For one fixed IP per profile, dedicated ISP proxies cost from $2.29 per IP for 30 days ($2.29 in Turkey and Czechia, $2.79 in every other country).
Set the proxy up in the browser or profile (Chrome, Firefox, antidetect browsers), set WebRTC as above, and run this test again with the proxy on. Prices for every volume are on the pricing page.
WebRTC Leak Test FAQ
Can't find your answer? Support is on 24/7 live chat, including help with setup and integration.
What is a WebRTC leak test?
ProxyField's WebRTC leak test lists every address WebRTC exposes in your browser, public and local, and compares the public ones with the IP websites see, ending in one of 4 verdicts. A leak means any script on a page can read a public IP that is not your proxy's or VPN's, usually your real one.
Is a WebRTC leak dangerous?
It defeats the point of a proxy: a page script can read your real public IP and send it to the site, which then knows your provider and rough location and can link sessions you meant to keep apart. It does not give anyone access to your device. Fix it if you use a proxy or VPN to change the IP sites see.
What is WebRTC used for?
Video and voice calls, screen sharing and file transfers that run directly between browsers, in apps such as Google Meet and in many web chats. It is built into every major browser and on by default, which is why a page can use it without asking.
Does a VPN prevent WebRTC leaks?
Usually, because a VPN tunnels all traffic, UDP included, so STUN sees the VPN server's IP. It leaks when the VPN skips IPv6, when split tunneling leaves the browser out, or when the connection drops. Run this test with the VPN on to see.
Can a SOCKS5 proxy stop a WebRTC leak?
Not on its own. Browsers do not send WebRTC's UDP traffic through a SOCKS5 or HTTP proxy, so the STUN requests leave your connection directly. Set WebRTC to use the proxy, or turn it off, in the browser or antidetect profile.
How do I disable WebRTC in Chrome?
Chrome has no switch for it. Set its WebRTC IP handling policy to disable_non_proxied_udp, through the WebRtcIPHandling enterprise policy or an extension that sets it, so WebRTC cannot use your direct connection. To turn WebRTC off completely, use a browser that allows it, such as Firefox.
How do I turn off WebRTC in Firefox?
Open about:config, search for media.peerconnection.enabled and set it to false. WebRTC is then off: this test shows WebRTC is blocked, and calls in the browser stop working until you set it back to true.
Does disabling WebRTC break websites?
Only the parts that use it: video and voice calls, screen sharing and some file transfers and chats. Ordinary pages load as before. Some anti-fraud scripts note that WebRTC is missing, because most browsers have it, so antidetect profiles often replace the IP instead of turning WebRTC off.
What is an mDNS .local address in a WebRTC test?
A random name, such as 1f0c7e2a-4b5d-4c3e-9a8f-6d2b1e0c9a77.local, that stands in for your device's local IP address. Browsers use it so pages cannot read your local network address without camera or microphone permission. It is not a leak: the name is random and reveals nothing about your network.
Why does the WebRTC test show my IPv6 address?
Your network has IPv6, and a STUN server saw a request over it. If that IPv6 address is not the IP websites see, it is a leak, even when your IPv4 traffic goes through the proxy or VPN. Turn IPv6 off for that network adapter, or use a VPN that tunnels IPv6 too.
Show 11 more questionsShow fewer questions
What are STUN and TURN servers?
A STUN server tells a browser which public address its request came from, so the browser can offer that address to the other side of a call; that answer is what a leak test reads. A TURN server relays the call's traffic when a direct connection fails, and its address appears as a relay candidate, not yours.
What does srflx mean in a WebRTC test?
Server-reflexive: the public address and port a STUN server saw your request come from. It is the candidate that leaks, because it is your public IP whenever the request did not go through the proxy or VPN. Host candidates are local addresses, and relay candidates belong to a TURN server.
Why does the WebRTC test find no candidates?
WebRTC is off in the browser or profile, an extension or a policy blocks it, or your network drops the UDP traffic STUN needs, so the verdict is WebRTC is blocked. That is not a leak, but WebRTC calls will not work in that browser either.
Which WebRTC setting should I choose in an antidetect browser?
The mode that replaces your IP with the proxy's, called Altered, Replace, Forward or Based on IP depending on the app: WebRTC keeps working, as in ordinary browsers, and shows the proxy's IP. Real leaks your IP behind a proxy, and Disabled shows WebRTC is blocked. Run this test inside the profile after you change it.
Can websites see my local IP address?
Not in current browsers, unless you allow camera or microphone access: WebRTC shows a random .local name instead. If this test shows a private address such as 192.168.1.20 without that permission, the browser is old or a setting or extension has turned the hiding off.
Can WebRTC leak my IP on Android or iPhone?
Yes. Mobile browsers run WebRTC too, and the proxy setting of a Wi-Fi network does not cover it. Most mobile browsers have no WebRTC switch, so use a VPN that tunnels all traffic, and run this test on the phone to see what a page can read.
Is a WebRTC leak the same as a DNS leak?
No. A WebRTC leak exposes your IP address to page scripts; a DNS leak sends the names of the sites you visit to a DNS server outside your proxy or VPN, often your provider's. Test both, here and in the DNS leak test.
Does incognito mode stop WebRTC leaks?
No. Private windows clear cookies and history when you close them, but WebRTC works in them as in normal windows, so the same addresses show. Use the browser's WebRTC setting or policy instead.
Does the WebRTC leak test need my camera or microphone?
No. Gathering addresses needs no permission, and the page never asks for one. It only counts the cameras and microphones your browser lists, without their names, because those counts are part of your fingerprint.
Can browser extensions stop WebRTC leaks?
Some can, by setting the browser's WebRTC policy. Check which value they set: one that only hides local addresses still lets your real public IP through behind a proxy. Run this test with the extension on to see what it really changes.
Why do sites still flag me when WebRTC shows my proxy IP?
WebRTC is only one signal. Sites also look at the IP's type and reputation, your time zone and language, DNS, the browser's fingerprint and your behavior. Run the IP checker and the browser leaks test in the same browser to see the rest.