WebRTC Tool
A direct peer-to-peer call tool — a fallback for video, screen share, chat, and file transfer when your usual conferencing software isn't cooperating. Two peers can connect either via a shared room code (using a small relay server that only shuttles the offer/answer) or by pasting two short JSON blobs to each other. Browser-only on each end: no install, no account.
Pick your role
One side starts the call (creates the offer); the other side joins it.
Tools
Paste an offer/answer (raw SDP, JSON, or b64:-wrapped) and see it broken down into sections, codecs, ICE candidates, and DTLS info — with short explanations.
Configure
Set up media and ICE servers, then continue to the signaling step.
Signaling
You and your peer copy two JSON blobs (offer and answer) between yourselves through any channel — email, chat, paper. Nothing leaves the browser except the call itself. Use this when you don't want to (or can't) run a server, or when you want to inspect the SDP.
Both peers enter the same short room code on a small relay server that just shuttles the offer/answer pair. The server never sees media or chat — those still flow peer-to-peer. Whoever opens the room first becomes the initiator; the second peer joins. The relay holds each blob for 10 minutes and forgets it after.
Any short alphanumeric string (max 15 chars, letters/digits/-_). Share it with your peer through any channel.
Base URL of the signaling server. The page will POST/GET to <url>/room/<code>/offer and /answer.
Advanced
Hard cap on how long the page waits for ICE candidate gathering before exporting the SDP.
Use 0 to wait indefinitely — useful when you want every candidate (e.g. slow TURN
relays) but expect to abort manually if gathering stalls. Default is 8 seconds.
ICE / TURN servers
Leave the STUN default for typical LAN/internet use. Add TURN servers for cross-NAT peers. Empty list means fully-local (host candidates only) — works on the same LAN or same machine.
LAN connectivity
For privacy, browsers (especially Firefox) restrict WebRTC ICE candidates to the default network interface while no microphone or camera stream is active on the page. If both peers are on the same network and you don't have a TURN server, enabling this opens a muted microphone stream (no audio is captured or sent) so the ICE agent can see all your local interfaces and direct LAN candidates can be exchanged. The OS will indicate the microphone is in use; stop it from here, the toolbar, or by hanging up.
Media
Munged into the offer/answer SDP at signaling time. These can only be set here — they are locked once the call is up and cannot be changed mid-call.
Reorders this side's SDP to ask the peer to encode with this codec when sending to you. Influences what the peer sends, not what you send.
Pins the encoder used when sending video (both camera and screen share). Picks from the codecs negotiated with the peer; falls back to the browser default if the codec isn't available. Can also be changed mid-call from the runtime panel.
If video freezes after a few seconds, try a different send codec — some browser/device combinations have buggy encoders (notably VP8 on Firefox Android).
Advanced Opus settings (SDP)
Negotiate a 2-channel Opus stream. Only useful if the capture device is actually stereo — otherwise the second channel just duplicates the first and wastes bitrate.
Forward error correction. The encoder embeds a low-bitrate copy of each frame inside the next one so the decoder can reconstruct single-packet losses without a retransmit. Costs a few percent bitrate.
Discontinuous transmission: the encoder stops sending packets during silence and the decoder fills in comfort noise. Saves bandwidth on quiet channels; can cut off very soft speech.
Force a constant bitrate instead of letting Opus vary it with content complexity. Mostly useful when something downstream expects a steady rate; usually leave off.
Upper bound the encoder targets on average. Set lower to save bandwidth on weak links; leave at 0 to let Opus pick (typically 32–64 kbps for speech, higher for music).
Signaling exchange
Step 1
Step 2
SDP inspector
Paste an offer or answer below — raw SDP, the JSON blob this tool emits, or its base64-wrapped form. Nothing leaves the page; parsing happens locally.