If the test shows a leak, find your browser in the guide below and follow the steps to fix it.
What Is WebRTC and Why Is It a Privacy Risk?
WebRTC (Web Real-Time Communication) is an open-source browser technology that enables real-time audio, video, and data sharing directly between browsers without requiring a central server as an intermediary. It is the technology powering Google Meet, Discord's web client, browser-based video calling on Facebook Messenger, Jitsi video conferencing, and numerous peer-to-peer file sharing tools. WebRTC is built into every major browser — Chrome, Firefox, Edge, Opera, Brave, and Safari — and is enabled by default.
The privacy problem with WebRTC lies in how it establishes connections. To create a direct peer-to-peer link between two browsers, WebRTC needs to discover your device's real IP addresses — including your local network address and your public IP. It does this through a process called ICE (Interactive Connectivity Establishment), which sends STUN requests to external servers to discover your public IP. This process happens automatically, silently, and without any user notification or consent. Any website can trigger ICE candidate gathering via JavaScript and read the IP addresses returned.
VPNs do not reliably stop WebRTC leaks because they operate at different layers. A VPN encrypts your internet traffic and hides your IP at the network level — all traffic leaving your device goes through the VPN tunnel. But WebRTC operates at the browser level and uses STUN requests that can bypass the VPN tunnel entirely, communicating directly with the STUN server using your real network interface. This means a website can discover your real IP address through WebRTC even if your VPN shows as connected, your IP appears masked on standard IP checkers, and all your other traffic is properly encrypted.
The browsers most affected are Chrome, Firefox, Edge, and Opera, which all expose IP addresses via WebRTC by default with no built-in controls to prevent it. Brave is the notable exception — it includes built-in WebRTC IP leak protection in its privacy settings and restricts ICE candidate exposure by default. Safari has limited WebRTC exposure and only performs full ICE candidate gathering for websites that have been granted explicit camera or microphone permission. The risk is highest for VPN users who visit websites with embedded video calling, live streaming, or peer-to-peer features.
There are two approaches to solving WebRTC leaks. The first is fully disabling WebRTC, which completely prevents any IP exposure but breaks all browser-based video calling and real-time communication. The second is using policy-level controls — specifically the "Disable non-proxied UDP" setting — which prevents WebRTC from exposing IP addresses that are not already routed through the VPN or proxy, while keeping WebRTC functional for legitimate peer-to-peer connections. The guide below covers both approaches for every major browser.
How to Disable WebRTC in Google Chrome
Method 1 — Via Chrome Flags
- 1
Open Chrome Flags
Open Google Chrome and type chrome://flags in the address bar, then press Enter. This opens Chrome's experimental features page where hidden settings can be toggled.
- 2
Search for WebRTC
In the search box at the top of the flags page, type 'WebRTC'. This will filter the list to show any WebRTC-related experimental flags available in your Chrome version.
- 3
Set WebRTC IP Handling Policy
If you see a flag called 'WebRTC IP Handling Policy' or 'Anonymize local IPs exposed by WebRTC', set it to 'Enabled' or 'Disable non-proxied UDP'. This prevents WebRTC from exposing IP addresses that bypass your VPN.
- 4
Relaunch Chrome
Click the 'Relaunch' button at the bottom of the page to restart Chrome with the new setting applied. Your tabs will be restored automatically after the relaunch.
- 5
Re-run the WebRTC Leak Test
Return to this page and click 'Re-test' above to confirm WebRTC is no longer exposing your real IP address. If the test passes, you're protected.
Note: This flag may not be available in all Chrome versions. Google occasionally removes or renames experimental flags. If the flag is not present, use the extension method below — it is more reliable and persistent across Chrome updates.
Method 2 — Via Extension (Recommended)
The most reliable method to prevent WebRTC leaks in Chrome is to install a browser extension. The "WebRTC Network Limiter" extension, published by Google, allows you to set a WebRTC IP handling policy that persists across browser updates. Alternatively, uBlock Origin includes a WebRTC leak prevention toggle in its privacy settings.
- 1
Install WebRTC Network Limiter
Open the Chrome Web Store and search for 'WebRTC Network Limiter'. Click 'Add to Chrome' and confirm the installation. This extension is published by Google and is lightweight — it does not affect browsing speed.
- 2
Configure the Extension
Click the extension icon in your toolbar (you may need to pin it first via the puzzle icon). Select 'Disable non-proxied UDP (Recommended)' from the policy options. This is the optimal setting for VPN users.
- 3
Verify the Fix
Return to this page and re-run the WebRTC leak test above. The result should now show 'No WebRTC Leak Detected'. If it still shows a leak, try selecting the 'Force proxy' option in the extension for stricter control.
What does "Disable non-proxied UDP" mean? This policy prevents WebRTC from discovering and sharing IP addresses that are not already routed through your VPN or proxy. Your VPN's IP can still be used for WebRTC connections (keeping video calls functional), but your real IP behind the VPN is never exposed. This is the best balance of privacy and functionality for most users.
How to Disable WebRTC in Mozilla Firefox
Firefox is the easiest browser to fully disable WebRTC in, because it provides a built-in configuration toggle without requiring any extension. This method completely disables WebRTC at the browser engine level.
- 1
Open Firefox Configuration
Type about:config in the Firefox address bar and press Enter. This opens Firefox's advanced configuration editor, which gives you access to hundreds of hidden browser settings.
- 2
Accept the Warning
Firefox will display a warning page saying 'Proceed with Caution'. Click 'Accept the Risk and Continue' to access the configuration editor. This is a standard warning for advanced settings — the changes you're about to make are safe and reversible.
- 3
Search for WebRTC Setting
In the search bar at the top of the about:config page, type media.peerconnection.enabled. This is the master toggle for WebRTC in Firefox. You should see exactly one result.
- 4
Disable WebRTC
Double-click the media.peerconnection.enabled preference to toggle its value from true to false. Alternatively, click the toggle icon on the right side of the row. The value should now display as false in bold text.
- 5
Confirm WebRTC Is Disabled
WebRTC is now completely disabled in Firefox. No browser restart is required — the change takes effect immediately. Return to the top of this page and re-run the WebRTC leak test to confirm.
Additional Hardening (Optional)
For broader privacy protection in Firefox, search for privacy.resistFingerprinting in about:config and set it to true. This enables Firefox's built-in fingerprinting resistance, which standardises various browser characteristics (timezone, screen resolution, installed fonts) to make your browser less uniquely identifiable. Note that this setting may change the appearance of some websites and can affect timezone-dependent functionality.
How to Disable WebRTC in Microsoft Edge
Method 1 — Via Edge Flags
- 1
Open Edge Flags
Open Microsoft Edge and type edge://flags in the address bar, then press Enter. This opens Edge's experimental features page, which works identically to Chrome's flags page since Edge is Chromium-based.
- 2
Search for WebRTC
In the search box, type 'WebRTC'. Look for a flag called 'Anonymize local IPs exposed by WebRTC' or similar. The exact name may vary by Edge version.
- 3
Enable the Flag
Set the flag to 'Enabled'. This prevents WebRTC from exposing your local network IP addresses, which is one component of WebRTC leaks. Combined with a VPN, this provides strong WebRTC leak protection.
- 4
Relaunch Edge
Click 'Restart' at the bottom of the page to apply the change. Return to this page and re-run the WebRTC leak test to confirm the fix is working.
Method 2 — Via Extension
Microsoft Edge supports Chrome extensions through the Edge Add-ons store. You can install the same "WebRTC Network Limiter" extension used in Chrome.
- 1
Open Edge Add-ons
Navigate to the Microsoft Edge Add-ons store (addons.microsoft.com) and search for 'WebRTC Network Limiter'. Alternatively, enable 'Allow extensions from other stores' in Edge settings and install it from the Chrome Web Store.
- 2
Install and Configure
Add the extension to Edge and configure it to 'Disable non-proxied UDP'. This prevents WebRTC from exposing IP addresses that bypass your VPN while keeping video calling functional.
- 3
Verify
Re-run the leak test above. If the test passes, your Edge browser is no longer leaking your real IP via WebRTC.
Note: Microsoft Edge is Chromium-based and shares Chrome's WebRTC implementation. However, Edge has some additional enterprise group policy controls for WebRTC (WebRtcLocalIpsAllowedUrls, WebRtcLocalhostIpHandling) that IT administrators can use to enforce WebRTC IP handling policies across an organisation.
How to Disable WebRTC in Brave Browser
Brave is the only major browser with built-in WebRTC IP leak protection accessible directly from the settings menu — no extensions or hidden flags required. Brave users are already better protected than Chrome, Firefox, or Edge users by default, but you should verify and strengthen the setting.
- 1
Open Brave Settings
Click the hamburger menu (three horizontal lines) in the top-right corner of Brave and select 'Settings'. Alternatively, type brave://settings in the address bar.
- 2
Navigate to Privacy and Security
In the left sidebar, click 'Privacy and security'. This section contains Brave's built-in privacy controls, including the WebRTC policy.
- 3
Find WebRTC IP Handling Policy
Scroll down to the 'WebRTC IP Handling Policy' dropdown. This is a native Brave feature — no extension needed. The dropdown shows four options for controlling how WebRTC handles your IP addresses.
- 4
Select 'Disable non-proxied UDP'
Choose 'Disable non-proxied UDP' from the dropdown. This is the recommended setting — it prevents WebRTC from exposing any IP address that is not already routed through your VPN or proxy.
- 5
No Restart Required
The change takes effect immediately — no browser restart is needed. Return to the top of this page and re-run the WebRTC leak test to confirm protection is active.
Brave WebRTC Policy Options Explained
Uses the standard Chromium WebRTC behaviour — exposes all IP addresses. Not recommended for privacy.
Default public and private interfaces
Allows WebRTC to use both your public and private (local network) IP addresses. Less restrictive than default but still exposes IPs.
Only allows WebRTC to use your public-facing IP address. Prevents local IP exposure but still shows your public IP (or VPN IP).
Disable non-proxied UDP (Recommended)
Prevents WebRTC from using any IP address that isn't already routed through a proxy or VPN. This is the optimal setting — keeps video calls working through your VPN while preventing real IP exposure.
WebRTC and Safari
Safari has limited user-facing WebRTC controls compared to other browsers. However, Safari's implementation of WebRTC is inherently less aggressive about IP exposure than Chrome or Firefox. Safari only performs full ICE candidate gathering — the process that exposes IP addresses — for websites that have been granted explicit camera or microphone permission. This means casual browsing on Safari is less likely to trigger WebRTC leaks than on Chrome.
For Advanced Users
- 1
Enable the Develop Menu
Open Safari → Settings (or Preferences on older macOS) → Advanced → check 'Show Develop menu in menu bar'. This enables Safari's developer tools, which include some WebRTC-related options.
- 2
Access WebRTC Settings
In the menu bar, click Develop → WebRTC. You may see options like 'Enable Legacy WebRTC API' — toggling this can limit WebRTC behaviour in some scenarios. The available options vary by Safari and macOS version.
Honest note: Safari does not offer full WebRTC disabling at the browser settings level. Apple has not provided a user-accessible toggle equivalent to Firefox's media.peerconnection.enabled. Users who need complete WebRTC control should use Firefox with the about:config method or switch to Brave, which has the most accessible built-in WebRTC IP handling policy.
Should You Fully Disable WebRTC or Just Block Leaks?
Fully disabling WebRTC eliminates all risk of IP exposure through this vector, but it comes with a real usability cost. Browser-based video calling services — Google Meet, Discord web, Jitsi, Facebook Messenger calls, Microsoft Teams in the browser, and any other peer-to-peer communication tool — will stop working entirely. If you rely on any of these services for work or personal communication, fully disabling WebRTC is not practical.
The better approach for most users is to prevent IP leaks through policy-level settings rather than disabling WebRTC entirely. The "Disable non-proxied UDP" option — available natively in Brave and through extensions in Chrome and Edge — blocks your real IP from being exposed while keeping WebRTC functional for legitimate peer-to-peer connections. When combined with a VPN, this setting ensures that only your VPN's IP address is visible to WebRTC, not your real IP. Video calls work normally through the VPN tunnel.
For users who never use browser-based video calling and prioritise maximum privacy above all else, fully disabling WebRTC in Firefox via the media.peerconnection.enabled about:config toggle is the cleanest solution with no trade-offs. If you need video calling, use the desktop applications for those services (Zoom desktop app, Discord desktop app) instead of the browser versions — desktop apps have their own communication stacks and are not affected by browser WebRTC settings.
Brave has the best built-in WebRTC leak protection of any major browser. It includes a WebRTC IP handling policy directly in its privacy settings with no extension required. Tor Browser fully disables WebRTC by default for maximum anonymity. Safari has limited WebRTC exposure and only allows ICE candidate discovery for sites with explicit camera/microphone permission. Chrome, Firefox, and Edge all expose WebRTC IPs by default and require manual configuration or extensions to prevent leaks.
Not sure if your DNS is leaking? Find out in seconds.