A fast, precise, minimal image viewer for Windows.
- Rendering
- FP16 linear render pipeline, FP16 scRGB output
- HDR passthrough on HDR displays, HDR tone-mapped on SDR displays
- Native 10-bit output on deep-color displays
- Output dither: Ordered or Fruit shader
- Color management: Windows Advanced Color with WCG/HDR, PQ/HLG, embedded/display ICC profiles
- Browsing
- Browse images inside archives (via archiveint.dll, shipped with Windows)
- Open http/https image URLs (via curl.exe, shipped with Windows)
- Animation playback with pause, frame stepping, speed control
- Configurable preloading that follows the browsing direction
- Application
- Customizable keyboard and mouse shortcuts
- Per-extension file associations, reversible with no registry leftovers
- Single portable executable (~7 MB), no installation
- Settings stored in
riv.jsonnext toriv.exe
Running as administrator is blocked at startup.
Some formats need a codec extension from the Microsoft Store. Only those files fail without it; the error names the one to install:
| Format | Required extension |
|---|---|
| HEIC † | HEVC Video Extensions (Microsoft Corporation) |
| HEIF ‡ | HEIF Image Extension (Microsoft Corporation) |
| AVIF ‡ | HEIF Image Extension + AV1 Video Extension (Microsoft Corporation) |
| JPEG XL ‡ | JPEG XL Image Extension (Microsoft Corporation) |
| WebP (still) ‡ | WebP Image Extensions (Microsoft Corporation) |
| Camera RAW ‡ | Raw Image Extension (Microsoft Corporation) |
† paid · ‡ free, no sign-in required
HEVC Video Extensions is optional; without it, the app uses its built-in decoder.
Decoded by built-in codecs:
| Format | Decoder |
|---|---|
| HEIC / HEIF | libheif + libde265 § |
| SVG / SVGZ | resvg |
| EXR | OpenEXR |
| APNG | png |
| Animated WebP | libwebp |
§ 8-bit output: 10-bit and HDR HEIC still decode, reduced to 8-bit. By contrast, HEVC Video Extensions keeps the full depth.
Decoded by Windows Imaging Component codecs:
| Format | Notes |
|---|---|
| PNG, JPEG, GIF, BMP, ICO, TIFF | |
| DDS | BC1–BC3 |
Archives browsable as image folders: zip, 7z, rar, tar, and cbz / cbr / cb7 / cbt.
- Windows 11, x86-64
- Direct3D 12 capable GPU
The build cross-compiles from Linux (tested on WSL) to x86_64-pc-windows-msvc.
Prerequisites:
- Rust with the
x86_64-pc-windows-msvctarget - LLVM 21+: clang-cl, lld-link, llvm-lib, llvm-rc, llvm-mt
- A Windows CRT + SDK splat from xwin
in
~/.xwin(override the location withXWIN_ROOT) - CMake and Ninja, for static codec dependencies
On Ubuntu 26.04, everything but Rust and xwin comes from apt:
sudo apt-get install clang-21 lld-21 llvm-21 cmake ninja-build gitRust and xwin:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
rustup target add x86_64-pc-windows-msvc
cargo install xwin
xwin --accept-license splat --output ~/.xwin./deps/build_deps.sh # static build of the C/C++ codecs
cargo build --releaseInspired by qView. mpv and libplacebo served as references for context menu, dither, aspect ratio table.
GPL-3.0-only (see LICENSE).
THIRD-PARTY-NOTICES.md lists the statically linked third-party components and their licenses. The application icon is derived from Fluent UI System Icons (MIT).

