How do I test if my site supports HTTP/3?

Crawvix Editorial Team · Published November 1, 2026 · Last updated November 1, 2026 · 2 min read

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

  1. 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, h2 or h3.
  2. Reload a second time. Browsers learn about HTTP/3 from the server, so the first visit often shows h2 and later requests can show h3.
  3. 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.

  1. Use curl with HTTP/3. Many curl builds do not include HTTP/3, so check first with curl --version and look for HTTP3 in 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.

  1. 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.

Crawvix's scan checks whether your site serves HTTP/2 or HTTP/3. To see yours, Try the free website sample.

In this category

All 100 Quick answers guides