TinyPingTinyPing

Website Compression Checker

Check whether a website sends its pages compressed with Brotli, gzip or zstd, and how much smaller each makes the download. Enter a URL such as https://example.com.

Common compression problems

Compression is off

The server sends HTML, CSS and JavaScript at full size. In nginx, gzip is off unless you turn it on; in Apache, mod_deflate has to be enabled and configured. Many hosts and CDNs have a single switch for it.

Only HTML is compressed

nginx compresses only text/html by default. Stylesheets, scripts, JSON and SVG need to be added to gzip_types (and brotli_types). Check a CSS or JavaScript file URL with this tool as well as the page.

gzip but no Brotli

gzip works everywhere, but Brotli usually produces smaller files for text and every current browser accepts it over HTTPS. Offer both: the browser picks the best one it supports.

Missing Vary: Accept-Encoding

Without it, a shared cache or CDN may store one version of the response and give it to every client, including a compressed copy to a client that cannot decode it. Send Vary: Accept-Encoding with every compressible response.

Compressing images and video again

JPEG, PNG, WebP, AVIF, MP4 and WOFF2 are already compressed. Running gzip over them costs server CPU and saves almost nothing. Compress text formats, not media.

A proxy undoes the compression

A load balancer, firewall or old proxy can strip the Accept-Encoding header or decompress the response on its way through. If the origin compresses but this tool says it does not, check each layer in front of it.

How to check website compression

  1. Enter the URL of a page, stylesheet or script, for example https://example.com.
  2. Click Check compression. We request it four times: asking for Brotli, gzip, zstd and no compression.
  3. Read which encodings the server used, the size of each response and the percentage saved.
  4. Turn on what is missing in your server or CDN, then check again.

Why compression matters for speed and SEO

Every page is downloaded before it can be shown. HTML, CSS and JavaScript are plain text with a lot of repetition, so gzip, Brotli and zstd can often shrink them to a fraction of their size. The browser lists the encodings it understands in the Accept-Encoding header, the server picks one and labels the response with Content-Encoding, and the browser unpacks it. Visitors notice nothing except that the page arrives sooner.

Page weight matters most on mobile. Phones are often on slower or congested connections and on metered data plans, where every extra megabyte costs time and money. An uncompressed page can easily be several times heavier than it needs to be.

Speed also feeds into how Google judges page experience. Core Web Vitals measure real visitors, and Largest Contentful Paint (LCP) is the time until the main content appears; Google treats 2.5 seconds or less as good. The browser cannot render a page until it has its HTML and the CSS that blocks rendering, so smaller text files can help LCP. Compression does not shrink images, which are often the LCP element, so it is one fix among several.

Be realistic about rankings. Google says it uses Core Web Vitals as part of its ranking systems, but relevance and content quality come first, and a fast page does not outrank a more useful one. Treat compression as removing a handicap, not as a ranking trick.

Crawling is the other side. Googlebot accepts gzip and Brotli, and Google says it crawls a site more when the server responds quickly. For most small sites crawl budget is not a concern, but large sites with many URLs benefit from every byte and millisecond saved.

# nginx
gzip on;
gzip_vary on;
gzip_types text/css application/javascript application/json image/svg+xml;

# request and response
Accept-Encoding: gzip, deflate, br, zstd
Content-Encoding: br
Vary: Accept-Encoding

When to use a compression checker

PageSpeed Insights says to enable text compression

Lighthouse flags uncompressed text resources. Check the exact URLs it lists to see what the server sends, then check again after the fix.

Moving to a new host or CDN

A migration to new servers, Cloudflare, Vercel or a load balancer can quietly change compression. Compare before and after.

Tuning nginx or Apache

After adding gzip, Brotli or zstd settings, confirm they reach real clients and that Vary: Accept-Encoding is set.

WordPress and Shopify stores

See whether your host or theme already compresses pages before installing a caching or speed plugin that tries to do the same.

Check something else

Frequently asked questions

Which is better, gzip or Brotli?

For text, Brotli usually produces smaller files at similar speed for visitors, and browsers send br only over HTTPS. Offer both: browsers that support Brotli get it, everything else gets gzip.

What is zstd and do I need it?

Zstandard is a newer encoding that compresses quickly on the server. Recent versions of Chrome, Edge and Firefox accept it. It is optional: a site with Brotli and gzip already covers every browser.

Does compression improve my Google ranking?

Not directly. It makes pages lighter and often faster, which helps visitors and Core Web Vitals, and Google uses Core Web Vitals as one of many signals. Relevant, useful content matters far more.

Why are the sizes different from my browser's developer tools?

Your browser may get a different version: other cookies, a different CDN location, or a logged-in page. We also count only the response body for one URL, not the images, scripts and styles the page loads.

Why does the tool stop at 5 MB?

To keep the check quick and fair to your server, we stop reading each response at 5 MB. A page that large is a problem on its own, compressed or not.

Should images be compressed with gzip?

No. JPEG, PNG, WebP, AVIF and video formats are already compressed. Use the right image format and size instead. SVG is text, so it should be compressed.

A fast site only helps when it is up

Compression makes pages lighter. TinyPing makes sure visitors can reach them, checking every 5, 15 or 30 minutes and alerting you when:

  • the site returns an error or times out
  • a keyword you expect disappears from the page
  • the SSL certificate or domain is about to expire
Start monitoring free for 7 days

US$6.99 a month or US$47 a year per 50 monitors, team members free. 7-day free trial, no card needed.

Want alerts in team chat? Follow the guide for Slack or Google Chat.