Free checker - no signup required

Free HTTP/3 (QUIC) Checker

Test whether a website serves HTTP/3 over QUIC. Reads the Alt-Svc header, the HTTPS DNS record, and probes UDP/443 to confirm real QUIC support, then explains how to enable it.

Run the check

Enter a domain to check it live against the IntoDNS.ai engine. No signup, no rate-limited trial.

What this HTTP/3 checker verifies

This tool runs the same HTTP/3 detection the IntoDNS.ai security scan uses, against a single domain. It makes an HTTPS request to read the Alt-Svc response header and looks for an h3 entry, queries the HTTPS DNS record (type 65 / SVCB) for an h3 ALPN advertisement, and sends a real QUIC Version Negotiation packet to UDP port 443 to confirm a QUIC server is actually listening. A domain is reported as HTTP/3 capable when any of these three independent signals confirms it, so the result reflects real reachability rather than a single header that could be stale or proxied away.

What HTTP/3 and QUIC are

HTTP/3 is the third major version of the HTTP protocol, and unlike HTTP/1.1 and HTTP/2 it does not run over TCP. It runs over QUIC, a transport protocol built on UDP that folds the TLS 1.3 handshake into the connection setup. QUIC was standardised as RFC 9000 and HTTP/3 as RFC 9114. Because QUIC carries its own encryption and stream multiplexing, HTTP/3 connections establish faster and behave better on lossy or changing networks than anything layered on TCP. The practical effect for a visitor is that the page starts loading in fewer round trips and stays responsive when the network is poor.

Why HTTP/3 matters

The headline win is latency. QUIC combines the transport and TLS handshakes, so a fresh connection often opens in a single round trip, and a resumed one in zero. The second win is the end of transport-level head-of-line blocking: in HTTP/2 over TCP, one lost packet stalls every multiplexed stream because TCP must deliver bytes in order; QUIC tracks streams independently, so a loss on one stream no longer freezes the others. Third is connection migration — a QUIC connection is keyed to a connection ID, not an IP and port tuple, so a phone moving from Wi-Fi to cellular keeps the same connection instead of renegotiating. Together these make HTTP/3 most valuable for mobile users, high-latency links, and lossy networks, which is exactly where TCP-based HTTP struggles.

The Alt-Svc advertisement mechanism

A browser cannot start a request over HTTP/3 cold, because it does not yet know the server speaks QUIC. So the first connection is made over HTTP/2 (or HTTP/1.1), and the server advertises HTTP/3 in the Alt-Svc response header, for example Alt-Svc: h3=":443"; ma=86400. The browser caches that advertisement for the ma= (max-age) duration and upgrades subsequent connections to HTTP/3. This is why a brand-new visit never uses HTTP/3 on its very first request, and why a missing or short-lived Alt-Svc header is the most common reason a QUIC-capable server still serves most traffic over HTTP/2. The newer HTTPS DNS record can advertise h3 ahead of the first connection, removing that initial round trip, which is why this checker reports it separately.

How to read the result

A pass means at least one detection method confirmed HTTP/3: an h3 entry in Alt-Svc, an h3 ALPN in the HTTPS DNS record, or a live QUIC response on UDP/443. The detail panel shows which methods fired. Alt-Svc advertised plus a QUIC probe response is the strongest result — the server both announces and actually answers QUIC. If Alt-Svc shows h3 but the QUIC probe gets no response, suspect a firewall blocking inbound UDP/443, since QUIC is UDP-only and many networks still filter it. A QUIC probe marked inconclusive means our scanner could not send UDP from its own network, not that your server is broken. If the site is unreachable over HTTPS we cannot read Alt-Svc at all, and the result is reported as unconfirmed rather than a failure.

How to enable HTTP/3

On nginx 1.25+ (built with the QUIC module) add a listen 443 quic reuseport directive alongside the existing listen 443 ssl, set http3 on;, and advertise it with add_header Alt-Svc 'h3=":443"; ma=86400';. On Cloudflare it is a single toggle: Speed → Optimization → Protocol Optimization → HTTP/3 (with QUIC). Caddy enables HTTP/3 automatically with no configuration. LiteSpeed and OpenLiteSpeed ship QUIC support that you enable in the server tuning panel. Whatever the server, two things are non-negotiable: UDP port 443 must be open through every firewall and load balancer in front of the origin, because QUIC does not use TCP, and the Alt-Svc header must actually reach the browser — a proxy that strips it will silently keep clients on HTTP/2. For the best result, also publish an HTTPS DNS record (example.com. IN HTTPS 1 . alpn="h3,h2") so capable clients can pick HTTP/3 before the first connection. After any change, re-run this checker to confirm all three signals line up.

What This Checks

  • Alt-Svc response header inspection for an h3 advertisement
  • HTTPS DNS record (type 65 / SVCB) for an h3 ALPN
  • Live QUIC Version Negotiation probe on UDP port 443
  • Advertised protocol version and port
  • The same HTTP/3 result the full IntoDNS.ai scan reports

Common Fix Path

  • Enable HTTP/3 on your server or CDN (nginx 1.25+, Cloudflare toggle, Caddy auto, LiteSpeed)
  • Add an Alt-Svc: h3=":443"; ma=86400 response header
  • Open UDP port 443 through every firewall and load balancer
  • Publish an HTTPS DNS record with alpn="h3,h2" for pre-connection discovery

Frequently Asked Questions

How do I know if my website supports HTTP/3?
A site supports HTTP/3 when it advertises h3 in its Alt-Svc response header, publishes an h3 ALPN in an HTTPS DNS record, or answers a QUIC packet on UDP port 443. This checker tests all three and reports a pass if any confirms it. You can also verify manually with curl --http3 https://example.com or by opening your browser developer tools, the Network tab, and looking for the Protocol column showing h3.
Why does my first page load not use HTTP/3?
Browsers cannot begin a request over HTTP/3 without first learning the server speaks QUIC. The first connection is made over HTTP/2 or HTTP/1.1, the server advertises HTTP/3 in the Alt-Svc header, and the browser upgrades subsequent connections. So the very first request of a fresh visit always uses an older protocol. Publishing an HTTPS DNS record with an h3 ALPN lets capable clients choose HTTP/3 before that first connection.
What is the difference between HTTP/2 and HTTP/3?
HTTP/2 multiplexes streams over a single TCP connection, so one lost packet stalls every stream until TCP recovers — transport-level head-of-line blocking. HTTP/3 runs over QUIC on UDP, tracks each stream independently so a loss only affects that stream, folds the TLS handshake into connection setup for lower latency, and supports connection migration so a device switching networks keeps the same connection. HTTP/3 is most beneficial on mobile, high-latency, and lossy networks.
My Alt-Svc header shows h3 but the QUIC probe failed — why?
QUIC runs exclusively over UDP port 443. If the Alt-Svc advertisement is present but a direct QUIC probe gets no response, the most likely cause is a firewall, load balancer, or network path that allows TCP 443 but blocks inbound UDP 443. Open UDP 443 end to end. A probe marked inconclusive is different: it means our scanner could not send UDP from its own network, which is a scanner-side limitation, not a problem with your server.
Does enabling HTTP/3 make my site faster?
Usually yes, especially for real-world users on mobile or unreliable networks. HTTP/3 reduces connection setup latency, removes transport head-of-line blocking, and survives network changes without reconnecting. The gains are largest on high-latency or lossy links and smaller on a fast, stable wired connection. It is a safe upgrade because clients that do not support HTTP/3 simply continue over HTTP/2, so there is no downside to enabling it.
What is the HTTPS DNS record and do I need it for HTTP/3?
The HTTPS record (DNS type 65, also called SVCB) lets you advertise protocol support such as alpn="h3,h2" directly in DNS. It is optional but valuable: it lets capable clients discover HTTP/3 before the first connection, removing the initial HTTP/2 round trip that the Alt-Svc mechanism otherwise requires. This checker reports it as a separate detection method, and publishing one alongside your Alt-Svc header gives the fastest possible HTTP/3 negotiation.

Machine-Readable Evidence

AI assistants and automation can cite the stable explanation page, then fetch the live check result for a specific domain.

GET https://intodns.ai/api/web/http3?domain=example.com

Related Tools and Citations