ERR_QUIC_PROTOCOL_ERROR in Chrome: Fix
ERR_QUIC_PROTOCOL_ERROR: Chrome's QUIC (HTTP/3 over UDP) connection broke. Fix in 3 checks: server, UDP port 443, middlebox. Free instant check, no sign-up.
Check your domain for this issue now
Free, no sign-up. Runs the exact check this guide describes and shows what to fix.
Problem
Chrome fails to load a page with ERR_QUIC_PROTOCOL_ERROR. The site is reachable by other browsers or over a different network, but Chrome keeps dying on the QUIC connection.
Symptoms
- Chrome shows
ERR_QUIC_PROTOCOL_ERROR; the page is blank or half-rendered. - The same URL loads fine in Firefox or Safari, or in Chrome on a different network.
- It fails on one network (often corporate Wi-Fi) and works on another (often cellular).
- Disabling QUIC in
chrome://flagsmakes it go away — which is a clue, not a cure.
What This Error Actually Means
QUIC is a transport protocol Google built and the IETF standardized as RFC 9000 in 2021. HTTP/3 (RFC 9114) runs on top of it. The headline difference from everything before: QUIC runs over UDP, not TCP, and folds the TLS 1.3 handshake directly into the transport to shave a round trip off connection setup.
Here’s the part that produces this error. A server advertises HTTP/3 by sending an Alt-Svc: h3=... header over its normal HTTPS response. Chrome sees that, remembers it, and on the next visit races a QUIC connection over UDP 443 against the regular TCP connection. When QUIC works, it’s faster. When the QUIC attempt breaks in a way Chrome can’t cleanly recover from, you get ERR_QUIC_PROTOCOL_ERROR instead of a silent fall back to TCP.
So the error isn’t “the website is down.” TCP 443 is usually fine — that’s why the site loads the moment you disable QUIC. What broke is specifically the UDP/QUIC path: either the packets don’t get through, or one end is speaking QUIC badly.
Top 3 Causes
- A firewall or middlebox drops UDP 443 - This is the most common cause on managed networks. Corporate firewalls, some home routers, and older network appliances are configured to pass TCP on 443 but block or rate-limit UDP on the same port, because for years nothing important used it. QUIC’s packets vanish into that gap. The tell is a failure that tracks the network, not the site.
- The server or CDN speaks QUIC incorrectly - A half-baked HTTP/3 rollout, a buggy edge build, or an origin that advertises
Alt-Svc: h3but mishandles the QUIC handshake. The server promised HTTP/3 and can’t deliver it correctly, so Chrome’s connection collapses. - A local intermediary mangles or blocks the UDP flow - A VPN, a TLS-inspecting antivirus, or a browser extension that intercepts traffic can break QUIC while leaving TCP alone. QUIC also uses larger UDP datagrams, so a path with a small MTU or aggressive fragmentation handling can silently kill the handshake where TCP would have coped.
Diagnose with DechoNet
- HTTP Check to read the response headers and confirm the server is actually advertising HTTP/3 with an
Alt-Svc: h3header, and that the ordinary HTTPS response over TCP is healthy. A clean TCP response plus a QUIC-only failure narrows the problem to the UDP path. - Port Check to confirm 443 is open and the site is reachable, separating a real connectivity outage from a QUIC-specific one.
- SSL Check to rule out the TLS layer entirely — if the certificate and handshake are valid, the fault is in QUIC transport, not crypto.
Resolution Checklist
- Confirm it’s QUIC-specific: open
chrome://flags, set Experimental QUIC protocol to Disabled, relaunch, and reload. If the page now works, the QUIC path is the culprit — keep diagnosing, don’t stop here. - Test a different network (tether to cellular). If it works off the corporate network, a firewall is dropping UDP 443 — fix that with the network team rather than disabling QUIC on every client.
- Disable VPN, TLS-inspecting antivirus, and extensions one at a time to isolate a local intermediary.
- If you run the server or CDN: verify the HTTP/3 configuration and edge version, or temporarily stop sending the
Alt-Svc: h3header so clients stay on healthy HTTP/2 until QUIC is fixed. - Re-run HTTP Check to confirm the
Alt-Svcheader and TCP response are what you expect.
When to Escalate
- If HTTP Check shows a clean origin over TCP but QUIC fails only through your CDN, escalate to the CDN — their HTTP/3 edge is the broken link.
- If the failure is confined to one office or ISP, escalate to the network team: UDP 443 is being filtered, and the durable fix is a firewall rule, not a browser flag on every desk.
- Advertising
Alt-Svc: h3while QUIC is broken is worse than not offering HTTP/3 at all — every affected user pays a failed connection attempt before falling back. Stop advertising it until it works.
Related Tools
Related Guides
Share this guide