Free tools Windows power users keep installed
One-click scans. No signup required.
Enable Brotli (br) or gzip for eligible text responses, then verify the headers and cache behavior on real requests. Compression can reduce bytes transferred, but it cannot guarantee a higher PageSpeed Insights score: that score also reflects factors compression does not change.
How Brotli and gzip compression work
HTTP compression is negotiated for each request. A browser can advertise formats it accepts in the Accept-Encoding request header, for example br, gzip. If the server supports and is configured to use one, it returns the selected format in the response’s Content-Encoding header. The exact choice depends on both the request and the server’s capabilities. MDN’s guide to HTTP compression describes gzip as the most common format and Brotli as a newer alternative; the Accept-Encoding reference explains the request header.
As an Amazon Associate I earn from qualifying purchases.
Since the response may differ depending on Accept-Encoding, caches need to know that the header affects representation selection. Send Vary: Accept-Encoding so a cache does not serve a compressed response to a client that cannot use it, or an uncompressed response when a compressed variant is available. MDN explains this cache behavior in its compression guide; Apache’s mod_brotli documentation also covers the Vary header.
Which responses should you compress?
Start with text-heavy responses that your site serves, such as HTML, CSS, JavaScript, and other text-based formats. Check the response’s MIME type and confirm the server actually compresses it. Do not spend effort trying to compress already-compressed formats such as most images, audio, and video; MDN’s compression guidance makes this distinction.
Compression eligibility is not the same as compression being enabled for every file. For example, NGINX’s gzip module uses gzip_types to specify MIME types in addition to text/html. Review the documentation for your server, hosting platform, or CDN rather than assuming that one configuration applies everywhere.
Choose a server-specific deployment path
There is no single universal setting to turn on Brotli or gzip: module availability and configuration depend on the server and its build. Use the documentation for the exact product and version you run, and check whether compression is handled by the origin server, a proxy, or a CDN.
Rank #2
- Apache: Apache documents Brotli through the
mod_brotlioutput filter, including an option for serving pre-compressed content. For gzip, MDN identifies Apache’smod_deflate. - NGINX: The official
ngx_http_gzip_moduledocumentation covers gzip configuration, MIME-type selection, Vary behavior, and the$gzip_ratiovariable. This is the gzip module; Brotli may require a separate module, and availability depends on how the deployment was built. - IIS: MDN points to IIS’s
<httpCompression>configuration element. Confirm the appropriate settings and feature support in documentation for your IIS version; the cited guidance does not establish a version-specific Brotli setup.
Whether to compress on demand or serve pre-compressed files is an operational choice. Compare the transferred bytes for representative assets, response latency and server CPU under your workload, and the availability of the chosen approach on your host. There is no established universal Brotli-versus-gzip ratio or speed result that applies to every site’s assets and configuration.
Validate the response, not just the setting
A configuration directive alone does not prove that visitors receive compressed responses. Inspect representative requests through the same public route your visitors use, including any CDN or proxy in front of the origin. Compare requests that advertise supported encodings with those that do not, and confirm that the returned representation and cache headers match.
- Request: Check the request’s
Accept-Encoding. - Response: Check whether
Content-Encodingisbr,gzip, or absent as expected for that request. - Cache behavior: Check for
Vary: Accept-Encodingwhen encoding selection depends on that request header. - Asset eligibility: Check the MIME type and whether the response is text-based rather than an already-compressed media file.
- Transfer result: Compare transferred size for the same representative asset with and without compression, while keeping the requested resource and test path consistent.
If a response is not compressed, investigate whether compression is enabled at the component that actually serves it, whether the MIME type is included, and whether a proxy or CDN changes the behavior. On NGINX, the gzip module’s $gzip_ratio can help inspect its gzip result; it is not a Brotli measurement.
What compression can—and cannot—do for PageSpeed
Compression can reduce the bytes transferred for eligible responses. That is a useful optimization, but it does not promise a particular score increase or a Core Web Vitals improvement. The effect depends on the page and its other performance bottlenecks.
Rank #4
Google’s PageSpeed Insights overview says PSI reports both Lighthouse lab diagnostics and field data from Chrome User Experience Report (CrUX). Google cautions that lab data may not capture real-world bottlenecks; field data reflects real users. PSI also reports on INP, LCP, and CLS, which compression alone cannot determine.
Do these 3 things before closing this tab:
1Fix the driver behind crashes, sound loss and screen glitches2Clear out junk files and repair common Windows errors3Scan for outdated or missing drivers - takes under a minuteGoogle’s separate “Enable Compression” page is deprecated guidance for the PageSpeed Insights API v4. Its gzip audit is historical, not a description of the current PSI interface and not proof that PSI requires gzip instead of Brotli. That page documented proxies or antivirus software changing the headers returned to a client as an explanation for why its old audit might not recognize server compression. If you encounter that specific legacy discrepancy, inspect the response headers seen by the client; do not treat the deprecated audit as a current verdict.
Quick Recap
Best Value
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




