Lightweight image viewer for Windows.
- Three-pane UI: directory tree, file list, and thumbnail grid
- Image viewer with zoom and pan (Direct2D rendering)
- Archive browsing via 7-Zip (
7z.dll) - Network share (UNC path) support
- Thumbnail caching with SQLite and zstd compression
- Drag & drop file operations with conflict resolution
- Natural / lexicographic / date / size sorting
- AVIF image support via plugin (libavif)
- Plugin API for extending supported formats
- TOML-based persistent settings
- Windows 10 or later (x64)
- 7-Zip (optional, for archive support)
Archive browsing requires 7z.dll from 7-Zip. The DLL is searched in the following order:
- Application directory (next to
nive.exe) %ProgramFiles%\7-Zip%ProgramFiles(x86)%\7-Zip- System
PATH
If 7-Zip is installed in the default location, no additional setup is needed. For portable use, place 7z.dll alongside nive.exe.
- Visual Studio 2026 (MSVC with C++ workload)
- CMake 3.28+
- Ninja (build system)
- NASM (for libaom SIMD optimizations)
- Git (for submodules)
git submodule update --init --recursive
cmake --preset release
cmake --build --preset releaseThe output binary is located at build/release/bin/nive.exe.
Note: The default presets use the Ninja generator. If you prefer Visual Studio, use the
msvc-releasepreset instead:cmake --preset msvc-release cmake --build --preset msvc-release
All dependencies are vendored as git submodules under externals/:
| Library | Purpose |
|---|---|
| spdlog | Logging |
| SQLite | Thumbnail cache database |
| bit7z | 7-Zip archive support |
| zstd | Cache compression |
| toml++ | Settings file parsing |
| libavif | AVIF image decoding (with libaom) |