One archive.
Every advantage.
SQZ deduplicates repeated data, routes content to the right codec, and understands what is inside your files. Less waste, by design.
See how it works →SQZ packs folders into one small archive. It skips data it has already stored, sorts what is left so it squeezes better, and checks every file when you restore it.
Size left after packing, as a share of the original
SQZ deduplicates repeated data, routes content to the right codec, and understands what is inside your files. Less waste, by design.
See how it works →Pack and extract data larger than your RAM. Memory use depends on block size and threads, not on how much you pack.
Every restored file is checked with BLAKE3 before it is published. Existing files are never overwritten.
Append snapshots over time. Restore any of them, or just one file, without storing unchanged data twice.
You run one command. Behind it, every file takes the same trip, and every step can be undone exactly.
Files are scanned and lined up by type, so similar files sit next to each other.
Already-compressed PNG, ZIP, Office, PDF, gzip and JPEG files are opened up, but only if SQZ can rebuild the original bytes exactly.
Data is cut into pieces at points chosen by the content itself, so a small edit only changes nearby pieces.
Each piece gets a BLAKE3 fingerprint. A piece that is already stored is kept once and simply pointed to.
Pieces are routed into text, program, binary, raw or image groups, because like compresses best with like.
Each group is compressed with the codec your mode picks, in parallel, and the archive index is sealed with a BLAKE3 tag.
Add a new snapshot with sqz a. Pieces that did not change are pointed to, not stored again.
Illustration. The same idea applies inside a single backup: an image embedded in two documents, or many versions of one file, is stored once. Every snapshot stays restorable, and sqz x -s 1 brings back snapshot 1.
Faster modes finish sooner. Slower modes spend more time looking for a smaller result.
Median of three runs on a generated 10,000-line log file (Linux, 8 CPUs). Max also takes longer to unpack. It picks codecs from samples, so it is not guaranteed to beat balanced on every input.
Shorter bar means a smaller archive. Every result below was restored and checked byte for byte.
Repetitive text, 591 KB
JPEG, PNG and ZIP, 43.7 KB
Already unpredictable, 524 KB
Random bytes cannot be shrunk by any tool. SQZ adds under 0.1% of overhead here.
Bars are scaled within each chart. Small generated test inputs from SQZ’s benchmark lab: median of three runs after one warmup, 140 verified round trips, 0 failures. They check the pipeline and are not a claim about your own folders.
SQZ’s own context-mixing engine against xz -9e, the LZMA2 maximum setting 7-Zip Ultra uses.
From the engine notes in SQZ’s architecture document. The engine runs at about 0.5 MB/s per thread and uses about 260 MB at level 6, so max mode trades speed for size.
Atlas is the plan for two products on one shared, lossless storage layer: the archive you can use today, and a backup tool that is on the way.
Folders, documents, photos, builds, model checkpoints
A portable .sqz file for everyday packing, sharing and snapshots.
An encrypted, incremental backup repository, kept separate from the .sqz format.
SQZ Backup is not built yet. The roadmap describes what it should do, and nothing below is a shipped feature.
Reproducible benchmarks and frozen test fixtures
In progressVerified chunk identities, format spec, codec registry
In progressSafe extraction, full metadata, ZIP export, everyday UI
In progressEncrypted repository, snapshots, retention, prune, then S3
Not startedSimilarity deltas, hot and cold compaction, recovery drills
Early workLighter and stronger engines, new transforms, neural tests
Not startedFrom the SQZ Atlas strategy in the sqz-next repository, status as of 0.9.1. It is a proposed roadmap with no dates, and each stage ships only when its correctness, restore and benchmark checks pass.
Empty folders, file permissions and symlinks. Names that are not valid UTF-8 are converted.
Archives are checked for corruption but are not encrypted. Encryption and pruning old snapshots are planned for SQZ Backup.
Extract into a new, empty folder. SQZ never overwrites existing files, and the drive must support hard links.
New archives need SQZ 0.9.1 or later to open. Archives from v1 to v4 can still be read.
Build from source with Rust 1.85+ and a C++17 compiler.
$ git clone https://github.com/hankitools/sqz-next
$ cd sqz-next
$ cargo build --locked --release
✓ target/release/sqz readysqz c photos photos.sqzCreate an archive from a foldersqz x photos.sqz restoredExtract it into a new foldersqz t photos.sqzTest that every file restoressqz a photos photos.sqzAdd a new snapshot