imv - Man Page

Image viewer for X11 and Wayland


imv is an image viewer for X11 and Wayland, aimed at users of tiling window managers. It supports a wide variety of image file formats, including animated gif files. imv will automatically reload the current image, if it is changed on disk.


imv [options] [paths...]



Show help message and quit.


Show version and quit.

-b <background>

Set the background colour. Can either be a 6-digit hexadecimal colour code or checks to show a chequered background.

-c <command>

Specify a command to be run on launch, after the configuration has been loaded. Can be used to configure custom keys with the bind command. This option can be used multiple times. Commands are run in the order that they have been passed to imv.


Start with overlay visible.


Start fullscreen.


List open files to stdout at exit.

-n <path|index>

Start with the given path, or index selected.


Load directories recursively.

-s <none|shrink|full|crop>

Set scaling mode to use. none will show each image at its actual size. shrink will scale down the image to fit inside the window. full will both scale up and scale down the image to fit perfectly inside the window. crop will scale and crop the image to fill the window. Defaults to full.

-t <slideshow_duration>

Start in slideshow mode, with each image shown for the given number of seconds.

-u <linear|nearest_neighbour>

Set upscaling method used by imv.

-w <windowtitle>

Set window title when starting imv.


Disable looping of input paths.

-W <width>

Initial width of window.

-H <height>

Initial height of window.


Commands can be entered by pressing :. imv supports the following commands:


Quit imv. Aliased to q.

pan <x> <y>

Pan the view by the given amounts.

next <offset>

Move forwards by a given number of images. Aliased to n

prev <offset>

Move backwards by a given number of images. Aliased to p

goto <index>

Select an image by index. 1 is the first image, 2 the second, etc. The last image can be indexed as -1, the second last as -2. Aliased to g.

zoom <amount|actual>

Zoom into the image by the given amount. Negative values zoom out. actual resets the zoom to 100%, showing the image at its actual size. Aliased to z.

rotate <'to'|by> <angle>

Rotate image clockwise by/to the given amount in degrees.

flip <'horizontal'|vertical>

Flip image horizontally/vertically (across vertical/horizontal axis).

open [-r] <paths ...>

Add the given paths to the list of open images. If the -r option is specified, do so recursively. Shell expansions may be used. Aliased to o.

close [index|all]

Close the currently selected image, or the image at the given index, or all images.


Toggle fullscreen.


Toggle the overlay.

exec <command>

Execute a shell command. imv provides various environment variables to the command executed. These are documented in the Environment Variables section.


Recenter the selected image.


Reset the view, centering the image and using the current scaling mode to rescale it.


If an animated gif is currently being displayed, load the next frame.


Toggle playback of the current image if it is an animated gif.

scaling <none|shrink|full|crop|next>

Set the current scaling mode. Setting the mode to next advances it to the next mode in the list.

upscaling <linear|nearest_neighbour|next>

Set the current upscaling method. Setting the method to next advances it to the next method in the list.

slideshow <+amount|-amount|duration>

Increase or decrease the slideshow duration by the given amount in seconds, or set its duration directly. Aliased to ss.

background <checks|hexadecimal-code>

Set the background color. checks for a chequerboard pattern, or specify a 6-digit hexadecimal color code. Aliased to bg.

bind <keys> <commands>

Binds an action to a set of key inputs. Uses the same syntax as the config file, but without an equals sign between the keys and the commands. For more information on syntax, see imv(5).

Default Binds

imv comes with several binds configured by default



Left arrow,

Previous image

Right arrow

Next Image


Go to first image


Go to last image


Pan down


Pan up


Pan left


Pan right


Close current image


Toggle fullscreen


Toggle overlay


Print current image to stdout

Up arrow

Zoom in

Down arrow

Zoom out


Zoom in


Zoom out


Zoom in


Zoom out


Rotate clockwise by 90 degrees


Center image


Next scaling mode


Next upscaling mode


Zoom to actual size


Reset zoom and pan


Next frame (for animations)


Pause/play animations


Start slideshow/increase delay by 1 second


Stop slideshow/decrease delay by 1 second


The path to a config file can be given via the $imv_config environment variable. If not found, imv will search for it in the following locations:

A default config file is shipped with imv into /etc/imv_config

For documentation on the config file format, see imv(5).

Environment Variables

When imv executes a shell command, it provides a number of environment variables, exposing imv’s state. These environment variables are also available when customising the window’s title, or the overlay text.


The pid of this instance of imv. Useful for running imv-msg in scripts.


Path of currently selected image.


Name of the current scaling mode.


1 if a new image is loading, 0 otherwise.


Index of current image, from 1-N.


Total number of files.


Width of the current image.


Height of the current image.


Scaling of current image in percent.


Number of seconds each image is shown for.


How long the current image has been shown for.


imv can accept commands from another process over a unix socket. Each instance of imv will open a unix socket named $XDG_RUNTIME_DIR/imv-$PID.sock. If $XDG_RUNTIME_DIR is undefined, the socket is placed into /tmp/ instead.

The imv-msg(1) utility is provided to simplify this from shell scripts.


imv is written and maintained by Harry Jeffery <> with contributions from other developers.

Full source code and other information can be found at

See Also

imv(5) imv-msg(1) imv-dir(1)

Referenced By

clifm(1), imv(5), imv-dir(1), imv-msg(1), mmv(1).

The man pages imv-wayland(1) and imv-x11(1) are aliases of imv(1).