> For the complete documentation index, see [llms.txt](https://docs.ipcheck.ing/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.ipcheck.ing/knowledge-base/connection-tools/webrtc-test.md).

# WebRTC Test

## What it does

WebRTC is the technology browsers use for voice calls, video calls, and screen sharing. To connect two people directly, it has to work out what address each side can be reached at — and it often does that outside your normal proxy settings, over UDP. That means a browser can hand out an address that your VPN was supposed to hide. For the full story, see [What Is WebRTC?](/knowledge-base/concepts/what-is-webrtc.md).

The **WebRTC Leak Test** shows you exactly which address your browser reveals during that negotiation.

It asks four public STUN servers — Google, BlackBerry, Twilio, and Cloudflare — the same question WebRTC asks during a real call: "what address do you see me coming from?" Each answer becomes one card.

## How to run it

The test runs automatically on page load. Click the refresh button in the section header (**Refresh WebRTC Leak Test**) to run it again. Each server gets about five seconds to answer.

## Reading your results

Each card shows the address that STUN server reported, plus three details looked up from that address:

* **NAT** — the type of network address translation your connection appears to use.
* **ISP** — the organization that owns the reported address.
* **Region** — the country the address maps to.

Open **SDP Log** at the bottom of a card to see the raw connection events with timestamps. This is a debugging view; you can ignore it unless you are troubleshooting.

### Result states

| What you see         | What it means                                                                        |
| -------------------- | ------------------------------------------------------------------------------------ |
| An IP address        | WebRTC negotiation completed and revealed this address                               |
| `Awaiting Test`      | Still running                                                                        |
| `Connection Error`   | No answer from that STUN server in time, or the browser blocked part of the exchange |
| `WebRTC Unavailable` | Your browser has WebRTC turned off entirely                                          |

`WebRTC Unavailable` is shown in green on purpose. For a leak test, a browser with no WebRTC is the safest possible outcome.

### Now compare it to your public IP

This is the whole point of the test. Look at the address in the WebRTC cards, then at the address in your [IP Information](/knowledge-base/connection-tools/ip-information.md) cards.

| Comparison                                                             | Verdict                                                                                                    |
| ---------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- |
| Same as your public IP, and you use no VPN                             | Normal. Nothing is hidden, and nothing is leaking                                                          |
| Same as your VPN's exit IP                                             | Good. Your VPN covers WebRTC too                                                                           |
| Different from your VPN's exit IP, and it looks like your real address | **This is a leak.** Sites using WebRTC can see the address you are trying to hide                          |
| A private address like `192.168.x.x`                                   | Your local network address. Harmless on its own, but it does tell a site something about your home network |

{% hint style="warning" %}
A leak here is what matters most if you use a VPN for privacy. The site you are visiting does not need your cooperation to run this — any page can do the same negotiation in the background. See [Am I Leaking My Real IP?](/knowledge-base/diagnose/am-i-leaking-my-real-ip.md)
{% endhint %}

### About the NAT type

The **NAT** field is a guess based on the type of connection candidate your browser produced. As the app notes, NAT type detection is not 100% accurate and is for reference only. The possible values are Full Cone, Port Restricted Cone, Port Restricted Cone or Symmetric, Symmetric, and Unknown Type.

A symmetric NAT is usually a sign that you sit behind carrier-grade NAT, which also affects incoming connections and some games. See [Am I Behind CGNAT?](/knowledge-base/diagnose/am-i-behind-cgnat.md)

## What to do about a leak

{% stepper %}
{% step %}

### Check your VPN's own settings

Many VPN clients have a "WebRTC leak protection" or "block WebRTC" option that is off by default. Turn it on and run the test again.
{% endstep %}

{% step %}

### Use your browser's built-in control

Firefox: open `about:config` and set `media.peerconnection.enabled` to `false`. This disables WebRTC completely, which also breaks browser-based calls.

Chrome, Edge, and Brave have no built-in switch. Brave has a WebRTC IP handling policy under its privacy settings; Chrome and Edge need an extension.
{% endstep %}

{% step %}

### Install a WebRTC-blocking extension

Extensions that restrict WebRTC IP handling will make the cards show `WebRTC Unavailable` or your proxy address instead of your real one.
{% endstep %}

{% step %}

### Re-run and confirm

Refresh the test. The cards should now match your VPN's exit address, or show `WebRTC Unavailable`.
{% endstep %}
{% endstepper %}

## What to do next

* Read [Am I Leaking My Real IP?](/knowledge-base/diagnose/am-i-leaking-my-real-ip.md) for the full leak checklist, including DNS.
* Run the [DNS Leak Test](/knowledge-base/connection-tools/dns-leak-test.md) — WebRTC is only one of the two common leaks.
* Confirm the rest of your setup with [Is My VPN or Proxy Working?](/knowledge-base/diagnose/is-my-vpn-working.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.ipcheck.ing/knowledge-base/connection-tools/webrtc-test.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
