WebRTC Latency Test: Measure P2P Round-Trip Time

WebRTC peer-to-peer latency, jitter, and packet loss. All measurement runs in the browser. No backend, no account.

ZERO UPLOAD · ALL LOCAL
  1. Wait for the automatic STUN probe to complete; it shows your public IP and NAT type.
  2. Choose a role: click "Start Session" on one browser to become the Initiator, "Join Session" on the other.
  3. Initiator: copy the offer SDP and send it to your partner.
  4. Joiner: paste the offer, click "Generate Answer", then copy the answer SDP and send it back.
  5. Initiator: paste the answer and click "Connect". The live dashboard starts automatically.
  6. Use the Simulated Loss and Artificial Latency sliders to test degraded conditions.

What to look for

  • below 150 ms
  • 100 ms with 2 ms jitter beats 60 ms with 30 ms jitter

PROBING...

Public IP NAT Type Candidate Types STUN Reachable Gathering Time

YOUR OFFER — COPY AND SEND TO PARTNER

PASTE PARTNER'S ANSWER HERE

PASTE PARTNER'S OFFER HERE

YOUR ANSWER — COPY AND SEND BACK

Current RTT Average RTT Min RTT Max RTT Jitter Packets Sent Packets Received Packet Loss ICE Candidate Type

Accent line = RTT over time. Red markers = simulated packet drops.

Data Channel State Packets Echoed

WebRTC Latency Test: Measure P2P Round-Trip Time

WebRTC latency measures the actual peer-to-peer round-trip. Because traffic travels through both users' routers, ISPs, and any NAT hardware in between, the round-trip time you see here reflects real network conditions that server-based ping tools cannot replicate.1 A 20 ms server ping can coexist with 80 ms peer-to-peer latency on the same connection. Running two browser instances on different connections and completing the WebRTC handshake gives you the number your video conferencing software experiences when it routes a call directly between participants.

The STUN probe on this page runs automatically before the connection begins.2 Contacting public STUN servers from Google and Cloudflare, it discovers your public IP address and classifies your NAT type, which tells you whether your network supports a direct WebRTC data channel or will require relay infrastructure.3 Probe packets then travel directly between the two browser instances at 100 ms intervals, and each round-trip time lands on the live sparkline as it arrives.4

What round-trip time measures in WebRTC

Round-trip time in WebRTC is the elapsed time between one peer sending a probe packet and receiving the echo back from the other peer. Unlike a server ping, which measures the path to a datacenter, this measurement captures every router, switch, and NAT translation layer between the two browsers.5 Consequently, RTT values here are always higher than the same network's ping to Google.com. That gap represents the overhead of home router NAT, residential ISP routing, and any carrier-grade NAT sitting in between.Values below 30 ms indicate a direct LAN or very low-latency ISP path; values above 150 ms point to geographic distance, congested ISP links, or relay routing through TURN infrastructure.6

What causes elevated WebRTC RTT

Geographic distance is the largest single factor in peer-to-peer RTT. Light travels through fiber at roughly 200,000 km per second, so a trans-continental connection adds a physical minimum of 30 to 70 ms before any routing overhead.7 Building on this, ISP peering arrangements can add further delay; two connections on the same city block but served by different ISPs may route through distant peering points. Symmetric NAT forces all traffic through a TURN relay server, adding a server hop that typically contributes 20 to 60 ms depending on relay location.8 ISP congestion during peak evening hours raises RTT by 20 to 40 ms on many residential connections.9

Interpreting results and taking action

An average RTT below 50 ms with jitter under 5 ms indicates a healthy direct connection suitable for video calls and gaming. RTT between 50 and 150 ms with low jitter is usable for most real-time applications but may show buffering in video calls. RTT above 150 ms or jitter above 20 ms will produce audible artifacts in VoIP and visible stuttering in video.6

Using the ICE candidate type to prioritize fixes

Yet the most actionable signal is whether the ICE candidate type shows "srflx" (direct NAT traversal) or "relay" (TURN server path).3 Switching from relay to direct reduces RTT by the full relay server round-trip, typically 20 to 60 ms.8 Checking the candidate type before adjusting router settings avoids wasted effort on configurations that will not change the relay status. A relay path means the NAT topology prevents a direct connection, and no amount of local QoS tuning will bypass the need for the relay.

Isolating router-added latency from the ISP path

Total P2P RTT combines contributions from three distinct network segments: your local router's processing and queuing delay, the backbone routing between the two ISPs, and the remote peer's local routing. Treating the result as a single number hides which segment is responsible for elevated latency. The simplest isolation step is running both browser instances on the same local network using two different devices connected to the same router. The RTT produced by this same-LAN test reflects only router processing overhead and wireless delay, with no ISP path contribution.1

A typical wired same-LAN RTT is 1 to 4 ms; Wi-Fi adds 2 to 10 ms depending on band and distance from the router.10 Subtracting this baseline from a cross-ISP measurement isolates the ISP backbone contribution. For example, if same-LAN RTT is 3 ms and cross-ISP RTT is 80 ms, the ISP path contributes approximately 77 ms. Repeating the cross-ISP test with the remote browser on a mobile hotspot from a different carrier reveals whether the backbone routing or carrier-grade infrastructure adds the gap.

When to run a same-LAN baseline before comparing connections

Running a same-LAN baseline whenever you evaluate a router change or QoS configuration establishes a clean reference point. If a configuration change increases same-LAN RTT from 3 ms to 8 ms, the router itself has become slower, not the ISP path. This distinction prevents misattributing router-side regressions to the ISP. For Wi-Fi evaluation, compare same-LAN RTT on 2.4 GHz versus 5 GHz versus wired to quantify wireless overhead independently before testing across locations.

Comparing wired and wireless WebRTC latency

Switching from wireless to wired Ethernet is the single most effective step for reducing P2P RTT and jitter on a home network. Wireless connections introduce variable queuing from 802.11 frame retransmissions: when a frame fails on first transmission and is retransmitted, the retransmission delay (typically 2 to 8 ms at 5 GHz) adds a jitter spike to that packet's arrival time.11 On 2.4 GHz, neighboring network interference increases retry frequency, often producing 10 to 30 ms jitter on a lightly loaded connection.10

Connect one test device to Ethernet and leave the second on Wi-Fi, both on the same router, and run the P2P tester between them. The measured RTT reflects the wireless contribution to round-trip time, with no ISP path component. A 5 GHz device typically adds 2 to 8 ms over the wired baseline; a 2.4 GHz device on a congested band can add 10 to 30 ms.12

Determining whether excess RTT is wireless or ISP in origin

If your total cross-ISP RTT is unacceptably high, splitting same-LAN RTT from cross-ISP totals confirms whether the excess sits in the wireless segment or further upstream, comparing same-LAN RTT on Wi-Fi versus wired. Wireless excess shows in both same-LAN and cross-ISP measurements; ISP excess shows only in cross-ISP measurements. This two-step process prevents adjusting router wireless settings when the actual problem is an ISP backbone bottleneck that no router setting can address.

Running the same-LAN and cross-ISP measurements on a schedule keeps the reference points honest as your router firmware and ISP routing change. A baseline that drifts upward over several weeks usually points to ISP-side changes rather than your local hardware, especially when the same-LAN number stays flat. Treat the wireless-versus-ISP split as a repeatable routine, not a one-time check, so you can defend any router purchase or ISP complaint with current numbers.

When to use this

Run this test when video calls feel laggy, when you want to compare wired and wireless connections, or when you need to verify that a router configuration change improved your direct peer-to-peer latency before committing to the change.

Examples

Both peers on the same ISP, different cities

RTT shows 45 ms with srflx ICE candidate. This is direct NAT traversal with normal intra-ISP routing. The 45 ms reflects geographic distance and ISP backbone latency, not a configuration problem.

One peer behind a corporate firewall

ICE candidate shows "relay" and RTT jumps to 140 ms. The corporate network uses symmetric NAT, forcing traffic through a TURN relay. Fixing this requires network configuration changes at the corporate level; the relay path is expected behavior.

Sources
  1. 1.

    Kosuke Nakagawa et al., "WebRTC-based measurement tool for peer-to-peer applications and preliminary findings with real users," Asian Internet Engineering Conference (AINTEC '21), 2021. https://ar5iv.labs.arxiv.org/html/2112.02163

  2. 2.

    A. Keranen, C. Holmberg, and J. Rosenberg, "Interactive Connectivity Establishment (ICE): A Protocol for Network Address Translator (NAT) Traversal," RFC 8445, IETF, July 2018. https://datatracker.ietf.org/doc/html/rfc8445

  3. 3.

    T. Reddy et al., "Traversal Using Relays around NAT (TURN): Relay Extensions to Session Traversal Utilities for NAT (STUN)," RFC 8656, IETF, February 2020. https://datatracker.ietf.org/doc/html/rfc8656

  4. 4.

    Mozilla Developer Network, "Introduction to WebRTC Protocols," developer.mozilla.org, accessed June 2026. https://developer.mozilla.org/en-US/docs/Web/API/WebRTC_API/Protocols

  5. 5.

    W3C, "Identifiers for WebRTC's Statistics API," w3.org, accessed June 2026. https://www.w3.org/TR/webrtc-stats/

  6. 6.

    ITU-T, "One-way transmission time," Recommendation G.114, itu.int, May 2003. https://www.itu.int/rec/T-REC-G.114-200305-I/en

  7. 7.

    Mozilla Developer Network, "RTCIceCandidatePairStats," developer.mozilla.org, accessed June 2026. https://developer.mozilla.org/en-US/docs/Web/API/RTCIceCandidatePairStats

  8. 8.

    CallSphere, "Measuring Network RTT for AI Voice Agents in WebRTC," callsphere.ai, 2026. https://callsphere.ai/blog/vw8c-network-rtt-measurement-ai-voice-agents-2026

  9. 9.

    jitter.is, "Network Jitter vs. Round Trip Time in WebRTC," jitter.is, accessed June 2026. https://jitter.is/

  10. 10.

    Henrik Bostrom, "Making Sense of getStats in WebRTC," bloggeek.me, accessed June 2026. https://bloggeek.me/getstats/

  11. 11.

    Springer, "IEEE 802.11 Wireless LANs: Performance Analysis and Protocol Refinement," Wireless Communications and Networking, 2005. https://link.springer.com/article/10.1155/WCN.2005.67

  12. 12.

    Kaixin Sui et al., "Characterizing and Improving WiFi Latency in Large-Scale Operational Networks," MobiSys '16, 2016, pp. 347–360. https://dl.acm.org/doi/10.1145/2906388.2906393

FAQ