posva/catimg logo

posva/catimg

Free

🦦 Insanely fast image printing in your terminal

FreeFree tier
Type
Open Source

About posva/catimg

Catimg is a lightweight, dependency-free C program that renders images directly in the terminal. It supports JPEG, PNG, and GIF formats and offers a high-resolution mode using Unicode characters. Originally a shell script relying on ImageMagick, the C version is much faster but slightly less color-accurate. It can be installed via Homebrew, Arch Linux, Fedora, or built from source with CMake. The project is open-source under the MIT license and maintained by Eduardo San Martin Morote.

Key Features

Written in C with zero external dependencies
Supports JPEG, PNG, and GIF image formats
High-resolution output using Unicode characters (option -r)
Extremely fast rendering compared to script-based alternatives
Available via Homebrew, yaourt, dnf, and CMake build
Includes both a C binary and an optional shell script version
Open-source under MIT license

Pros & Cons

Pros
  • Blazing fast due to native C implementation
  • No dependencies – works out of the box on most systems
  • Supports common image formats (JPEG, PNG, GIF)
  • High-resolution option improves image quality in terminal
  • Easy installation via package managers or simple build
  • Lightweight and small codebase
Cons
  • C version has slightly less color accuracy than the script version
  • No image manipulation capabilities – only prints to terminal
  • Limited to terminal color/character output, not pixel-perfect
  • Script version (if used) requires ImageMagick and 256-color shell

Best For

Quickly preview images in a terminal without leaving the command lineDisplay images in scripts, pipelines, or terminal-based applicationsRetro or fun terminal demos and ASCII art-like renderingImage viewing on headless servers or minimal systems without a GUI

FAQ

What image formats does catimg support?
Catimg supports JPEG, PNG, and GIF formats.
How do I install catimg?
On macOS use Homebrew: 'brew install catimg'. On Arch Linux: 'yaourt -S catimg'. On Fedora: 'dnf -y install catimg'. You can also build from source with CMake.
What is the difference between the C and script versions?
The C version is much faster and has no dependencies, but the script version provides more accurate color reproduction. The script version requires ImageMagick and a terminal with 256-color support.
How can I get higher resolution output?
Use the '-r' option to force high-resolution mode, which employs Unicode characters for finer detail.
Is catimg free to use?
Yes, catimg is open-source under the MIT license and completely free to use.