Testing

HTTP/3: Browser Support, Features, Known Issues

HTTP/3 works in Chrome 87+, Edge 87+, Firefox 88+, Opera 74+, Samsung Internet, and Safari 16+ on macOS and iOS. Learn HTTP/3 browser support and quirks.

Author

Prince Dewani

May 1, 2026

HTTP/3 is the third major version of the Hypertext Transfer Protocol, standardized by the IETF in RFC 9114, that runs HTTP semantics over the QUIC transport protocol on UDP. It supports Chrome 87 and later, Edge 87 and later, Firefox 88 and later, Opera 74 and later, Samsung Internet, Chrome on Android, and Safari 16 on macOS, iOS, and iPadOS, while Internet Explorer never added HTTP/3 support.

This guide covers what HTTP/3 is, the browsers that support it, the differences against HTTP/2, key features, how to check support, and known issues to plan around.

What is HTTP/3?

HTTP/3 is the third major version of the Hypertext Transfer Protocol, defined by the IETF QUIC Working Group in RFC 9114 as a Proposed Standard. Unlike HTTP/1.1 and HTTP/2, which run on TCP, HTTP/3 runs on QUIC, a UDP-based transport defined in RFC 9000. QUIC bundles stream multiplexing, TLS 1.3 encryption, and congestion control into one layer, which lets HTTP/3 set up a connection in one round trip and avoid the head-of-line blocking that slowed HTTP/2 on lossy networks.

Which browsers does HTTP/3 support?

HTTP/3 works in every modern desktop and mobile browser. Chrome 87, Edge 87, Firefox 88, Opera 74, Samsung Internet 14, and Safari 16 on macOS, iOS, and iPadOS all enable it by default, while Internet Explorer never received QUIC.

Loading browser compatibility data...

HTTP/3 compatibility in Chrome

Chrome supports HTTP/3 by default from Chrome 87 on Windows, macOS, Linux, ChromeOS, and Android. Chrome 79 to 86 had HTTP/3 disabled by default behind the QUIC command-line flag, and Chrome 4 to 78 did not support it at all.

HTTP/3 compatibility in Edge

Microsoft Edge supports HTTP/3 by default from Edge 87 on Windows 10, Windows 11, macOS, and Linux. Edge 79 to 86 had it disabled by default and required the experimental QUIC flag. Legacy EdgeHTML versions from Edge 12 to 18 never supported HTTP/3.

HTTP/3 compatibility in Firefox

Firefox supports HTTP/3 by default from Firefox 88 on Windows, macOS, Linux, and Android. Firefox 72 to 87 had HTTP/3 disabled by default behind the network.http.http3.enable preference in about:config, and Firefox 2 to 71 did not support it. Mozilla ships its own IETF QUIC stack inside the Necko networking library, written in C++.

HTTP/3 compatibility in Safari

Safari supports HTTP/3 by default from Safari 16 on macOS and from iOS 16 on iPhone and iPad. Safari 14 to 15.6 on macOS and Safari on iOS 14 to 15.8 had HTTP/3 disabled by default behind the Experimental Features panel. Safari 3.1 to 13.1 on macOS and Safari on iOS 3.2 to 13.7 did not support HTTP/3.

HTTP/3 compatibility in Opera

Opera supports HTTP/3 by default from Opera 74 on desktop and from Opera Mobile 80 on Android. Opera 73 had it disabled by default, and Opera 9 to 72 did not support HTTP/3. Opera follows the Chromium release schedule, so it inherits the same QUIC stack Chrome uses.

HTTP/3 compatibility in Samsung Internet

Samsung Internet supports HTTP/3 by default from Samsung Internet 14 on Galaxy phones and tablets. Older Samsung Internet builds on Chromium 86 and below did not support HTTP/3. The browser shares the underlying QUIC implementation with Chrome on Android.

HTTP/3 compatibility in Android Browser

Chrome for Android supports HTTP/3 by default from Chrome 87 on Android 5.0 and later. The stock Android Browser never supported HTTP/3. WebView on Android 5.0 and later inherits the Chromium QUIC stack.

HTTP/3 compatibility in Internet Explorer

Internet Explorer 5.5 through 11 do not support HTTP/3 in any version. The Trident engine never received QUIC. Users on Windows who need HTTP/3 should switch to Microsoft Edge 87 or later or to Chrome 87 or later.

HTTP/3 vs HTTP/2

HTTP/3 keeps the same request, response, and header model as HTTP/2 but swaps the transport from TCP to QUIC over UDP. The table below compares the two on the dimensions that change real performance and shipping decisions.

DimensionHTTP/2HTTP/3
Transport protocolTCPQUIC over UDP
Connection setup2 to 3 round trips (TCP + TLS 1.2 or 1.3)1 round trip on first visit, 0 round trips on return
EncryptionOptional, layered on top of TCPMandatory TLS 1.3, built into QUIC
MultiplexingStreams share one TCP socketStreams are independent at the QUIC layer
Head-of-line blockingOne lost packet stalls every streamA lost packet only stalls its own stream
Connection migrationNew connection if the IP changesConnection survives Wi-Fi to cellular handoff
RFCRFC 7540RFC 9114

What are the key features of HTTP/3?

HTTP/3 keeps every HTTP/2 feature that web developers already use and adds five transport-layer wins delivered by QUIC.

  • Faster connection setup: QUIC merges the transport handshake and the TLS 1.3 handshake, so a fresh HTTP/3 connection completes in one round trip and a return visit completes in zero round trips with 0-RTT resumption.
  • Independent streams: Each HTTP/3 request and response runs on its own QUIC stream. A dropped packet on one stream does not block the other streams, which removes the head-of-line blocking HTTP/2 inherited from TCP.
  • Always-encrypted transport: TLS 1.3 is mandatory in QUIC. HTTP/3 cannot run in clear text, which raises the security floor and removes the option of plain http://.
  • Connection migration: A QUIC connection ID is independent of the IP address. A phone moving from Wi-Fi to cellular keeps the same HTTP/3 connection alive instead of restarting it.
  • Better congestion control: QUIC ships with modern congestion controllers in user space, so browsers and servers can ship CUBIC, BBR, or new algorithms without waiting on operating system kernel updates.
...

How do you check if a browser supports HTTP/3?

The fastest check is the DevTools Network panel. Right-click the column headers, enable the Protocol column, and reload the page. Resources served over HTTP/3 list h3 in that column. For automated testing, the PerformanceResourceTiming API exposes nextHopProtocol with the same value.

Paste this snippet into any browser DevTools console after the page finishes loading to count how many resources used HTTP/3, HTTP/2, or HTTP/1.1.

// Run in any browser DevTools console while on a site you want to test.
// The PerformanceResourceTiming API reports the protocol the browser used.

const entries = performance.getEntriesByType("resource");
const protocols = {};

entries.forEach((entry) => {
    const proto = entry.nextHopProtocol || "unknown";
    protocols[proto] = (protocols[proto] || 0) + 1;
});

console.log("Protocols seen on this page:", protocols);
// HTTP/3 reports as "h3" in nextHopProtocol when QUIC was negotiated.
// HTTP/2 reports as "h2", HTTP/1.1 as "http/1.1".

If every resource reports h2 instead of h3, the server, the network, or a corporate firewall is blocking UDP port 443. Sites also need to advertise HTTP/3 with an Alt-Svc header before browsers will try it on a return visit.

Note

Note: HTTP/3 negotiation breaks across browsers, networks, and proxies. Test it on real browsers and OS with TestMu AI. Try TestMu AI free!

What are the known issues with HTTP/3?

HTTP/3 is stable and standardized, but the UDP-based transport hits real-world friction that HTTP/1.1 and HTTP/2 do not. Plan for these before you turn it on for production traffic.

  • Corporate firewalls block UDP port 443: Many enterprise firewalls and middleboxes drop UDP 443 by default, so users on those networks fall back to HTTP/2 over TCP. Test from real corporate networks before claiming an HTTP/3 win.
  • Higher CPU cost on servers: QUIC moves work that the kernel used to do for TCP into user space, which raises CPU use on busy servers. Cloudflare and Google have published numbers showing 2x to 4x CPU cost compared to HTTP/2 for the same traffic.
  • Internet Explorer is out: Internet Explorer never supported HTTP/3. Sites that still need IE 11 compatibility cannot drop HTTP/2 yet.
  • Open-source tooling lags: NGINX added HTTP/3 in stable 1.25, Apache HTTP Server still has no native HTTP/3 module, and curl needs a build with HTTP/3 enabled. Operators on stock distro packages may not have HTTP/3 yet.
  • Debugging is harder: QUIC encrypts almost the entire transport, so legacy packet captures from tcpdump or Wireshark are useless without TLS keylog files. Plan for qlog and qvis, the QUIC-specific debugging tools.
  • In my experience: the loudest HTTP/3 production issue is silent fallback. A site advertises HTTP/3, the firewall drops UDP, and users get HTTP/2 with extra latency from the failed QUIC probe. Always measure actual nextHopProtocol from real browsers, not just origin support.
...

Citations

All HTTP/3 version numbers and platform notes in this guide come from these primary sources:

Author

Prince Dewani is a Community Contributor at TestMu AI, where he manages content strategies around software testing, QA, and test automation. He is certified in Selenium, Cypress, Playwright, Appium, Automation Testing, and KaneAI. Prince has also presented academic research at the international conference PBCON-01. He further specializes in on-page SEO, bridging marketing with core testing technologies. On LinkedIn, he is followed by 4,300+ QA engineers, developers, DevOps experts, tech leaders, and AI-focused practitioners in the global testing community.

Open in ChatGPT Icon

Open in ChatGPT

Open in Claude Icon

Open in Claude

Open in Perplexity Icon

Open in Perplexity

Open in Grok Icon

Open in Grok

Open in Gemini AI Icon

Open in Gemini AI

Copied to Clipboard!
...

3000+ Browsers. One Platform.

See exactly how your site performs everywhere.

Try it free
...

Write Tests in Plain English with KaneAI

Create, debug, and evolve tests using natural language.

Try for free

Frequently asked questions

Did you find this page helpful?

More Related Hubs

TestMu AI forEnterprise

Get access to solutions built on Enterprise
grade security, privacy, & compliance

  • Advanced access controls
  • Advanced data retention rules
  • Advanced Local Testing
  • Premium Support options
  • Early access to beta features
  • Private Slack Channel
  • Unlimited Manual Accessibility DevTools Tests