π

The Quest for Simple Convenient Linux Image Viewers

Show Sidebar

I like simplicity, but I also like convenience. The Linux command line offers a lot of that, though the latter sometimes needs some searching. So also in the case of image viewers.

Over the course of the last months, I have developed two primary use-cases: Previewing a bunch of images directly in the terminal, first with generic iterm, then within kitty - images was one of the reasons prompting me to switch to it. The second one is a quick popup window, as KDE's showfoto is only marginally faster than the full-blown digikam which takes multiple seconds to start, with a lot of bells and whistles and pop-ups.

In the terminal, I quickly sorted out pxl and catimg because of inferior quality. cacaview converts images into colorful ASCII-Art, but is very coarse and pops up if you are in a graphical session and I found no way to turn that off, making it unsuitable for my uses. I took timg, viu and tiv into a detailed comparison using a little helper script to vary the width as seen below:

Comparison of timg, viu and tiv in kitty and konsole at varying widths
Comparison of timg, viu and tiv in kitty and konsole

Both timg and viu supported kitty at the time of the test, and while viu creates a smooth image in normal terminals, the jaggedness of tiv preserves a lot more details. timg hits a very good middle ground on these, and also allows previewing pdfs directly without conversion and can show images in grids, making it perfect for my previews. tiv supports a directory mode while viu only shows one image at a time, keeping timg as a clear winner. ueberzug also looked interesting, but more appropriate for integration with other applications. lsix is also an interesting alternative to kitty with its sixel protocol because it natively lists images in a grid with their names, but so far kitty served me well enough to not give this a second thought, though recent developments highlight sixel as a more established standard.

For the popup version for use from xdg-open, I wanted quick opening, ability to easily navigate back and forth in the folder of the image and focus capture with quick quitting. w3m is interesting cause it is also a browser, but seemed a bit clunky for this usecase. qiv fell out cause I tested it on KDE Plasma, where the popup window did not capture focus. feh also did not cut it, leaving me with the unmaintained sxiv and its various forks.

Today I experimented with nsxiv, pqiv and vimiv, with the latter as clear winner because of its ability to easily navigate between and within images with familiar vim shortcuts.

Comment via email (persistent) or via Disqus (ephemeral) comments below: