What is feh and what is it used for?
Updated
feh is a lightweight, configurable, and versatile image viewer aimed primarily at command-line users, though it can also be launched from graphical file managers. It is used to view images, compile text and thumbnail listings, show which files can (or cannot) be loaded, set X11 backgrounds, and more. It is licensed under a variant of the MIT license. The current release listed on the project site is feh v3.13.1 (2026-09-16).
What feh does
Beyond simply opening an image, feh covers several distinct jobs:
- Viewing images — the core function, driven from the command line.
- Compiling text and thumbnail listings — useful for surveying a directory of images.
- Showing (un)loadable files — helps identify which files feh can actually open.
- Setting X11 backgrounds — feh can act as a wallpaper setter, and it supports rxvt transparency.
- Custom actions — shell commands can be bound to keys, for example to sort images.
Operation modes
feh offers several modes, each suited to a different task:
| Mode | What it does |
|---|---|
| Slideshow | Shows all files in or below a directory; change slides with the keyboard or automatically after a delay |
| Thumbnail | Lists files as clickable thumbnails |
| List | ls-like output including image dimensions and similar details |
| Multiwindow | Opens all images at once |
Optional HTTP/FTP support is available via libcurl, and filelist support is included. Keyboard shortcuts are configurable, and the viewer is described as well usable without a mouse.
Who it is for
feh fits users who work from the terminal and want a fast, light image viewer that can also handle batch-style tasks like generating listings or setting backgrounds. Because it can be started from graphical file managers as well, it is not limited to purely command-line workflows. If you prefer a mouse-driven, feature-heavy image application, feh's command-line orientation is the main trade-off to weigh.
Installation
feh has been packaged for a variety of distributions, including Arch Linux, Debian, FreeBSD, OpenBSD, and Ubuntu, so installation on those systems is typically handled through the distribution's package manager. If you want or need to compile your own build from source, the latest release can be downloaded from the project site; the development version is available as a Git repository at the finalrewind, Codeberg, and GitHub mirrors. In both cases, the README provides the list of dependencies, configuration options, and build and installation instructions.
Project and support
Bugs, feature requests, and other source-code-related matters are reported on the GitHub issue tracker. Email to derf+feh at finalrewind dot org is also possible, though GitHub issues are preferred. The site links to an archive, a bug tracker, and a release feed for following updates.