Drop a file to compress it with Zstandard, Gzip, Brotli, XZ, or LZ4. Zstd always runs at a fast, fixed level; Gzip, Brotli, and XZ let you choose a compression level. Drop an already-compressed .zst, .gz, .br, .xz, or .lz4 file to decompress it back to the original. Everything runs locally — nothing is ever uploaded.
Files never leave your device
Zstandard uses a fast, fixed compression level.
Drop files to compress or decompress
What This Tool Does
This tool compresses a file with Zstandard, Gzip, Brotli, XZ, or LZ4, or decompresses a previously-compressed file back to its original bytes. Drop a file, pick an algorithm (and a level, where one applies), and download the result — or drop an already-compressed file and it detects the format automatically and reverses it.
Everything runs on your device through a WebAssembly module loaded into your browser tab. There's no upload step and no server-imposed size ceiling — only your browser's available memory limits how large a file you can process.
Supported Algorithms
Algorithm
Level control
Best for
Zstandard (zstd)
Fixed, fast tier only
Quick everyday compression with no waiting and no knobs to turn
Gzip
Adjustable, 1–9
Widest compatibility — almost any tool or OS can open a .gz
Brotli
Adjustable, 0–11
Strongest ratio for text and web-style assets when you can spend more time
XZ
Adjustable, 0–9
Strong ratio for long-term archives, at a higher CPU cost
LZ4
Fixed, fast tier only
The fastest option here, favoring speed heavily over ratio
Tip:Reach for Zstandard or LZ4 when you want speed with nothing to configure. Reach for Gzip, Brotli, or XZ — and raise their level slider — when a smaller file matters more than how long compression takes.
Why Zstandard Has No Level Slider Here
Unlike the other four algorithms, Zstandard on this page runs through a pure-software implementation built specifically to work inside a browser's WebAssembly sandbox. That implementation currently supports only Zstandard's fastest compression tier — the adjustable "dial it up for a smaller file" level control that the zstd command-line tool exposes isn't available here. The output is still a fully standard zstd stream; any zstd-compatible decompressor elsewhere can read it. If you specifically need to trade extra compression time for a smaller file, use Gzip, Brotli, or XZ instead — all three give you a level slider.
Decompressing a File
Drop a file ending in .zst, .gz, .br, .xz, or .lz4 back onto this tool. It recognizes the extension, switches into decompress mode automatically, and hands back the original bytes with that extension stripped from the filename. If the file is corrupted or truncated, you'll see an error instead of a broken result — nothing gets silently mangled.
Compressing vs. Creating a ZIP
Compressing a file with any algorithm on this page shrinks that one file's bytes; it has no concept of holding multiple files or preserving a folder structure the way a container format does. If what you actually need is to bundle several files together under a single downloadable name, use Create ZIP instead. If someone sent you an archive and you need to open it rather than make one, see Extract Archive.
Your Files Never Leave Your Device
Compression and decompression both happen inside a small WebAssembly module loaded into your browser tab. Your file's bytes are read locally and handed straight to that module — they never travel over the network. Closing the tab discards everything; there was never a server involved to leave a copy behind.
If you need to confirm a downloaded file's integrity, see the Hash checker to verify its checksum. If you were handed a ZIP, 7z, or TAR archive instead of a single compressed file, use Extract Archive to open it.
Frequently asked questions
Which compression algorithm should I use?
Zstandard and LZ4 are the fast, no-fuss options here — drop a file and get a result with no level to tune. Gzip is the safest choice when the person opening the file might use an older or unfamiliar tool, since almost everything can read a .gz. Brotli and XZ trade more compression time for a smaller output, which is worth it for text-heavy files or long-term archives where size matters more than speed.
Is my file uploaded anywhere to be compressed?
No. Compression and decompression both run locally through a WebAssembly module loaded into your browser tab. Your file's bytes are read on your device and never sent over the network, so there is no upload step and no server ever sees them.
Why doesn't Zstandard have a compression level slider here?
This tool runs Zstandard through a pure-software implementation built for the browser sandbox, and that implementation only supports Zstandard's fastest compression tier — not the adjustable level dial you may know from the zstd command-line tool. The output is still a fully standard zstd stream that any zstd-compatible tool can decompress; you just can't trade speed for a smaller file here. Gzip, Brotli, and XZ all expose an adjustable level slider if you want that manual control.
How do I decompress a file I already compressed?
Drop the compressed file (.zst, .gz, .br, .xz, or .lz4) onto the same tool. It recognizes the extension automatically, switches to decompress mode, and hands back the original bytes with the codec's extension removed from the filename — no need to pick a mode by hand.
What's the difference between compressing a file and creating a ZIP?
Compressing with one of these algorithms shrinks a single file's bytes; it can't hold more than one file or preserve folder names the way a container format does. If you need to bundle several files together under one downloadable name, use Create ZIP instead — this tool is for shrinking one file at a time.
Can I compress or decompress more than one file at once?
Yes. Drop several files at once and each is queued and processed independently with its own algorithm detection — you get one result per file, not a single combined archive. If you actually want one file combining several inputs, that's what the Create ZIP tool is for.
Is there a file size limit?
No limit is imposed by this tool or a server — there is no server involved. The practical ceiling is how much memory your browser tab can use, which is why a heads-up appears for files above roughly 100 MB; smaller files compress near-instantly regardless of algorithm.
Which algorithm gives the smallest output?
For most files, XZ or Brotli at a high level produce the smallest result, at the cost of taking longer to run. Zstandard's fixed fast tier and LZ4 prioritize speed over ratio, so expect a larger output from them in exchange for near-instant results — reach for Gzip as a broadly compatible middle ground.