
A lightning-fast cross-platform image viewer written in Rust
This is a very slim image viewer that aims to replicate the most important functions found in commercial software like ACDSee.
Download the appropriate package from the release page
Arch Linux users can install by running yay -S lightningview or paru -S lightningview
To start viewing images:
lightningview <imagefile.ext>
To open an image in windowed mode instead of fullscreen:
lightningview /windowed <imagefile.ext>
To print verbose debug logs to stdout (useful for diagnosing startup failures and HDR support — it reports the selected GPU backend and the display's HDR capability):
lightningview /debug <imagefile.ext>
On Windows this attaches to the launching terminal's console so the output is
visible despite the GUI build having no console of its own. The flags can be
combined and given in any order (e.g. lightningview /windowed /debug <file>).
To register as default program for viewing images on older versions of Windows:
lightningview.exe /register
To remove this registration from your windows registry and settings:
lightningview.exe /unregister
| Input | Action |
|---|---|
| Page Up | Show previous image in directory |
| Page Down | Show next image in directory |
| Home | Jump to first image in directory |
| End | Jump to last image in directory |
| R | Sort images randomly |
| N | Sort images by name |
| F | Toggle fullscreen |
| Enter | Toggle between scale to fit and 1:1 display |
| Delete | Delete the currently viewed image file |
| Ctrl+C | Copy current image to clipboard |
| Mouse wheel | Zoom in / out |
| Drag Mouse | Pan image |
On first run LightningView writes a config file with the default settings, which you can edit afterwards:
~/.config/lightningview/config.toml%APPDATA%\lightningview\config.tomlThe navigation keys are configurable. Each action is bound to a key pair, either
"arrows" (Left / Right) or "pageupdown" (Page Up / Page Down):
[keybindings]
# Seek backward / forward within a playing video.
video_seek = "arrows"
# Move to the previous / next file in the directory.
file_browse = "pageupdown"
File browsing works whether an image or a video is shown. To restore the old behaviour where the arrow keys browse files, swap the two values.
Video files are detected by their extension and handed to an ffmpeg-backed player that runs alongside the image viewer. Playback includes synchronized audio (the audio track drives the A/V clock; videos without audio fall back to a wall clock) and subtitle rendering. A seek/progress bar is shown transiently on screen when seeking or toggling playback.
By default the cursor keys seek within a playing video while Page Up / Page Down move to the previous / next file. File browsing works the same way whether an image or a video is shown. These bindings are configurable — see Configuration.
| Input | Action |
|---|---|
| Space | Toggle play / pause |
| Left Cursor | Seek backward 5 seconds |
| Right Cursor | Seek forward 5 seconds |
| Ctrl+Left Cursor | Seek backward 60 seconds |
| Ctrl+Right Cursor | Seek forward 60 seconds |
| Page Up | Show previous file in directory |
| Page Down | Show next file in directory |
| A | Cycle through audio tracks |
| S | Cycle through subtitle tracks |
| F | Toggle fullscreen |
General image formats:
RAW formats:
(Decoding is handled by ffmpeg, so most common audio/video codecs within these containers are supported.)
Just run the usual command:
cargo build --release
Under Linux, you may need to install additional dependencies first:
apt install libx11-dev libcairo-dev libxcursor-dev libxfixes-dev libxinerama-dev libxft-dev libpango1.0-dev libstdc++-11-dev
Video playback is built on ffmpeg, so the ffmpeg development libraries are also required:
apt install libavcodec-dev libavformat-dev libavutil-dev libswscale-dev libswresample-dev
$ claude mcp add LightningView \
-- python -m otcore.mcp_server <graph>