> Source: https://meetrix.io/features/webrtc-internals-analyzer/
> Markdown copy of that page. Cite the URL above, not this file.

# WebRTC Internals Analyzer

Analyze a chrome://webrtc-internals dump online and get a plain-English call health report - free, no sign-up, nothing uploaded.

This WebRTC internals analyzer reads the dump from `chrome://webrtc-internals` and turns it into a plain-English call health report: did the call connect, was there packet loss, jitter or freezing, and what to try next. It is free, needs no sign-up, and your dump is analyzed in your browser and never uploaded.

Drop your webrtc-internals dump here, or click to choose it

The .gz or .json file from Create Dump in chrome://webrtc-internals, up to 300 MB

No dump handy? 

Analyzed in your browser. The dump is never uploaded. It can contain IP addresses and TURN details, which is why it stays here.

## Why use this WebRTC internals analyzer

#### A written verdict, not a wall of graphs

Problems first, each with the numbers behind it and something to try, so you do not need to know which of a few hundred metrics matter.

#### Your dump never leaves the browser

A dump holds IP addresses, TURN details and SDP. It is read by a worker on your machine, so it is safe to use on a live production issue.

#### Finds the usual suspects

Loss, jitter, delay, freezes, CPU and bandwidth limits, dropped connections, ICE restarts, TURN relays and failed negotiation, all checked in one pass.

#### A report you can paste into a ticket

Copy the findings as plain text, with addresses and server URLs removed from error messages, and send them to your team or your vendor.

## How to analyze a webrtc-internals dump

1.  Open chrome://webrtc-internals in a new tab in Chrome, Edge or another Chromium browser. Do this before the call if you can, and keep the tab open.
2.  Start or reproduce the call that has the problem, in another tab. Stay on the call long enough for the problem to happen.
3.  Go back to the webrtc-internals tab and click Create Dump, then Download the dump. Leave the boxes as they are.
4.  Drop the downloaded file into the analyzer above. Newer Chrome saves it as webrtc\_internals\_dump.gz; drop it as it is, there is no need to unzip it.
5.  Read the report from the top. Problems come first, then warnings, then notes.
6.  Use Copy report to paste the findings into a ticket or a message to your team.

## Common webrtc-internals problems and fixes

-   **The dump has no connections in it:** the internals tab only records connections made while it is open. Open it first, then start the call, and create the dump before you close the call tab.
-   **It says the file is not a webrtc-internals dump:** use the .gz or .json file that Create Dump downloads, not a screenshot, a copy of the page or a text export. Firefox and Safari files do not work.
-   **The report looks fine but the call was bad:** the dump is one side's view. Take a dump from the other participant too, and look for problems that live outside WebRTC, such as the app's own audio pipeline or a muted device.
-   **A stream shows "no media":** nothing moved on it. For an incoming stream check the far side was sending; for an outgoing one check the track was not muted or stopped.
-   **Loss is high only in short bursts:** the report shows the worst ten seconds next to the average. Bursts usually line up with a Wi-Fi hiccup, a network change or a CPU spike.
-   **Almost every call goes through a relay:** check that direct UDP is allowed, that STUN works, and that the page is not set to relay-only. The [ICE tester](https://meetrix.io/features/webrtc-ice-tester/) shows which candidate types a server gives you.
-   **The dump is huge and the tab struggles:** create the dump soon after the problem happens, or close other tabs. Files over 300 MB are refused.

Found a negotiation error? Paste the SDP into the [SDP inspector](https://meetrix.io/features/sdp-inspector/). Suspect the STUN or TURN server? Test it with the [WebRTC ICE tester](https://meetrix.io/features/webrtc-ice-tester/). Want to measure the connection itself, use the [speed, jitter and latency test](https://meetrix.io/features/speed-jitter-latency-test/). For the wider picture, read [how to debug WebRTC applications](https://meetrix.io/blogs/debugging-webrtc-applications/). If a production problem is still unexplained, Meetrix offers [WebRTC consulting and development](https://meetrix.io/services/webrtc-consulting-development/), and you can browse [all Meetrix features](https://meetrix.io/features/).

## Frequently Asked Questions

Is this WebRTC internals analyzer free?

Yes. There is no sign-up and no limit on how many dumps you analyze. The only cap is a file size of 300 MB.

Is my webrtc-internals dump uploaded anywhere?

No. The file is read and analyzed inside your browser, in a background worker. It is never sent to Meetrix or anyone else. That matters, because a dump can contain the IP addresses of the people on the call, your TURN server details and the full SDP.

How do I get a webrtc-internals dump?

Open `chrome://webrtc-internals` in Chrome (in Edge it is `edge://webrtc-internals`, in Brave `brave://webrtc-internals`), run the call in another tab, then click Create Dump and Download. Best results come from opening the internals tab before the call starts, because it only records connections made while it is open, plus any that already exist when you open it.

What does the report tell me?

It checks the connection (did it connect, how long it took, did it drop or restart, was a TURN relay used), the round-trip time, and each audio and video stream for packet loss, jitter, concealed audio, freezes, frame rate and whether the sender was limited by CPU or bandwidth. It also lists failed negotiation calls and ICE candidate errors from the log. Problems come first, each with what to try.

How does it decide something is a problem?

With fixed rules of thumb, not a standard and not machine learning. For example, packet loss of 2% or more is a warning and 5% or more is a problem, audio jitter above 30 ms is a warning and above 100 ms a problem, and round-trip time above 150 ms is a warning and above 300 ms a problem. A call can sound fine at a warning and bad below it, so read the numbers as well as the labels.

Why did it say media goes through a TURN relay?

The route the browser chose used a relay candidate, so audio and video passed through a TURN server instead of directly between the two sides. That is normal behind strict firewalls, and it is the only option when the page forces relay-only. It adds delay, so it is worth knowing when calls feel slow.

Does it work with Firefox or Safari?

No. It reads the dump format that Chromium browsers write: Chrome, Edge, Opera, Brave and similar. Firefox has its own about:webrtc page with a different export, and Safari has no equivalent.

It says the connection never got established. What now?

ICE never reached "connected". Check that a TURN server is configured and reachable on its ports over both UDP and TCP, that its credentials are valid and have not expired, and that a firewall is not blocking them. The [WebRTC ICE tester](https://meetrix.io/features/webrtc-ice-tester/) checks a STUN or TURN server directly.

The report shows failed setRemoteDescription or createOffer calls. What does that mean?

That is a signalling problem, not a network problem: the browser rejected the SDP it was given. The error message in the report says why. Paste the SDP into the [SDP inspector](https://meetrix.io/features/sdp-inspector/) to see what is wrong with it.

Can I share the report with someone?

Yes. Copy report gives you plain text made of the numbers and messages on the page. IP addresses and STUN or TURN server URLs are removed from any error text before it is copied. The dump file itself is not redacted, so do not send that to anyone you would not trust with your call details.

It could not read my dump. Why?

The file must be the one Create Dump downloads from chrome://webrtc-internals (a .gz file in newer Chrome, a .json file in older versions), taken while a connection was open. An empty dump, a file from another browser, or a very old Chrome that writes legacy stats will not read. If you are sure it is a normal Chrome dump and it still fails, contact us with the Chrome version.

Can it compare two calls, or show graphs?

Not yet. It gives a written report for the dump you load, with a table of every stream. For interactive graphs of every metric, Chrome's own webrtc-internals page draws them live.

Meetrix Store

Self-host the open source software your team already uses, on your own AWS or Google Cloud account.

 [Coturn TURN/STUN for WebRTC, no per-minute relay fees](https://meetrix.io/store/coturn/) [Browse the store](https://meetrix.io/store/)

## Run open source tools on your own cloud

Meetrix Store has pre-configured images for Jitsi Meet, Coturn, RustDesk, OpenVPN and 40+ more open source tools, ready to launch on AWS or Google Cloud in minutes.

[Browse the store](https://meetrix.io/store/) [Talk to Us](https://meetrix.io/contact-us/)

Meetrix Store New

Open source tools, ready to launch on your own AWS or Google Cloud.

-    [Coturn TURN/STUN for WebRTC, no per-minute relay fees](https://meetrix.io/store/coturn/)
-    [Jitsi Meet Self-hosted video calls for 50 to 500 users](https://meetrix.io/store/jitsi-meet/)
-    [RustDesk Remote desktop AMI, a TeamViewer alternative](https://meetrix.io/store/rustdesk/)
-    [OpenVPN Encrypted remote access, no per-user fees](https://meetrix.io/store/openvpn/)
-    [Plane Issues, cycles and roadmaps, a Jira alternative](https://meetrix.io/store/plane/)
-    [Mailcow Business email on your own domain](https://meetrix.io/store/mailcow/)

[Browse all products](https://meetrix.io/store/)
