Cram creates and extracts ZIP, 7z, tar (with gzip, xz, zstd, bzip2, lz4 and brotli), ISO 9660 and its own deduplicating .cram format, and reads RAR. The same four verbs work on every format, and the format is detected from magic bytes rather than the file extension.
It can also mount an archive as a folder instead of extracting it, find duplicate files across drives, write Reed-Solomon recovery sidecars, sign archives with ed25519, and download files over several connections at once with resume and mirror failover.
This package installs two commands: cram, and cram-extract, a standalone decoder for .cram files that shares no code with the main engine so a damaged archive has an independent way back.
Mounting requires the optional Windows feature Client-ProjFS, which is off by default. Every other command works without it.
What's new in 1.3.2
Security - Extraction no longer writes through a symbolic link already in the destination. If out/target.txt was a link to a file elsewhere and the archive carried target.txt, extracting into out truncated the link's target and wrote the entry's bytes into it, outside the destination. Every release from 1.0.0 to 1.3.1 did this, in cram x, in streamed extraction and in cram-extract. An existing path is now overwritten only if it is a regular file; a link, a FIFO or a device is left as it is and the entry is reported as a failure naming the cause. The check is made on the opened handle, so there is no window between checking and writing. A pre-existing FIFO also used to hang the extraction, and now fails the entry instead. The refusal is tested on Linux; on Windows, where planting the link needs symlink privilege or Developer Mode, the same test has not yet run. Reported by @anish833. Still followed, on purpose: a link to a directory above the final component (out/sub -> elsewhere, entry sub/x). Cram never creates a link from an archive, so one inside the destination was put there by the user or another program.
Fixed - A .zip whose entries use Zstandard (method 93) can now be read. Every such entry previously failed with compression method not supported: 93 while the rest of the archive extracted around it, so a real archive came out partially populated with thousands of individual errors rather than one clear refusal. Repackers have largely moved to zstd-in-zip because it is much faster than DEFLATE at a similar ratio, so this is common in the wild rather than exotic. It had never worked in any release. The exclusion was deliberate and its reason had expired: the ZIP dependency took pure-Rust features only so the default build needs no C toolchain, and that was written before Cram linked C zstd at all. It does now, and the zip crate wants the same crate at the same version, so reading method 93 rides on the existing zstd-c feature and costs the shipped binaries nothing. A default cargo install cram-cli build is unchanged and still has no C dependency, so it still cannot read these archives.
1.1.0Aug 12, 2026
Added: a duplicate scan now reports what it has found while it is still running, instead of saying nothing for the minutes it takes to walk a drive.
Fixed: a look-alike group could swallow hundreds of unrelated images. Grouping was by perceptual hash alone, unioned, which is single-linkage clustering, so one bridging pair merged two sets that resembled each other not at all. A candidate pair is now verified against the pixels.
Fixed: a cancelled extraction removed more than it wrote. It now takes back only files and directories that did not exist when it created them.
Fixed: a directory cycle walked forever. Past 1,000 levels the walk checks file identity and stops when it reaches somewhere it has already been.
Frequently asked questions
Is Cram free?
Yes. Cram is free and open-source software released under the Apache-2.0 license.
What is the latest version of Cram?
The latest version is 1.3.2, released on Oct 12, 2026.
Is it safe to download Cram?
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 5870027eb7d332b8ccd5d1af49fe07c56c3a0c8532baa0bdb546cf2a155644cd.
Which Windows versions does Cram support?
Cram runs on Windows and is available for 64-bit (x64) systems.
How do I uninstall Cram?
Open Settings › Apps › Installed apps, find Cram and select Uninstall. From the command line, run winget uninstall --id=Nexalit.Cram -e.
Is there a portable version of Cram?
Yes. Cram is available as a portable ZIP archive (cram-v1.3.2-x86_64-pc-windows-gnu.zip, 64-bit (x64)) that runs without installation. Copy it to any folder or USB drive and run it from there.
Alternatives to Cram
Other File Compression programs for Windows from different developers.
A free file archiver utility and rar extractor for Windows and Linux, work with 200+ archive types and variants, handle spanned archives and support multiple archive encryption standards.