Viewing images direct in a terminal used to come at a serious disadvantage. The vast majority of terminal emulators display images using block-characters. Images can be displayed using half blocks or quarter blocks, the former offers the ability to display pixels with colour-accuracy. Whether half blocks or quarter blocks are used, pixelation is evident.
But you don’t need to suffer pixelation when viewing images, as the Kitty Graphics Protocol lets us display 24-bit color high definition images direct in your terminal.
Terminals that support the Kitty Graphics Protocol include Kitty, WezTerm, Konsole, and wayst. Unfortunately, the vast majority of terminal emulators do not support the protocol. Instead, these terminal emulators may only support Sixel (“six pixels”), a bitmap graphics format which consists of a pattern six pixels high and one wide, resulting in 64 possible patterns.
You’ll also need an image viewer that supports the protocol. This article selects the best free and open source image viewers that let you view 24-bit color high definition images in a terminal. Ranger is a file manager but supports high definition previews.
Here’s our verdict.
Let’s explore the 5 terminal based viewers. For each utility we have compiled its own portal page, a full description with an in-depth analysis of its features, a screen shot of the program in action (where relevant), together with links to relevant resources.
|Terminal-Based Image Viewers|
|timg||Image and video viewer with good range of features. Written in C++|
|viu||Rust-based image viewer|
|Chafa||Character Art Facsimile|
|Ranger||Terminal-based file manager supporting high quality previews of image files|
|icat||Cat like utility can specify multiple image files and/or directories|
|Read our complete collection of recommended free and open source software. Our curated compilation covers all categories of software.
The software collection forms part of our series of informative articles for Linux enthusiasts. There are hundreds of in-depth reviews, open source alternatives to proprietary software from large corporations like Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk.
There are also fun things to try, hardware, free programming books and tutorials, and much more.
The grid display of timg is extremely useful.
I’ve always been happy with the default terminal emulator that comes with GNOME. It works well, reasonably fast, and not a memory hog. But it doesn’t support displaying high-resolution pictures. Time to move over to one that does maybe? Which is better, Kitty or WezTerm?