ZipTool
ZipTool

Open an .xz file online

Decompress (xz -d) an .xz file in your browser — no command line, no upload.

Load from cloud

Drop your .xz anywhere on this page

Decompressed entirely in your browser — your file is never uploaded.

An .xz is a single file compressed with xz — backup.sql.xz, data.json.xz, a firmware image, a database dump. It is not a multi-file container: xz is a stream compressor built around LZMA2, so a lone .xz holds exactly one file, and "opening" it means undoing the xz compression (the xz -d operation) to get that one file back. ZipTool does it in your browser with an xz decoder bundled into the page: you drop the .xz on it and the decompressed file opens immediately, with nothing uploaded and nothing installed.

You open the page, drop the .xz onto it (or paste a direct URL), and the original file renders locally — text and code in a syntax-highlighting editor, images, PDFs, audio, and video depending on what was inside. The decode runs entirely in your tab; the network is used only to load the page.

.xz versus .tar.xz — they are not the same

The two extensions are constantly confused, and the difference matters. A lone `.xz` is one compressed file — report.csv.xz decompresses to one report.csv. A `.tar.xz` (or .txz) is a tar bundle of many files that was then compressed with xz — it opens as a whole folder tree. If you expected many files from an .xz and got one, you almost certainly have a mistyped .tar.xz.

ZipTool handles both honestly: an .xz opens as the single file inside it, and a .tar.xz opens as a folder tree — see open a .tar.xz online. The sibling compressors work the same way: open a .gz online, open a .zst online, and open a .bz2 online for single compressed files, or their /tar-* pages for the tarball forms.

How to open an .xz in your browser

No xz, no unxz, no terminal, no install. The page decodes the stream locally.

  • Go to ZipTool and drag the .xz onto the page (or use the file picker, or paste a URL).
  • The single file inside is decompressed and opened — text and code show in the editor, images and PDFs render, audio and video play.
  • Download the decompressed file to keep it, or search and read it in place.
  • Nothing is uploaded — confirm it by opening an .xz and turning off your internet; viewing keeps working.

Why xz compresses so well — and where you meet it

The xz format is a container around LZMA2, the evolution of the LZMA algorithm that came out of the 7-Zip archiver (Igor Pavlov, 1998). LZMA-family coding uses a large dictionary plus range encoding, which is why xz routinely beats gzip by 30–50% on source code and text at its default settings. The trade-off is speed and memory: compressing at the top preset (-9, up to 64 MiB dictionary) is slow, and even decompression needs dictionary-sized memory — far more than gzip and noticeably more than zstd at typical settings. The format marks its files with the magic bytes FD 37 7A 58 5A 00 and stores integrity checks (CRC32/CRC64/SHA-256) per block, so corruption is detected, not silently decoded.

You meet .xz wherever download size mattered more than unpack speed: GNU and freedesktop.org releases standardized on .tar.xz years ago, CPython source tarballs ship as .tar.xz, and the Linux kernel distributed its source as .tar.xz for over a decade before switching to zstd tarballs in 2025. The 2024 xz backdoor (CVE-2024-3094) — malicious code planted in upstream xz builds — is the famous reminder of why opening a distribution artifact in a sandboxed viewer before you trust it is a reasonable habit.

Honest limits

A browser-based xz decompressor is simple and reliable, with a couple of boundaries.

  • An .xz is one file, not a folder. xz compresses a single stream; it is not a packager. If you need many files out, you have a .tar.xz, not an .xz — see open a .tar.xz online.
  • xz streams carry no filename. gzip has an optional FNAME field; xz has no equivalent, so the decompressed file takes the container's name minus the .xz — data.json.xz opens as data.json.
  • High-preset streams use real memory. LZMA2 decompression allocates a dictionary as large as the compressor used (up to 64 MiB per stream at -9), so a very large .xz in a browser tab is heavier than the same payload in gzip.
  • Other compressors have their own pages. gzip (/gz), zstd (/zst), and bzip2 (/bz2) are supported; LZ4 is not. Use the command line or a desktop tool for LZ4.
  • xz is a source, never a target. ZipTool's converter accepts .xz and .tar.xz archives as input and repacks them as ZIP, TAR, or TAR.GZ — it never writes .xz output.

Frequently asked questions

How do I open an .xz file online?

Open the page and drop your .xz onto it. ZipTool decompresses the file inside it in your browser — no command line, no install, no upload. The original file opens immediately (text, code, image, PDF, audio, or video depending on what was compressed), and you can read or download it.

What is the difference between .xz and .tar.xz?

An .xz is a single file compressed with xz — it decompresses to one file. A .tar.xz is a tar bundle of many files that was then compressed with xz — it opens as a folder tree. If you expected many files from an .xz, you likely have a .tar.xz. ZipTool opens both: an .xz as one file (this page), a .tar.xz as a tree (/tar-xz).

Is xz better than gzip or zstd?

For pure compression ratio, xz usually wins — often 30–50% smaller than gzip on text and source code. But it is the slowest of the three in both directions and needs the most memory (the LZMA2 dictionary must be allocated to decode). zstd gets close to xz ratios at a fraction of the time, which is why modern pipelines keep switching to it. gzip remains the everywhere-installed baseline.

Do you upload my .xz file?

No. The file is decompressed entirely in your browser; your contents are never sent to a server, never stored, and never handed to a third party. Confirm it in DevTools — the Network tab shows no upload — and by disconnecting from the internet after the page loads: viewing keeps working.

Can it open .gz, .zst, or .bz2 files too?

Yes — a lone .gz opens on open a .gz online, a .zst on open a .zst online, and a .bz2 on open a .bz2 online; their tarball forms have their own pages (.tar.gz, .tar.zst, .tar.bz2). LZ4 is not supported; use the command line or a desktop tool for that.

Drop here.