posva/catimg
Free🦦 Insanely fast image printing in your terminal
FreeFree tier
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.