XZ Utils: A Free Compressor Built Around the LZMA2 Ratio
Summary
XZ Utils is free general purpose data compression software built on LZMA2, producing the .xz format that source packages and firmware images so often use, with a liblzma library other programs can call directly.
Recommend- Name
- XZ Utils
- Version
- 5.8.4
- Pricing
- Free
- Open source
- Open source
- Operating system
- WindowsmacOSLinux
- Website
- https://tukaani.org/xz/
- Updated
- 2026-10-11 20:29
Source packages, firmware images, backup archives: compression is the least visible layer in all of them, and the hardest to skip.
Compression ratio comes first
XZ Utils is free, general purpose data compression software. The official page states the selling point at the very start: a high compression ratio. It is written mainly for POSIX-like systems and also runs on some systems that do not fully follow POSIX, which is why it turns up so often in Linux distribution source packages, embedded firmware and long-term archives.
At the algorithm level the toolset revolves around LZMA2. The official page describes the .xz container format, the LZMA2 algorithm and the liblzma library as one chain: the format sets the rules, the algorithm does the shrinking, and the library opens reading and writing out to others. Of the three release packages the page offers, tar.xz is listed first, which already says which wrapper is preferred.
The half that lives outside the command line
Many people only remember the xz command, yet liblzma is the part that gets referenced far more. Officially the library handles reading and writing .xz files and ships bindings for other languages, with projects for Python, Perl, Haskell and Object Pascal listed on the page. Other programs therefore do not need to implement the format themselves; calling the library gives them the same compression.
At the system level, a stable interface matters more than a rich feature list. Package managers, image build scripts and backup tools tend to depend on the same interface of the same library for years, which is why upgrades move more slowly than the command-line tool, and why the official policy keeps old branches on critical fixes only, with new features rarely backported.
Item | Official notes |
|---|---|
Scope | Free, general purpose data compression |
Algorithm | LZMA2 |
Container | .xz, with tar.xz listed first among the packages |
Library | liblzma, reads and writes .xz for other programs |
Current stable | 5.8.4, released 9 September 2026 |
Version and release rhythm
The current stable release is 5.8.4, published on 9 September 2026. This version fixes a security problem that affected every stable release, so the official page carries a prominent notice urging users to move quickly. The same page lists 5.8.3, 5.8.2 and other older entries, which makes it easy to see where the copy in hand sits.
Branch status is written out clearly in the official documentation: 5.8 is in maintenance, the 5.6, 5.4 and 5.2 branches accept critical fixes only, and older branches are no longer maintained. Windows users also get official binaries, and the notes say these 5.8.4 packages are built for the UCRT runtime and work on Windows 10 and later, with signature files provided for verification.
A compressor that stays in the system basement for years does so not because it has many features, but because it restores the file by the same rules every single time.
Practical notes. For everyday archives the default level is enough; raise it only when the last few percent of size matter and the time cost is acceptable. When packaging for a distribution or firmware, prefer tar.xz, which is the least troublesome for compatibility. And record the version in your build scripts, following an old branch only for critical fixes, so that upgrade churn does not turn into regression cost.