About this tool
The local diagnosis runs the moment you open the page: ICE candidates are gathered from multiple public STUN servers and classified — host, server-reflexive, relay — each with a one-line explanation of what its presence means. By comparing the public ports mapped by two different STUN servers, the tool detects your NAT type: cone NATs are P2P-friendly, while a symmetric NAT means direct connections will often fail and you need TURN — the single most useful sentence in WebRTC debugging, stated plainly. No server-reflexive candidates at all means your network blocks UDP (common on corporate networks), and the diagnosis says so. A loopback test then actually connects two peer connections inside the page and measures real DataChannel throughput and latency.
The TURN validator is the feature WebRTC developers keep looking for: enter your turn:/turns: URL and credentials, and the tool forces a relay-only connection to prove whether your TURN server actually allocates — with UDP, TCP and TLS transports tested separately and failures diagnosed (bad credentials vs firewall vs DNS). A relay-forced throughput test measures how much bandwidth your TURN server can actually deliver — the number that decides whether relayed video looks good, and one almost no tool measures.
Once the two-browser connection is up, it's useful for more than diagnosis: send files of any size straight from one browser to the other over the encrypted DataChannel — chunked with backpressure, with live progress and speed on both sides, and no server (ours or anyone's) ever holding your data. And instead of copy-pasting the connection blobs between devices, you can show them as QR codes — long offers split into a short auto-cycling frame sequence — and scan them with the built-in camera scanner on browsers that support the BarcodeDetector API.
Everything runs in your browser. The connection tests talk only to the STUN/TURN servers you choose; nothing about your network is sent to us.