zxc 0.15.0

Asymmetric lossless compression built for ultra-fast decode

  • By Bertrand Lebonnois
  • Open Source
  • Updated Oct 13, 2026
Download for Windows

About zxc

Asymmetric lossless compression built for ultra-fast decode

What's new in 0.15.0

Release Notes

v0.15.0 is an integrity release built on a format break, and a speed release on top of it.

Decompression gains up to 24 % at levels 3-5 and 9-14 % at level 7 over v0.14.x; compression gains up to 39 % at levels 3-7. Level 3 now decodes 2.03x faster than LZ4 on Apple M2 (1.75x in v0.14), at a smaller size.

Format v9 redoes every integrity field:checksums that leave no header bit unprotected, block checksums over the decoded bytes, an optional archive digest, a seek table that validates itself group by group. On top of it, ZXC archives become multi-frame: cat a.zxc b.zxc is a valid archive, and the seekable reader spans every frame.

> ⚠️ Breaking change (format and ABI). The container format is now v9, and dictionaries move to .zxd version 2. v0.15.0 cannot read v8 archives or version-1 dictionaries, and v0.14.x cannot read what v0.15.0 writes (ZXC_ERROR_BAD_VERSION). The soname moves to libzxc.so.5:seekable block counts are 64-bit (#438), so programs linked against libzxc.so.4 must be rebuilt.
>
> Migrating v8 -> v9 is the same one-time transcode as before:
>
> sh
> zxc-old -dc old.zxc | zxc-new -z -c > new.zxc
>
>
> A dictionary is migrated with its archives:retrain it with the new build, or convert it byte for byte to keep its dict_id. Full guide, including the CLI output changes and the new Windows archive layout: docs/MIGRATION.md.

ZXC format v9

The compressed data is unchanged:same blocks, same parser, same entropy coders. The break is in what protects them and in how a reader finds its way. (#452)

  • Multiplicative header checksums (#432). The XOR/shift construction left part of the compressed size unprotected; the same 2 bytes now cover every header bit.
  • Block checksums cover the decoded bytes, seeded by position (#434). A block moved or duplicated inside an archive no longer verifies. The whole-archive hash gives way to an optional 8-byte archive digest folded from the block checksums.
  • A seek table that validates itself (#436, #438). Groups of one 64-bit anchor and 64 block sizes, checked one group at a time and loaded lazily, so opening a large archive reads only what a range needs. Block counts are 64-bit.
  • HAS_SEEK_TABLE header flag (#448). The table is announced instead of probed for. …

Full release notes »

Technical details

PublisherBertrand Lebonnois
Version0.15.0
Release date2026-10-13
LicenseBSD-3-Clause
Installer typezip
Architecturex64
Package IDhellobertrand.zxc

Install zxc from the command line

Install with Windows Package Manager
winget install --id=hellobertrand.zxc -e
Update to the latest version
winget upgrade --id=hellobertrand.zxc -e
Uninstall
winget uninstall --id=hellobertrand.zxc -e

zxc version history

  • 0.14.1
  • 0.14.0
  • 0.13.3
  • 0.12.0

Frequently asked questions

Is zxc free?

Yes. zxc is free and open-source software released under the BSD-3-Clause license.

What is the latest version of zxc?

The latest version is 0.15.0, released on Oct 13, 2026.

Is it safe to download zxc?

The download button links to the official installer published on github.com, the same file Windows Package Manager installs. You can verify the downloaded file by comparing its SHA-256 checksum with 41b1e3ea854a4b54a8957725bbaf4bc8111e09a7914d283fa422281da17d8407.

Which Windows versions does zxc support?

zxc runs on Windows and is available for 64-bit (x64) systems.

How do I uninstall zxc?

Open Settings › Apps › Installed apps, find zxc and select Uninstall. From the command line, run winget uninstall --id=hellobertrand.zxc -e.