Open your site in Chrome, show the Protocol column in the DevTools Network panel and reload; an entry marked h3 was served over HTTP/3. You can also look for an alt-svc header that advertises h3, or run curl with the --http3 flag if your build supports it.
Why it matters
HTTP/3 (RFC 9114) runs over QUIC and UDP. Turning it on at your CDN or server is only half the job: you need to confirm browsers actually use it, because a firewall that blocks UDP or a missing setting means visitors quietly fall back to HTTP/2 (RFC 9113). Testing tells you which protocol real connections get.
How to check
- Browser DevTools. Open Chrome DevTools, go to the Network panel, right-click a column heading and enable Protocol. Reload the page. The values are
http/1.1,h2orh3. - Reload a second time. Browsers learn about HTTP/3 from the server, so the first visit often shows
h2and later requests can showh3. - Read the Alt-Svc header. This response header tells browsers that an HTTP/3 service exists:
curl -sI https://example.com/ | grep -i alt-svc
A line such as alt-svc: h3=":443"; ma=86400 means the server advertises HTTP/3. The ma value is how long, in seconds, the browser may remember it.
- Use curl with HTTP/3. Many curl builds do not include HTTP/3, so check first with
curl --versionand look forHTTP3in the features list. Then run:
curl -sI --http3 -o /dev/null -w "%{http_version}\n" https://example.com/
An output of 3 means the connection used HTTP/3.
- Try an online checker. Several online tools attempt a QUIC connection from outside your network and report the result. Use more than one if the answer is unclear.
If it does not work
- Confirm HTTP/3 is switched on in your CDN or server settings. Look for HTTP/3 in the protocol options.
- Make sure UDP port 443 is allowed through the firewall, since HTTP/3 uses UDP rather than TCP.
- Check that the site is served over valid HTTPS.
- Retest from a different network, because some office and school networks block UDP.
Common mistakes
- Concluding it is unsupported after one first load that showed
h2. - Testing with a curl build that lacks HTTP/3 and reading the error as a site problem.
- Only checking the home page, not a subdomain used for assets.
- Allowing TCP port 443 but not UDP port 443.
Frequently asked questions
Does a result of h2 mean something is broken?
No. HTTP/2 is a normal, working result. It simply means HTTP/3 was not used for that request, which can be expected on a first visit or on a network that blocks UDP.
Which browsers support HTTP/3?
Current versions of major browsers support it. Check MDN or the browser's own documentation for exact version details.
Do I need HTTP/3 enabled?
It is optional. HTTP/2 keeps working for every visitor, and HTTP/3 may help on unreliable connections.
Related guides
- HTTP/2 and HTTP/3 performance
- CDN setup for SEO and performance
- Cloudflare SEO settings
- HTTP security headers
Crawvix's scan checks whether your site serves HTTP/2 or HTTP/3. To see yours, Try the free website sample.