System utilities#Compression#File tools

HatchZip: extract huge archives in place, when the disk is too small

HatchZip is an open-source extractor that trims the archive as files come out, so you only need space for the output — ZIP, 7z, RAR, tar and split archives.

Project facts

GitHub Ecosystem
Repositorygithub.com/xevrion/hatchzip
License
Apache-2.0
Language
Rust
Stars
2,144
Data checked
2026-10-27

Snapshot figures reflect the check date and may change over time.

HatchZip site banner: the HZ logo and the line "Extract huge archives without double the disk space", with a cargo install command

Extract a 180 GB game download into 200 GB of files and every traditional tool demands 380 GB of free disk — the archive and everything coming out of it must coexist. HatchZip changes the math: it extracts from the end of the archive and cuts each finished part off the archive file, so the freed space is immediately reused for the next files, and you only ever need room for the output itself. This Rust tool, dual-licensed MIT OR Apache-2.0, handles ZIP, 7z, RAR volume sets, tar, .tar.gz and split archives, with a desktop app and a CLI across Windows, macOS and Linux. The repository was created on October 21, 2026 and reached about 2,100 stars within a week (as of October 27, 2026). In the README’s stress test on a 220 MiB disk with about 50 MB free, unzip ran out of space at file 6 of 21; HatchZip finished with every file byte-identical.

HatchZip demo animation: extraction in progress while the archive file visibly shrinks

Core features

  • In-place extraction: tail-first extraction with the archive trimmed as it goes; peak usage is roughly the output size plus the largest single freeable unit (one file for ZIP/tar, one solid block for 7z).
  • Verify first, touch second: it checks the destination can hold the result before writing anything, and refuses cleanly when it can’t; hatchzip check computes the exact peak for any archive.
  • Crash safety: killed at any moment it resumes from where it stopped — the README documents kill-testing at both unsafe moments of every format’s run, with byte-identical output after every resume.
  • Format and filesystem coverage: ZIP, 7z, RAR volume sets, tar, .tar.gz and split archives; ext4, btrfs, XFS, NTFS, APFS, plus exFAT and FAT32 USB drives.
  • Desktop, CLI and context menu: the Windows installer adds a right-click “Extract here”; hatchzip/hz lands on your PATH; on hole-punching filesystems large files free their archive bytes every 256 MiB as they extract.
  • No speed penalty: files decompress in parallel — 0.25–0.35 s against unzip’s ~1.5 s on the same ZIP data (Fedora 43, i7-14700HX, NVMe, per the README).

Typical use cases

  • Big games on small SSDs: the classic download-doesn’t-fit-twice scenario — now only the result needs room.
  • Large backup sets on NAS boxes: unpack split backups down to just the files, without provisioning temp space.
  • USB-stick transfers: in-place extraction works even on a nearly full exFAT drive.

Quick start

Download an installer from hatchzip.dev or the releases page (Windows 10/11, macOS Apple Silicon/Intel, and Linux deb/rpm/AppImage), or, if you use Rust:

cargo install hatchzip

In the GUI, right-click an archive and choose HatchZip → Extract here; on the command line:

hatchzip check big-archive.zip   # see the exact peak space needed
hatchzip extract big-archive.zip # extracts and trims; only files remain

Choose Extract here (keep archive) to preserve the archive. Note the Windows and macOS builds are not code-signed yet, so the first run needs a manual allow.

Summary

HatchZip attacks a real, frequent pain — “not enough disk space to extract” — with a blunt mechanism that is unusually well verified: the stress runs, crash-resume tests and per-format byte-identity checks are all in the README, and the project carries an OpenSSF Scorecard. Limits to know: it’s a “remember you have it” tool, and gains shrink on filesystems without hole punching when the archive holds one giant file; a default-settings 7z solid block is refused outright because it can’t be freed incrementally; and unsigned installers will put some non-technical users off. MIT OR Apache-2.0, Rust. For the other half of the disk-space problem — cleaning up what’s already there — see our earlier entry on Filee.