What a .gz file actually is
Gzip compresses one stream of bytes. A .gz file is a small header
— the two signature bytes 1f 8b, the compression method, a flags byte, a timestamp
and, optionally, the original file name — followed by the DEFLATE-compressed data and an 8-byte
trailer holding a CRC32 and the original size.
The key thing gzip does not do is bundle multiple files. It has no concept of a directory or
even of a file name for its contents beyond the one optional hint in the header. That is why gzip is so
often paired with tar: tar bundles many files into one stream, then gzip compresses that
stream, giving .tar.gz. A plain .gz on its own almost always holds a single
file — a log, a CSV, a SQL dump, a JSON export.
How to decompress a .gz file online
- Open the file. Drop the .gz onto the box above, or click to browse. The browser recognises the gzip signature and decompresses it straight away — there is no separate step and nothing to configure.
- Check what came out. The original file name (recovered from inside the gzip header where one was stored), its uncompressed size and the compression ratio are shown before you save anything.
- Save the original file. Save writes the decompressed bytes with the original name — log.gz becomes log, export.json.gz becomes export.json. The file never left your device to get there.
- If it holds a tar archive. A .gz that actually wraps a .tar (a .tar.gz by another name) is detected and you are sent to the TAR extractor, which lists and extracts the files inside.
What comes out
- The original file, decompressed byte-for-byte from the DEFLATE stream.
- The original file name, when gzip stored one in the header — otherwise the
name is derived by removing the
.gz(or turning.tgzback into.tar). - The uncompressed size and the compression ratio, so you can see how much the file expanded.
- The stored modification time, where the gzip header recorded one.
- A tar check — if the decompressed data is really a tar archive, you are told, and pointed at the tool that opens it.
What is supported, and what is not
Supported: any single-member .gz (gzip) file. Decompression uses the
browser’s own DecompressionStream('gzip') — the same code it uses to read every
gzip-compressed web page — so there is no library to download.
Handled by pointing you elsewhere: a .tar.gz or .tgz (a
gzip wrapping a tar archive) is detected here and sent to the TAR
extractor, which lists the files inside.
Not supported: .xz, .bz2 and .zst. XZ uses
LZMA2, bzip2 uses Burrows–Wheeler and Zstandard uses its own scheme, and no browser decompresses
any of them. Each is recognised by its signature and named, rather than failing with a meaningless
error.
Why the file is never uploaded
The .gz is read from your disk and decompressed by the browser in memory. No server is involved, so the file never leaves your device.
This matters because the things people gzip are often exactly what should not be handed to a stranger’s server — database dumps, access logs full of IP addresses and tokens, exported customer data. Here there is no upload, so there is nothing to trust a third party with.
What this tool does not do
Three boundaries:
- It does not create .gz files. This decompresses; it does not compress.
- It does not list files inside a .tar.gz. A plain .gz holds one file; when it wraps a tar, that is the TAR extractor’s job, and you are sent there.
- It does not handle xz, bzip2 or zstd. Those need decoders far larger than the tool itself.
Files over 512 MB (compressed) are refused rather than exhausting the tab’s memory. A truncated or corrupt gzip stream fails cleanly with a message, instead of returning half a file.
Why people need to open a lone .gz
- A server log —
access.log.gzpulled off a web server, needed as plain text to search. - A database dump — a
.sql.gzbackup you want to read or import without a Linux box to rungunzip. - A data export — a
.json.gzor.csv.gzfeed that arrives compressed and has to be opened in a spreadsheet or editor. - On Windows with nothing installed — File Explorer has no menu item for a single .gz, and it is not worth installing 7-Zip for one file.
gzip compared with .tar.gz, ZIP and 7z
The distinction that trips people up: gzip compresses one file; it does not bundle several.
A lone .gz is a single compressed file and belongs here. A .tar.gz is a whole
directory bundled by tar and then gzipped — use the TAR extractor for
that. A ZIP both bundles and compresses in one format, so it holds many
files and opens with the ZIP extractor.
7z and RAR are not supported by any honest browser-based tool — both need large proprietary or LZMA decoders, so use 7-Zip or WinRAR on the desktop.
Once your file is out, the CSV column extractor, the JSON field extractor and the IP address extractor read what is inside a log or data dump.
For a full comparison of archive formats and when to use each, read ZIP vs TAR vs GZ vs 7Z.
Frequently asked questions
How do I open a .gz file without WinRAR or 7-Zip?
Drop it onto this page. The browser decompresses the gzip stream and hands you the original file, so nothing needs installing and nothing is uploaded.
What is the difference between .gz and .tar.gz?
A .gz is a single compressed file. A .tar.gz is a whole folder of files bundled by tar and then gzipped. This tool opens a lone .gz; for a .tar.gz it sends you to the TAR extractor, which lists the files inside.
Can I decompress a .sql.gz or .json.gz here?
Yes. Any single-file gzip works — .sql.gz, .json.gz, .csv.gz, .log.gz. You get the original .sql, .json, .csv or .log file back.
Is my file uploaded anywhere?
No. It is decompressed inside your browser. That matters for gzip in particular, since logs, database dumps and data exports usually travel this way.
Why does Windows not open a single .gz?
File Explorer has no built-in handler for a lone .gz — its archive support is built around ZIP. The gzip format comes from the Unix world and never got a graphical home on Windows.
Can I extract .xz or .bz2 files?
No. XZ uses LZMA2 and bzip2 uses Burrows-Wheeler, and no browser can decompress either. The tool recognises them and says so rather than failing silently.
Does it recover the original file name?
When gzip stored one in the header, yes. Otherwise the name is derived by removing the .gz — so export.json.gz becomes export.json and access.log.gz becomes access.log.
What if my .gz is actually a .tar.gz?
The tool detects that the decompressed data is a tar archive and points you to the TAR extractor, which lists and saves the individual files inside.