Check GZIP Compression
Free gzip compression test that verifies whether any URL serves compressed responses. Compression typically reduces transfer size by 70%+ for HTML/CSS/JS — critical for page speed and Core Web Vitals.
Share on Social Media:
Check GZIP Compression: Test Whether Your Website Is Serving Compressed Files
Most websites ship their HTML, CSS, and JavaScript as raw text, and raw text is wildly inefficient. A typical homepage carries the same opening tags, class names, and function keywords hundreds of times over, and every one of those repetitions travels across the wire in full unless the server compresses the response first. The Check GZIP Compression tool answers a single, high-value question: is your server squeezing those bytes before they reach a visitor, or shipping them whole? Paste a URL, click Check, and you get back the compressed transfer size, the original uncompressed size, the exact percentage saved, and the HTTP response header that proves it.
The reason this is worth a dedicated tool rather than a glance in your browser's network tab is precision. Compression is configured per content type, so a server can compress your HTML beautifully while quietly skipping the 400 KB JavaScript bundle that is actually slowing the page down. A blended page-speed score hides that. This tool isolates one factor — text compression — and gives you a binary verdict on the exact URL you hand it, with the byte counts to back it up. No install, no command line, no account.
How to Check GZIP Compression on Any URL
A complete test takes a few seconds, and a beginner gets the same accurate answer as a seasoned engineer with the same clicks.
- Copy the full web address you want to test. This can be a homepage like https://example.com, a deep page such as a blog post, or a direct link to a single asset like https://example.com/assets/app.js. Including the https:// prefix avoids ambiguity.
- Paste the URL into the input box at the top of the tool.
- Click "Check." The tool requests the resource the way a real browser does, advertising Accept-Encoding: gzip, deflate, br so the server knows it may return a compressed response.
- Read the verdict. Within a second or two you see a clear status: compression enabled, or not. Green means the server returned the resource with GZIP applied; a red or warning result means it arrived uncompressed.
- Compare the size numbers. The tool reports the compressed transfer size, the original uncompressed size, and the percentage saved, so you can see exactly how much smaller the file became.
- Inspect the response header. The presence of Content-Encoding: gzip is the definitive proof. The tool surfaces it directly so you do not have to open developer tools and read it yourself.
- Repeat for your heaviest assets. Because compression is set per file type, test your HTML, your main stylesheet, and your largest script separately rather than trusting the homepage to represent all of them.
That is the entire workflow. Nothing uploads from your computer, there is no queue, and there is no cap forcing you to sign up after a handful of tries.
A Worked Example: Reading a Real Result
The numbers only help if you know how to read them. Say you test a content-heavy article page and the tool returns this:
- Uncompressed size: 142 KB
- Compressed size: 27 KB
- Savings: 81%
- Header: Content-Encoding: gzip
That is a healthy result. The header confirms GZIP is genuinely applied, and an 81% reduction is in the normal band for text-heavy HTML, which typically falls between 70% and 85%. Now suppose you test your main JavaScript bundle on the same site and get this instead:
- Uncompressed size: 388 KB
- Compressed size: 388 KB
- Savings: 0%
- Header: (none)
Identical byte counts and a missing header mean the server is shipping that bundle raw. This is the classic split-configuration bug: HTML is compressed because it uses the server's default MIME type, but application/javascript was never added to the compress list. The visitor downloads 388 KB instead of roughly 110 KB on the single largest asset on the page — far more impactful than the HTML you correctly compressed. The only way to catch this is to test the script URL directly, which is precisely why step seven above matters.
One more reading worth recognising: a result of 198 bytes uncompressed, 0% saved, no header on a tiny JSON endpoint is not a bug. Below roughly 1 KB the per-response overhead of compressing and decompressing can exceed the savings, so well-configured servers deliberately skip small payloads. Context turns the same "0%" from an alarm into a non-event.
What GZIP Compression Actually Is and Why It Matters
GZIP is a lossless compression format built on the DEFLATE algorithm, which pairs LZ77 string-matching with Huffman coding. The name comes from GNU zip, written as a free, patent-unencumbered replacement for older compression utilities. On the web, GZIP is applied to the body of an HTTP response: the server compresses the text before sending it, and the browser transparently decompresses it on arrival. The visitor never sees the mechanics; they just receive a smaller download.
It works so well because the assets that make up most pages are text — HTML, CSS, JavaScript, JSON, SVG, XML — and text is enormously repetitive. The same tags, property names, and whitespace patterns recur constantly, and compression thrives on repetition. That is why a 100 KB HTML document routinely shrinks to 20 KB. Smaller transfers mean faster loads, lower bandwidth bills, and a markedly better experience on slow or metered mobile connections, where every saved kilobyte renders sooner.
What the Tool Measures
Each check reports four specific things. The compressed size is how many bytes actually travel across the wire. The uncompressed size is how large the same content would be without GZIP. The savings percentage is the ratio between them. And the Content-Encoding header is the server's own declaration of what it applied. A page only counts as compressed when the header is present and the byte counts confirm a real reduction — one without the other is misleading.
GZIP vs ZIP vs Brotli
People often ask about gzip vs zip compression. They are related but not the same. ZIP is an archive container that bundles many files and folders together and compresses them, usually with DEFLATE; you use it to package a folder for download. GZIP compresses a single data stream and is the format browsers and servers speak natively over HTTP; you use it to transparently shrink a web response.
There is also Brotli, a newer algorithm that usually beats GZIP on text, often by 15% to 20% at higher quality levels. Many modern servers and CDNs negotiate Brotli when the browser supports it and fall back to GZIP otherwise. This matters when reading results: a header of Content-Encoding: br with strong savings is not a failure of compression — it is a more modern setup than GZIP. "No GZIP" and "no compression" are not the same statement.
Understanding GZIP Compression Levels
GZIP supports levels from 1 to 9. Level 1 is fastest but produces the largest output; level 9 squeezes hardest but burns the most CPU. Most servers default to a middle setting like level 6, which balances speed and size for content compressed on the fly. Static files compressed once and cached can afford the maximum. Knowing the gzip levels of compression explains small variations in the tool's numbers: the same file at level 9 versus level 1 might differ by a few percentage points, a gap that is almost always trivial next to the gain from turning compression on at all.
When This Check Earns Its Place
Knowing whether compression is active has an outsized impact on real performance. Concrete situations where this tool pays off:
- After a host or stack migration. Default configs vary wildly between hosts. Run the check on your HTML and your largest script before announcing the move, so you are not silently serving raw bytes from a fresh server.
- Validating a CDN edge. Cloudflare, Fastly, and cloud edge services often compress on the fly — but a CDN can also cache an uncompressed origin response and keep serving it. Testing the live URL confirms the edge your visitors actually hit is returning compressed bytes.
- Confirming a Lighthouse fix. Lighthouse and PageSpeed flag "Enable text compression" as an opportunity. After you make the config change, re-check the exact URLs they flagged to prove the fix landed on the live site, not just in your local build.
- Isolating a slow page. A page feels sluggish and the cause is unclear. A compression check rules one of the most common culprits in or out in seconds, freeing you to look at images, render-blocking scripts, or queries if compression turns out fine.
- Auditing API and asset endpoints. Verbose JSON responses benefit hugely from compression and are easy to forget. Confirm your endpoints return Content-Encoding: gzip rather than shipping full payloads on every request.
- Studying a fast reference site. Point the checker at any public URL to learn whether a fast competitor relies on GZIP, Brotli, or aggressive caching — useful intelligence when you are deciding what to adopt.
If the Tool Says "Not Compressed": Fixing It
When the check reports no compression, the fix is almost always a small configuration change. This tool only checks, but knowing the next move turns a red result into an action item. The exact method depends on your stack.
Apache
To enable GZIP compression on Apache, the relevant module is mod_deflate. Enable it, then add directives naming the MIME types to compress — typically text/html, text/css, application/javascript, application/json, image/svg+xml, and XML. These usually live in the main config or a .htaccess file in your document root. The most common Apache mistake is enabling the module but forgetting to list application/javascript, which produces exactly the split result shown in the worked example above. Reload Apache and re-run the checker on a script URL to confirm.
Nginx
On Nginx the directive is gzip on; inside the http or server block, paired with a gzip_types list and an optional gzip_comp_level. The gotcha: Nginx compresses only text/html by default and nothing else, so every other content type you care about must be named explicitly in gzip_types. Omitting it is the single most frequent reason an Nginx site shows compressed HTML but uncompressed CSS and JS.
IIS
To enable GZIP compression on IIS, turn on both static and dynamic compression in the server features and configure the qualifying MIME types. Windows ships the compression modules but does not always enable them, which is why a freshly provisioned IIS site so often shows up uncompressed in the checker.
CDNs and Managed Platforms
On a CDN or managed platform, compression is often a single dashboard toggle or on by default. Here the tool's real value is confirming the toggle actually produces compressed responses at the edge — toggles set in a dashboard and edges serving stale cache do not always agree.
Getting an Accurate, Trustworthy Reading
A check is only as good as the way you interpret it, and a few habits sharpen accuracy. Test the specific file types you care about rather than assuming the homepage speaks for everything — the split-config bug only appears when you test the script directly. Expect very small files to show no GZIP, because the compression overhead can exceed the savings on a tiny payload, and that is correct behaviour rather than a fault.
Mind your caching layers. If a CDN cached an uncompressed copy before you enabled compression, you may see stale results until the cache refreshes; re-checking after a short wait, or purging the cache, usually clears it. When comparing before-and-after numbers during a fix, test the same exact URL both times so you are measuring a like-for-like change. And remember the check is read-only — it makes the same harmless request a search crawler makes millions of times a day, logs into nothing, submits nothing, and stores nothing. Because you only ever supply a public address, no private file from your machine is ever involved; a page behind authentication simply returns no result, which is itself a useful signal that it is not publicly reachable.
Tips & Troubleshooting
The tool says my page is not compressed, but I enabled it. Why?
The usual causes are a config that compresses some MIME types but not the one you tested, a CDN serving a cached uncompressed copy, or a syntax error that stopped the config from loading. Re-check the exact content type of the URL, purge any cache, and confirm the server reloaded after your change.
Why does one file show savings and another shows none?
Compression is set per content type and sometimes per size. Images and video are already compressed and should not be GZIPed again, so servers correctly skip them. Tiny text files may be skipped because the savings would be negligible. Variation across files is normal and usually correct.
The result mentions Brotli instead of GZIP. Is that a problem?
No. Brotli is a newer, often more efficient text compression method. If the server chose Brotli, your content is still compressed — frequently more than GZIP would manage. The absence of GZIP in that case signals a modern setup, not a misconfiguration.
Can I check a page that requires login?
This tool checks publicly reachable URLs. A page behind authentication cannot be seen the way a logged-in user sees it, so the result will not reflect that protected content. Test a public equivalent instead.
Does enabling compression ever break anything?
For standard text assets it is safe and universally supported. The rare edge case is double-compressing already-compressed binary files, which wastes CPU for no benefit, so well-configured servers exclude them. The checker helps you confirm the right types are being targeted.
How much speed improvement should I expect?
For text-heavy pages, GZIP commonly cuts transfer size by 60% to 80%. The visible speed gain is largest on slow or mobile connections, where every saved kilobyte renders sooner. On fast connections the difference is smaller but still meaningful for bandwidth costs.
Why do my uncompressed and compressed sizes look almost identical?
That usually means compression is not being applied, or the file is mostly non-text content like an embedded image that does not compress further. Confirm the Content-Encoding header is present; if it is missing, the server sent the file raw.
Related Tools
If you found the GZIP checker useful, these other free tools on Tools Hub pair naturally with website performance and file-size work:
- Image Compressor — shrink JPEG and PNG images, since GZIP does not help already-compressed media and oversized images are a top cause of slow pages.
- PDF Compressor — reduce the size of heavy PDF documents before you upload or email them.
- Minify CSS — strip whitespace and comments from stylesheets so the text GZIP compresses is already as lean as possible.
- Minify JavaScript — do the same for scripts, multiplying the benefit you get from compression.
- Base64 Encode / Decode — convert small assets to and from Base64 when inlining them, a related front-end optimization technique.
- Word to PDF — turn documents into a portable, shareable format when you need a fixed-layout file rather than a web page.
Frequently Asked Questions
Is the Check GZIP Compression tool free?
Yes. It is completely free with no hidden charges. Run as many checks as you like on as many URLs as you like without paying anything.
Do I need to create an account or sign up?
No. There is no sign-up and no login required. Paste a URL, click Check, and see your result immediately. The tool never asks for an email or any personal details.
Does the tool add a watermark or modify my site?
No. The check is entirely read-only. It adds no watermark, changes nothing on the site you test, and never writes to or alters the server. It only reads the response and reports what it found.
Is my data kept private?
Yes. You only ever provide a public web address, so no private file leaves your computer. The tool fetches a page that is already published and reports on its headers and size. Your testing is not shared or published anywhere.
What is the difference between checking GZIP and checking page speed?
A page-speed tool measures total load time across many factors and returns a blended score. The GZIP checker isolates one specific, high-impact factor — whether text content is compressed in transit — and gives a precise answer on the exact URL you test, which makes it ideal for diagnosing that one issue.
Why is GZIP compression important for SEO?
Search engines factor page experience and loading speed into rankings, and uncompressed text is a common, easily-fixed cause of slow pages. Confirming compression is active is one of the simplest wins for both rankings and real user satisfaction, which is why so many SEO checklists include a compression test.
What does the Content-Encoding header tell me?
It is the server's official declaration of how the response body was encoded. When it reads gzip, the content was GZIP-compressed; when it reads br, Brotli was used; when it is absent, the content was sent uncompressed. This tool surfaces the header so you have definitive proof rather than a guess.
How often should I re-check compression?
Re-check after any server, host, CDN, or framework change, and as part of routine performance reviews. Configurations drift after migrations and updates, so a quick periodic check ensures the savings you set up months ago are still reaching every visitor today.
🔗 Relevant Tools
Link to this tool
Found this tool useful? Add it to your website or blog with one of these snippets.
Add the live, working tool to your own page:
Leave a comment
Comments go straight to our team — they are not published on the site.