A comprehensive, pure Rust implementation of the 7z archive format with no FFI dependencies. zesven provides full support for reading, writing, and editing 7z archives with a wide range of compression codecs, AES-256 encryption with header encryption, streaming decompression, async APIs, and WebAssembly support.
For detailed documentation, examples, and API reference, visit zesven.akinshin.dev.
- LZMA/LZMA2 - Native support with parallel compression variant
- Deflate - Via
flate2with zlib-rs backend - BZip2 - Full encode/decode support
- PPMd - Prediction by Partial Matching
- Zstd - Modern compression (optional feature)
- Brotli - Google's compression algorithm (optional feature)
- LZ4 - Fast compression (optional feature)
- LZ5/Lizard - Pure Rust implementations
- Delta - Byte-level delta encoding
- BCJ - x86, ARM, ARM64, ARM Thumb, PowerPC, SPARC, IA-64, RISC-V
- BCJ2 - Complex 4-stream x86 filter
- AES-256-CBC with SHA-256 key derivation
- Header encryption - Encrypt filenames and metadata
- Configurable iterations - Tunable key derivation strength
- Solid archives - Read and write
- Multi-volume -
.7z.001,.7z.002, etc. - Self-extracting - Windows PE, Linux ELF, macOS Mach-O detection
- Recovery - Signature scanning and partial recovery
- Random access - For non-solid archives
- Streaming - Bounded memory with
StreamingArchive - Async - Tokio-based (optional
asyncfeature) - Parallel - Rayon-based (optional
parallelfeature) - WASM - Browser-compatible (optional
wasmfeature)
- Path traversal protection - Blocks
../, absolute paths, symlink escapes - Resource limits - Header size, entry count, unpacked size limits
- CRC verification - All entries validated
- Zip bomb prevention - Compression ratio limits
Copyright 2026 Andrey Akinshin. Licensed under Apache-2.0 or MIT at your option.