WispZip GitHub

Archiving, without the weight

WispZip is a small open-source archiver: one floating window, drag a file in and you get a single confirmation page. Formats, passwords and split volumes live under a collapsed Advanced panel. Tauri 2 + Vue 3 on top of a pure-Rust streaming engine.

Checking the latest release…

5.7 MBmacOS binary
3.2 MBpeak RSS for a 4.5 GiB zip
16+recognised archive formats
WispZip home window with the drop zone and compress / open actions

The home window: drop a file to get a confirmation page; formats and advanced options stay collapsed.

Fewer clicks, no memory spikes

Everyday work needs no settings dialog; the deeper format controls stay in the CLI and the collapsed panel.

Drag and drop

Drop plain files for compression, archives for extraction. The confirmation page only asks for a name and a destination.

Lives in the OS

macOS Finder Quick Actions, Windows context menus, double-click an archive to go straight to extraction, plus a tray and recent jobs.

Streaming engine

Memory does not scale with input size. Pause, resume, cancel, zip-slip protection, GBK filenames and automatic conflict renaming.

01

Drop a file or an archive into the floating window

02

Confirm the name and destination, expand Advanced if needed

03

Watch progress, speed and ETA, then open the output folder

WispZip extract confirmation with destination, conflict policy, encoding and password

Double-click an archive or use Open With and land straight on the extract confirmation — no need to open the home window first.

Format support

One Rust core shared by the desktop app and the CLI, so both behave the same way.

FormatCompressExtractNotes
zipYesYesDeflate 0–9, AES-256, ZIP64, UTF-8 / GBK filenames
tarYesYesPreserves permissions and mtime
tar.gz / tar.bz2 / tar.xz / tar.zstYesYesStreaming pipeline with live progress
gz / xz / zst / bz2YesYesSingle-file stream compression
7zYesYesLZMA2 0–9, AES-256, Unix permission bits
rarNoYesrar4 / rar5, including encrypted archives
Split volumesYesYesByte-level .001/.002 volumes, streamed on both sides

Split volumes are streamed on both write and read, with no full-size temporary archive: peak disk is about 1x the archive, not 2x. RAR is the exception because UnRAR requires a real file path.

Measured, not estimated

macOS aarch64, release build. Peak RSS from /usr/bin/time -l; peak disk sampled with du.

WorkloadPeak RSSPeak disk
zip, 4.5 GiB, Deflate 1 — compress / extract3.2 MB / 3.0 MB—
tar.gz, 4.5 GiB — compress / extract3.1 MB / 2.7 MB—
7z, 4.5 GiB, LZMA2 6 — compress / extract95 MB / 11 MB—
1.2 GB → 400 MB × 4 zip, streamed split3.2 MB1270 MB (was 2533 MB)
Extraction benchmarkBeforeAfterSystem bsdtar
tar.gz, 13,572 files, 490 MiB unpacked3.45 s1.62 s (4 workers)2.74 s
zip, 32 × 2 MiB, 8 workers0.102 s0.026 s (3.9×)—

Timings come from CLI benchmarks on the same core engine (cold output directory, best of several runs); the GUI was not timed. The 7z figure is the fixed LZMA2 dictionary cost at that level, independent of input size.

Download and install

Desktop builds for macOS, Windows and Linux; the CLI can be built separately. All code is MIT licensed.

macOS first launch: read this
The app is not notarized by Apple (no developer account), so a downloaded build carries the quarantine attribute and may be reported as damaged. Run xattr -cr /Applications/WispZip.app once, or right-click the app and choose Open. Windows and Linux builds run as-is.