← Back to Tools
// Tool

HTTP/3 Detector

Probe whether a site speaks HTTP/3 (QUIC). The browser fetches a tiny resource from the target host and reads the negotiated protocol from the Performance API. Caveat: browsers learn HTTP/3 endpoints opportunistically via the Alt-Svc header. The first connection is usually H2; H3 is used on subsequent connections after the browser has cached the advertisement.

Tries 3 probe fetches with a small delay between them — gives the browser a chance to upgrade to H3 after seeing Alt-Svc on the first response.

// Detection method

This page uses fetch() in no-cors mode against the target's origin and reads nextHopProtocol from performance.getEntriesByType('resource'). The browser exposes that field if the response includes a Timing-Allow-Origin header (most CDNs do). Without it, the entry exists but the protocol field is empty.

For a fully reliable check, use the command line:

curl -sIv --http3-only https://example.com

or

nghttp -nv --http3 https://example.com

Frequently Asked Questions

What is HTTP/3 and how is it different?
HTTP/3 runs over QUIC (on UDP) instead of TCP. It removes head-of-line blocking, sets up connections faster (often 0-RTT on resumption), and survives network changes more gracefully.
How does this tool detect HTTP/3?
It inspects the protocol the browser negotiated for resources from the site via the Resource Timing API, so it reflects a real connection rather than a header guess.
A site advertises HTTP/3 but I connected over HTTP/2 — why?
Browsers discover HTTP/3 via the Alt-Svc header on a first HTTP/2 connection, then upgrade on later visits. Networks that block UDP/443 also force a fallback to TCP-based HTTP/2.