Brotli Checker
Check whether a site serves Brotli-compressed responses (Content-Encoding: br) for faster page loads.
No result yet
Enter the inputs above and press Run. Results appear here in a moment.
Monitor this 24/7 — get alerts on the first failure.
Only run these tools against systems you own or are authorized to test. Using them to scan or probe systems without permission violates our Terms.
What is Brotli Checker?
Brotli is a compression algorithm from Google that consistently beats gzip on text — HTML, CSS, JavaScript, JSON — by 15-25%. Fewer bytes over the wire means faster first paint, lower bandwidth bills, and a measurable nudge to Core Web Vitals (and therefore search ranking). Almost every browser has supported it for years, so the only question is whether your server or CDN actually sends it.
This tool asks a site for a Brotli-compressed response (the way a real browser does, by advertising Accept-Encoding: br) and reports whether the server honoured it — i.e. whether the response came back with Content-Encoding: br, or fell back to gzip or no compression at all.
How it works
It reproduces exactly what a browser negotiates on every request:
- 1Advertise Brotli support — Send a request with
Accept-Encodingofferingbr(alongsidegzip), telling the server the client can decode Brotli — the same handshake your browser performs. - 2Read what came back — Inspect the
Content-Encodingresponse header.brmeans the server compressed with Brotli;gzipmeans it fell back to the older algorithm; absent means the response wasn't compressed at all. - 3Report the result —
Yeswhen Brotli was served, with the exactContent-Encodingvalue;Nootherwise. Compression is content-negotiated per response, so the answer reflects what this specific resource returned.
Compression is opportunistic: the server only Brotli-encodes when the client asks for it AND the content type is worth compressing. A No here usually means a config gap (Brotli not enabled, or only enabled for pre-compressed static files), not that Brotli is unavailable.
When you'd use it
Confirm Brotli is live after enabling it
You flipped on brotli on; in nginx, or ticked the Brotli box in your CDN dashboard. Don't trust the toggle — verify the wire. This tells you immediately whether real responses now carry Content-Encoding: br.
Performance audit
Pages feel heavy and Lighthouse flags "enable text compression." Check whether you're shipping uncompressed or gzip-only responses where Brotli would shave 15-25% off the transfer size — one of the cheapest performance wins available.
CDN configuration check
Your origin serves Brotli but your CDN re-compresses or strips it (or vice versa). Checking the public hostname tells you what visitors actually receive after the CDN layer, not what your origin intended.
Debugging a Core Web Vitals regression
LCP crept up after an infra change. Oversized text payloads are a frequent cause — confirm compression didn't silently revert to gzip or off during the migration.
Pre-launch checklist
Before a launch, verify the boring-but-impactful basics: HTTPS, caching headers, and text compression. Brotli on the main document and your CSS/JS bundles is a one-line config that pays off on every page load.
Reading the result
Brotli supported (yes / no)
Yes means the server returned Content-Encoding: br when offered Brotli — it's live. No means it didn't: either it fell back to gzip, or sent the response uncompressed. No is a finding worth acting on, not an error.
Content-Encoding
The exact value the server returned. br is Brotli; gzip is the older fallback (still good, just not optimal for text); empty means no compression was applied to this response.
Check time
How long the request took. Brotli at high compression levels costs more CPU on dynamic responses — most sites pre-compress static assets to avoid that cost on every request.
Common pitfalls
Brotli only happens over HTTPS
Browsers only advertise br on secure connections, and most servers only offer it over TLS. If you test a plain http:// URL you may see gzip or nothing even on a Brotli-capable server — always check the https:// origin.
Only compressible content gets compressed
Brotli (like gzip) is for text — HTML, CSS, JS, JSON, SVG, fonts. Already-compressed binaries (JPEG, PNG, WebP, MP4, ZIP) are not re-compressed, and shouldn't be. A No on an image URL is correct behaviour; test an HTML or CSS URL.
Static vs. dynamic Brotli
Many servers Brotli-compress only pre-built static files (where they can afford max compression once) and serve dynamic HTML with gzip — because Brotli at high levels is CPU-expensive per request. So your .css may be br while the document is gzip. Check the specific resource you care about.
The CDN has the final say
Even with Brotli enabled at the origin, a CDN can decompress and re-serve with gzip, or strip encoding entirely. What the visitor receives is whatever the last hop sent — so test the public hostname, not just the origin.
Run Brotli Checker on every change, not just once.
Get alerts the moment something breaks — across HTTP, DNS, SSL, RDAP, ping, blacklist and more. Free forever for 10 monitors. No card.
Start freeFrequently asked questions
Is Brotli actually better than gzip?
Why does it say not supported when I enabled Brotli?
http:// URL (Brotli is negotiated on HTTPS), you tested a non-compressible resource like an image, the server only Brotli-compresses static files and you hit dynamic HTML, or a CDN in front re-compressed the response with gzip. Test the https:// document or a .css/.js URL through the public hostname.Does Brotli work over plain HTTP?
Accept-Encoding: br on secure (HTTPS) connections, and servers follow suit. Always check the HTTPS version of a URL.What content should be Brotli-compressed?
Which browsers support Brotli?
How do I enable Brotli?
ngx_brotli module (brotli on; brotli_types ...;). On a CDN (Cloudflare, Fastly, CloudFront via a function, etc.) it's usually a single toggle or a behaviour setting. After enabling it, re-run this check against the public hostname to confirm responses now return Content-Encoding: br.Related web tools
- MCP Server CheckerTest a Model Context Protocol server: initialize handshake, protocol version, capabilities and the full tool inventory.
- SSL Certificate CheckInspect certificate validity, expiry, SANs, issuer and chain trust.
- HTTP HeadersInspect response headers, status, redirect chain and security headers.
- CDN CheckerDetect which CDN (Cloudflare, Akamai, Fastly, and more) serves a site, from its DNS and response headers.