A fast, precise, minimal image viewer for Windows.
- Rendering
- Windows Advanced Color: WCG/HDR, PQ/HLG, embedded/display ICC profiles
- FP16 linear render pipeline, FP16 scRGB output
- HDR passthrough on HDR, HDR tone-mapped on SDR
- Ultra HDR gain maps on HDR
- Dither: Ordered or Fruit (8-bit output only)
- 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, no installation
- Settings stored in
riv.jsonnext toriv.exe
Running as administrator is blocked at startup.
Formats that need a codec extension from the Microsoft Store:
| Format | Store extension | Notes |
|---|---|---|
| JPEG XL | JPEG XL Image Extension (Microsoft Corporation) | HDR / Tone map |
| AVIF | HEIF Image Extension + AV1 Video Extension (Microsoft Corporation) | HDR / Tone map |
| WebP | WebP Image Extensions (Microsoft Corporation) | |
| Camera RAW | Raw Image Extension (Microsoft Corporation) |
These extensions are free and need no sign-in.
Formats with an optional codec extension:
| Format | Store extension | Notes |
|---|---|---|
| HEIC / HEIF | HEIF Image Extension + HEVC Video Extensions (Microsoft Corporation) | HDR / Tone map |
HEVC Video Extensions is paid.
HEVC Video Extensions from Device Manufacturer (Microsoft Corporation) is the
same codec for free, but it installs only on eligible devices.
When either HEVC extension is installed, it takes precedence; otherwise the built-in decoder handles HEIC / HEIF. Neither is required.
Decoded by built-in codecs:
| Format | Decoder | Notes |
|---|---|---|
| EXR | OpenEXR | HDR / Tone map |
| HEIC / HEIF | libheif + libde265 | HDR / Tone map |
| AVIF | libheif + dav1d | Animated only |
| WebP | libwebp | Animated only |
| PNG | png | Animated only |
| SVG / SVGZ | resvg | Vector only |
Decoded by Windows Imaging Component codecs:
| Format | Notes |
|---|---|
| JPEG | Ultra HDR |
| JPEG XR | HDR / Tone map |
| DDS | BC1-BC3 |
| BMP, DIB, GIF, ICO, PNG, TIFF |
Archives browsable as image folders: zip, 7z, rar, tar, and cbz / cbr / cb7 / cbt.
- Windows 11 23H2 or later, x86-64-v3 (AVX2)
- Direct3D 12 capable GPU
The build cross-compiles from Linux (tested on WSL) to x86_64-pc-windows-msvc.
Prerequisites:
CMake,Ninja,Meson, andNASM, for static codec dependencies.Wine, for the tests and for compiling the HLSL shaders.- LLVM 23:
clang, clang-cl, lld-link, llvm-lib, llvm-rc, llvm-mt, llvm-strip. - Rust with the
x86_64-pc-windows-msvctarget. - A Windows CRT + SDK splat from xwin
in
~/.xwin(override the location withXWIN_ROOT).
Ubuntu 26.04 packages:
sudo apt-get install cmake ninja-build meson nasm wine gitLLVM 23 from apt.llvm.org:
wget -qO llvm.sh https://apt.llvm.org/llvm.sh
sudo bash llvm.sh 23LLVM tools on PATH:
export PATH="/usr/lib/llvm-23/bin:$PATH"Rust:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
rustup target add x86_64-pc-windows-msvcxwin:
cargo install xwin
xwin --accept-license splat --output ~/.xwinStatic build of the C/C++ codecs:
./deps/build_deps.shBuild:
cargo build --releaseInspired by qView.
mpv and libplacebo served as references for the context menu, dithering, and the aspect ratio table.
Ultra HDR test images come from Mishaal Rahman's samples, with SDR emulations by Dylan Raga (CC BY 4.0).
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).

