⚡ HTTP/3 Checker
Check if a website supports HTTP/3 protocol for ultra-fast, reliable connections.
How a site announces HTTP/3
Enter a domain and the check connects to it and reports whether HTTP/3 is available. Finding that out is less direct than it sounds, because HTTP/3 does not run on TCP at all - it runs on QUIC, over UDP port 443 - and a client cannot know that is on offer until someone tells it. The server does so with a header on an ordinary connection:
alt-svc: h3=":443"; ma=86400
Read that as: the same service is also reachable by HTTP/3 on port 443, and you may remember this for 86,400 seconds. So a browser's very first visit to a site is never over HTTP/3. It arrives on HTTP/2, notices the advertisement, and uses QUIC from the next request onwards.
What QUIC actually fixes
- Head-of-line blocking below HTTP. HTTP/2 multiplexes streams, but they share one TCP connection, so a single lost packet stalls every stream until it is resent. QUIC's streams are independent: the loss holds up only the stream it belonged to.
- A shorter handshake. TLS 1.3 is built into the transport rather than layered on top, so a new connection is one round trip, and a resumed one can carry data in the first packet.
- Surviving a network change. A connection is keyed by an ID, not by an IP and port pair, so a phone moving from Wi-Fi to cellular keeps the same connection instead of rebuilding it.
Those are all latency and packet-loss wins, which is why the gains show up on mobile and long-distance connections and barely register on a desktop next to the server.
Frequently asked questions
How do I enable HTTP/3 on my server?
If you sit behind Cloudflare, Fastly or CloudFront it is a switch in
the dashboard, and often already on. Self-hosting, nginx supports it
from 1.25 with a listen 443 quic directive alongside the
usual TLS one, Caddy and LiteSpeed enable it by default, and Apache
still needs a third-party module. Whatever you use, UDP 443 has to be
open in the firewall.
My site supports HTTP/3 but the browser keeps using HTTP/2. Why?
Most likely you are looking at a first connection, before the
alt-svc advertisement has been seen or after its lifetime
expired. Otherwise, UDP is being blocked somewhere between you and the
server, or the browser tried QUIC, found it slow, and went back. Chrome
shows the protocol per request in the Network panel's Protocol column.
Is it worth turning on?
It costs nothing at the application layer and helps most where connections are lossy - mobile networks, satellite, visitors on the far side of an ocean. On a fast fixed line the difference against HTTP/2 is small. Turn it on, keep HTTP/2 enabled alongside it, and let each client take whichever it can reach.