feh – a fast and light image viewer

feh is an X11 image viewer aimed mostly at console users. Unlike most other viewers, it does not have a fancy GUI, but simply displays images. It is controlled via commandline arguments and configurable key/mouse actions.

It is released under a variant of the MIT license.

feh v3.9


feh-3.9.tar.bz2 (signature)

  • Fix compilation on macOS by defining _DARWIN_C_SOURCE for mkdtemp and mkstemps. (Patch by Ryan Schmidt)
  • Remove magic byte check before passing an image to Imlib2. This check was introduced in feh 3.6 to work around an issue with Imlib2 being slow to determine image loadability in some cases https://phab.enlightenment.org/T8739. By now, an Imlib2 version without this issue should be available in all recent distributions, so the check in feh is no longer required. For a slight speed-up, or to use feh with an affected Imlib2 version (1.6.x or 1.7.0), compile feh with magic=1. In this case, feh will use libmagic to determine whether a file is an image, and only pass images to Imlib2. (Patch by Christian Hesse)
  • Fix crash (segmentation fault due to null pointer dereference) when toggling fullscreen mode while moving the cursor.
  • Note that feh no longer supplies its own getopt_long function. getopt_long is provided by a wide range of libc implementations, so there is no need for feh to duplicate it. (Patch by Guilherme Janczak)

Archive - Bugs - Release feed



The feh manual explains the various operation modes and options in detail.
You might also be interested in the Changelog.
There is a growing list of examples and screenshots.


Download the source code of the latest release here: feh v3.9 (signature). Or check out the latest development version: feh git.

feh is also shipped by many Linux/BSD distributions, including Arch Linux, Debian, FreeBSD, OpenBSD and Ubuntu.

Building from source

You can easily compile feh from source, e.g. to try out the latest changes in the git repository. All you need is GNU make, a C compiler (gcc/clang) and some libraries.

Example for Debian:

First, install the dependencies:
apt-get install libcurl4-openssl-dev libx11-dev libxt-dev libimlib2-dev libxinerama-dev libjpeg-progs

Then, either get the latest tarball:
wget https://feh.finalrewind.org/feh-3.9.tar.bz2
tar -xjf feh-3.9.tar.bz2
cd feh-3.9

or check out the git version:
git clone https://git.finalrewind.org/feh
cd feh

Now, compile and install feh:
sudo make install


Please report bugs, feature requests or any other source code related stuff on the GitHub issue tracker. You can also send a mail to derf+feh at finalrewind dot org, though GitHub issues are preferred.

famfamfam iki