Repolode
ouch-org

ouch-org/ouch

A terminal CLI for compressing, decompressing and listing archives in many formats, with format detection from file extensions.

Open-source alternative to:WinRAR7-Zip

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. 1

    Install via Homebrew on macOS

    brew install ouch
  2. 2

    Install from crates.io with Cargo

    cargo install ouch
  3. 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