Text compression
Uncompressed HTML, CSS and JS cost 60-80% more transfer size for nothing. How this check reads Content-Encoding, and the server config to fix it.
What it is
This checks whether text resources — HTML, CSS, JavaScript — are served with gzip or brotli compression via the Content-Encoding header. Resources under about 1.4KB are excluded, matching Lighthouse's own threshold: below that size, compression's header overhead costs more than it saves.
It's a page-level check across every text response observed during the scan, not just the document itself.
Why it matters
Gzip and brotli typically cut text transfer size by 60-80% for negligible CPU cost — one of the few performance levers with essentially no tradeoff, which is why most CDNs and web servers enable it by default. A site failing this check usually has it explicitly turned off somewhere, not simply never turned on.
On a slow connection, the difference between a compressed and uncompressed HTML document can be the difference between content arriving in one round trip or several.
How to fix it
with a reference docgzip on;
gzip_types text/plain text/css application/javascript application/json;
gzip_min_length 1400;<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/css application/javascript
</IfModule>Related checks
3This is one of the 75 checks the scanner runs. See what we check for the full list, every severity weight, and how the score is computed from them.