GZIP and Brotli are compression algorithms used to shrink responses before they're sent over the wire. The browser sends an Accept-Encoding header (e.g. gzip or br), the server compresses the body, and the client decompresses it. Less bytes means lower bandwidth, lower egress costs, and faster loads. Brotli typically compresses text (HTML, CSS, JS) better than GZIP, so we wanted it at the edge.
We assumed Cloudflare was already serving Brotli when clients asked for it. It wasn't. Our traffic was going out as GZIP, and Brotli had to be enabled explicitly in the Cloudflare settings. Once we turned it on, the impact was immediate.
We rolled out Brotli in two steps: February 23 at 19:00 UTC for a subset of routes, then February 24 at 10:00 UTC for all incoming requests. The numbers below compare a full day before (February 22, GZIP) with a full day after full rollout (February 25, Brotli).
The numbers by content type
We measured data transfer by content type in Cloudflare. Same traffic, same period. Here's how much we reduced bandwidth in each category.
In the three graphs below, the dashboard shows the drop clearly: after day 24, when Brotli was enabled for all requests, data transfer falls and stays lower for HTML, CSS, and sprites.svg.
HTML
HTML had the biggest win: 53% less bandwidth. Every page view now sends roughly half the bytes it did before, which directly reduces egress and speeds up first paint.

CSS
CSS came in at 50% less bandwidth. Lighter stylesheets mean faster critical-path loads and less data on every request.

sprites.svg
sprites.svg is a route deco uses to serve all SVGs from a single endpoint instead of many separate requests.
SVG is already lean, but we still saw 27% less bandwidth for sprites.svg. Every bit adds up across millions of requests.

Latency
We're still monitoring, but we've already seen route latency go down. That was a concern going in: Brotli compression is more CPU-intensive than GZIP, so we were watching for a possible latency increase. So far, the smaller payloads are winning—less data to send means faster response times at the edge.
What you get
Brotli is live for all incoming requests at the edge. No config change on your side: clients that send Accept-Encoding: br get Brotli automatically. You get less bandwidth, lower egress, and faster loads. Already live. Questions? Reach out on Discord.







