webrtc-internals is Chrome’s built-in debugging tool for WebRTC sessions. Accessible at chrome://webrtc-internals in the browser address bar, it provides detailed real-time visibility into every active PeerConnection.
What webrtc-internals shows
The tool displays comprehensive information about WebRTC sessions:
- PeerConnection lifecycle: Creation, SDP offers/answers, ICE candidate gathering, and connection state changes
- SDP details: Full SDP offer and answer text, making it easy to inspect negotiated codecs, media lines, and ICE candidates
- Statistics graphs: Real-time charts showing bitrate, packet loss, jitter, frame rate, resolution, and many more metrics
- ICE candidate pairs: Which candidates were gathered, tested, and selected
- getStats data: The raw statistics collected from the WebRTC engine
How to use webrtc-internals
- Open
chrome://webrtc-internalsin a Chrome tab - Start your WebRTC session in another tab
- The tool automatically detects and displays active PeerConnections
- Use “Create Dump” to export session data for offline analysis
Other Chromium-based browsers (Edge, Brave, Opera) have equivalent tools at the same URL. Firefox offers similar functionality at about:webrtc.
Tips for debugging
- Watch the ICE connection state progression – if it stays at “checking” for too long, there may be NAT/firewall issues requiring a TURN server
- Monitor the “bytesReceived” and “bytesSent” stats to verify media is actually flowing
- Check “framesDecoded” increasing to confirm video is being rendered
- Look at RTT and jitter graphs to assess network quality


