A native macOS archive manager that browses, previews and extracts 40+ archive formats, including nested archives, without full extraction.
- Stars
- 3,796
- Forks
- 159
- Open issues
- 110
- Last commit
- 3 days ago
What is it?
ouch (Obvious Unified Compression Helper) is a command-line tool that handles compression and decompression through one consistent interface. Instead of remembering different flags for tar, zip, gzip, xz and others, you run ouch decompress, ouch compress or ouch list and the format is inferred from the file extension.
It supports common archive and compression formats including tar, zip, 7z, gz, zst, xz, lzma, bz2, lz4 and brotli, and can chain formats such as .tar.gz. Decompression can read from standard input when a format is given explicitly, and the output directory can be set with a flag. RAR files can be decompressed and listed, but not created, because of the license.
The tool is written in Rust, ships with shell completions and man pages, and aims for readable error messages. Installation is available through several package managers, including Homebrew, Scoop, pacman and crates.io.
Key features
- 01Uses one command set (decompress, compress, list) for many archive formats.
- 02Detects formats from file extensions, and from file signatures when there is no extension.
- 03Decompresses from standard input when the format is specified.
- 04Lists archive contents as a tree and can show uncompressed file sizes.
- 05Provides shell completions and man pages.
Use cases
- Quickly unpacking downloaded .tar.gz or .zip files in a terminal session.
- Creating archives with mixed compression formats from a shell script.
- Inspecting archive contents on a remote server before extracting.
- Piping compressed data through standard input in a shell pipeline.
Quick start
- 1
Install via Homebrew on macOS
brew install ouch - 2
Install from crates.io with Cargo
cargo install ouch - 3
Decompress an archive
ouch decompress a.zip
Things to know
- Some formats such as 7z and zip cannot be streamed during (de)compression.
- RAR support is decompression and listing only, due to its license.
In collections
Topics
FAQ
- What is ouch?
- A terminal CLI for compressing, decompressing and listing archives in many formats, with format detection from file extensions. ouch (Obvious Unified Compression Helper) is a command-line tool that handles compression and decompression through one consistent interface. Instead of remembering different flags for tar, zip, gzip, xz and others, you run ouch decompress, ouch compress or ouch list and the format is inferred from the file extension.
- Is ouch free to use? What license does it have?
- ouch is open source under the Other license. Check the license terms before using it in commercial products.
- Is ouch still maintained?
- Actively maintained. The last commit to ouch was on Oct 19, 2026.
- What can I use ouch for?
- Quickly unpacking downloaded .tar.gz or .zip files in a terminal session. Creating archives with mixed compression formats from a shell script. Inspecting archive contents on a remote server before extracting. Piping compressed data through standard input in a shell pipeline.
- How do I install ouch?
- Install via Homebrew on macOS: brew install ouch Install from crates.io with Cargo: cargo install ouch Decompress an archive: ouch decompress a.zip
- Where can I get ouch?
- The source code and installation instructions are on GitHub: https://github.com/ouch-org/ouch
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
Free, open-source native macOS archive tool for creating and extracting ZIP, 7Z and TAR files, with RAR extraction, encryption and Finder integration.
A cat(1) clone for the terminal with syntax highlighting, Git change markers, and automatic paging.
A fast, user-friendly command-line alternative to the Unix find command for locating files and directories by name.
A terminal markdown reader and renderer that displays .md files and repos with styled formatting in the CLI.
A fast, neofetch-like command-line tool that displays system information alongside a customizable ASCII logo.