The viewer
that just opens.
Fast, keyboard-driven image viewer and converter for Linux, macOS and Windows. GPU-accelerated. Instant load. No clutter — just your images, now.
Apache 2.0 — your images stay yours.
Everything you need.
Nothing you don't.
Instant load
Images open in milliseconds. GPU-accelerated decode means no waiting, no progress bar — even large files feel immediate.
Keyboard-first
Walk folders, zoom, pan, rotate, go fullscreen — all from the keyboard. Press H for the full cheatsheet, any time.
Thumbnail grid
Press Tab for a scrollable overview of the whole folder. Navigate with arrow keys, jump to any image instantly.
Real batch pipeline
Convert, resize, crop, rotate, re-quality and rename entire folders in parallel. One command. Thousands of files. Headless — no GPU needed.
Wide format support
JPEG, PNG, WebP, GIF, BMP, TIFF — all decoded by pure-Rust codecs. No system C libraries. No install surprises.
Truly cross-platform
One Rust codebase. Native performance on Linux, macOS and Windows. No Electron, no runtime, no compromise.
Built for every workflow.
From casual browsing to power-user navigation — one tool, every use case.
A real batch pipeline.
glanvu convert decodes, transforms and re-encodes entire folders
in parallel — headless, no display, no GPU.
- Fixed pipeline: crop → rotate → resize → encode
- Parallel execution via Rayon — all CPU cores
- Refuses to overwrite inputs or collide outputs
-
Rename patterns:
{stem},{n:04}
$ glanvu convert \ --to webp --resize 2000x2000 \ --out web/ photos/*.jpg photo_001.jpg → web/photo_001.webp photo_002.jpg → web/photo_002.webp photo_003.jpg → web/photo_003.webp converted 127, failed 0 $ glanvu convert \ --to jpg --quality 85 \ --crop 0,0,800x600 --rotate 90 \ scan.png scan.png → scan.jpg $ glanvu convert \ --to webp --rename "trip_{n:03}" \ --out out/ *.jpg IMG_4231.jpg → out/trip_001.webp IMG_4232.jpg → out/trip_002.webp ...
Built to last.
Clean architecture. Strict by default. No shortcuts.
Pure Rust, zero system deps
All Phase 1 decoders are pure-Rust crates. No libjpeg, libpng or libwebp linked at runtime. Consistent behavior everywhere, zero install surprises.
GPU-free headless core
The image engine and viewer state have zero GPU dependencies. The batch CLI runs on any server, CI machine, or embedded system with no display.
Strict by default
The workspace enforces unsafe_code = deny and clippy::all = warn. No exceptions without review. Clean-room, independent implementation.
Built for extension
RAW, AVIF, DICOM, CAD, 3D formats and gigapixel images on the roadmap. Each codec added behind a sandboxed plugin layer — no blast radius into the core.
Get Glanvu.
Version v0.5.0 — download directly or build from source.
macOS
macOS 12 Monterey and later
Apple Silicon (arm64)
Build from source (Intel / Rosetta 2)
brew tap glanvu/glanvu
brew install --cask glanvu
Linux
x86_64 · Debian/Ubuntu and all major distros
Download .tar.gz.deb package · Homebrew · Build from source
AppImage · Flatpak · AUR
Star the repo on GitHub to get release notifications when packaged installers ship.
Stay in the loop.
One email when the first packaged release for your platform is ready. No spam.
Thanks — we'll reach out when installers ship.