XZ Utils

XZ Utils is free general-purpose data compression software with high compression ratio. XZ Utils were written for POSIX-like systems (GNU/Linux, *BSDs, etc.), but also work on some not-so-POSIX systems like Windows. XZ Utils are the successor to LZMA Utils.

The core of the XZ Utils compression code is based on LZMA SDK, but it has been modified quite a lot to be suitable for XZ Utils. The primary compression algorithm is currently LZMA2, which is used inside the .xz container format. With typical files, XZ Utils create 30 % smaller output than gzip and 15 % smaller output than bzip2.

XZ Utils consist of several components:

While liblzma has a zlib-like API, liblzma doesn't include any file I/O functions. A separate I/O library is planned, which would abstract handling of .gz, .bz2, and .xz files with an easy to use API.

Licensing

The most interesting parts of XZ Utils (e.g. liblzma) are in the public domain. You can do whatever you want with the public domain parts.

Some parts of XZ Utils (e.g. build system and some utilities) are under different free software licenses such as GNU LGPLv2.1, GNU GPLv2, or GNU GPLv3.

Download

Development

XZ Utils 4.999.9beta was released on 2009-08-27. Among many less important changes, this release fixes a data corruption in the compression code. (The bug was specific to XZ Utils and was not present in 7-Zip or LZMA SDK.) Everyone using an older version of XZ Utils should upgrade.

This is the last beta release before XZ Utils 5.0.0. No big changes are planned before the first stable release.

xz-4.999.9beta.tar.gz (1014 KiB)
xz-4.999.9beta.tar.bz2 (830 KiB)
xz-4.999.9beta.tar.xz (707 KiB)

A snapshot from the git repository is available too, and is generally recommended over 4.999.9beta.

xz-4.999.9beta-143-g3e49.tar.gz (1094 KiB)

Git repository

The master branch in the git repository contains the latest development code.

http://git.tukaani.org/xz.git

Building the code from the git repository requires GNU Autotools. Here are the minimum versions that should work with XZ Utils; using the latest versions is strongly recommended:

Bindings

PylibLZMA provides Python bindings for liblzma.

Perl bindings for liblzma: IO-Compress-Lzma and Compress-Raw-Lzma.