SQZ Atlas · archiver v0.9.1 · backup planned

Make room
for more.

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.

● Rust + C++MIT / Apache-2.0Windows · Linux · macOS
10 screenshots · PNG MEASURED

Size left after packing, as a share of the original

Original
100%
LZMA2 alone
92%
SQZ balanced
52.0%
SQZ max
46.8%
MEASURED ONWindows
DURINGv0.3 – v0.4
SAVED53.2%
BLAKE3 ✓
DEDUPLICATED ↗
DUPLICATES STORED ONCE✦STREAMING BY DEFAULT✦EVERY BYTE VERIFIED✦DUPLICATES STORED ONCE✦STREAMING BY DEFAULT
01 / The difference

Compression without
compromise.

◒

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 →
01

Stream it

Pack and extract data larger than your RAM. Memory use depends on block size and threads, not on how much you pack.

02

Trust it

Every restored file is checked with BLAKE3 before it is published. Existing files are never overwritten.

03

Keep it

Append snapshots over time. Restore any of them, or just one file, without storing unchanged data twice.

02 / How it works

Six steps from
folder to archive.

You run one command. Behind it, every file takes the same trip, and every step can be undone exactly.

  1. 01

    Sort

    Files are scanned and lined up by type, so similar files sit next to each other.

  2. 02

    Unpack

    Already-compressed PNG, ZIP, Office, PDF, gzip and JPEG files are opened up, but only if SQZ can rebuild the original bytes exactly.

  3. 03

    Chunk

    Data is cut into pieces at points chosen by the content itself, so a small edit only changes nearby pieces.

  4. 04

    Skip repeats

    Each piece gets a BLAKE3 fingerprint. A piece that is already stored is kept once and simply pointed to.

  5. 05

    Group

    Pieces are routed into text, program, binary, raw or image groups, because like compresses best with like.

  6. 06

    Squeeze & seal

    Each group is compressed with the codec your mode picks, in parallel, and the archive index is sealed with a BLAKE3 tag.

03 / Snapshots

Back up daily.
Store changes only.

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.

04 / Pick your pace

There’s a mode
for that.

Faster modes finish sooner. Slower modes spend more time looking for a smaller result.

MODEWHAT IT USESIDEAL FORSTATUS
--maxSQZ’s own context-mixing engine or LZMA2, picked by sample, checked against zstdLong-term archivesDEFAULT
--balancedThe smaller of LZMA2 or zstd, plus photo and document unpackingEveryday compressionAVAILABLE
--fastzstd, without photo and document unpackingQuick packing & transferAVAILABLE
Same 591 KB log file, three modes Archive size Time to pack
--fast
25.2 KB
~0.01 s
--balanced
11.5 KB
0.43 s
--max
3.7 KB
1.26 s

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.

05 / Side by side

How it stacks
up.

Shorter bar means a smaller archive. Every result below was restored and checked byte for byte.

Log file

Repetitive text, 591 KB

zstd -19
17.8 KB
xz -9e
11.1 KB
SQZ balanced
11.5 KB
SQZ max
3.7 KB

Photos & files

JPEG, PNG and ZIP, 43.7 KB

zstd -19
42.9 KB
xz -9e
42.9 KB
SQZ balanced
36.1 KB
SQZ max
32.3 KB

Random data

Already unpredictable, 524 KB

zstd -19
524.3 KB
xz -9e
524.4 KB
SQZ balanced
524.8 KB
SQZ max
524.8 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.

The engine inside --max

SQZ’s own context-mixing engine against xz -9e, the LZMA2 maximum setting 7-Zip Ultra uses.

xz -9e SQZ engine
Python source, 2 MB
374 KB
305 KB
−18%
CSV sales data, 5 MB
1,192 KB
833 KB
−30%
Program code, 4 MB
1,366 KB
1,158 KB
−15%
Linux tools, 6 MB
2,076 KB
1,768 KB
−15%
ELF symbol table, 8 MB
2,118 KB
2,120 KB
tie
4 screenshot PNGs, unpacked
133 KB
101 KB
−24%

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.

06 / SQZ Atlas

Store once. Preserve everything.
Recover anything.

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.

Coming next

SQZ Backup: what is planned

SQZ Backup is not built yet. The roadmap describes what it should do, and nothing below is a shipped feature.

  • EncryptedAuthenticated encryption from a reviewed library, with key recovery. No home-made cipher.
  • IncrementalEach snapshot stores only new data. A snapshot appears only once everything it needs is safely written.
  • Retention & pruningKeep the snapshots you want and safely reclaim the space of the rest.
  • Verify & restoreIntegrity checks, search, and restore of one file or everything, with the latest verified snapshot shown clearly.
  • Local, then cloudLocal storage first, then S3-compatible storage with resumable uploads.
  • Windows awarePlanned VSS support for consistent copies of open files, and faster change detection.
  1. 0

    Baseline

    Reproducible benchmarks and frozen test fixtures

    In progress
  2. 1

    Atlas core

    Verified chunk identities, format spec, codec registry

    In progress
  3. 2

    Archive product

    Safe extraction, full metadata, ZIP export, everyday UI

    In progress
  4. 3

    Backup foundation

    Encrypted repository, snapshots, retention, prune, then S3

    Not started
  5. 4

    Smarter storage

    Similarity deltas, hot and cold compaction, recovery drills

    Early work
  6. 5

    Research

    Lighter and stronger engines, new transforms, neural tests

    Not started

From 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.

07 / Good to know

Honest about
the limits.

Not stored yet

Empty folders, file permissions and symlinks. Names that are not valid UTF-8 are converted.

No encryption yet

Archives are checked for corruption but are not encrypted. Encryption and pruning old snapshots are planned for SQZ Backup.

Restores go somewhere new

Extract into a new, empty folder. SQZ never overwrites existing files, and the drive must support hard links.

Format v5

New archives need SQZ 0.9.1 or later to open. Archives from v1 to v4 can still be read.

08 / Ready when you are

Start squeezing.

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 ready
sqz c photos photos.sqzCreate an archive from a folder
sqz x photos.sqz restoredExtract it into a new folder
sqz t photos.sqzTest that every file restores
sqz a photos photos.sqzAdd a new snapshot