What is viu?
viu is a small but powerful command-line image viewer written in Rust that displays images directly in your terminal. It adapts to your terminal's capabilities, using the best available protocol β from the high-fidelity Kitty and iTerm2 graphics protocols down to Unicode block characters as a universal fallback.
β‘ Key Features of viu
πΌοΈ Multiple Display Protocols
Supports Kitty terminal graphics protocol, iTerm2 inline images, Sixel graphics, and Unicode block characters β automatically picks the best one for your terminal.
π¦ Wide Format Support
Displays PNG, JPEG, GIF, BMP, ICO, TIFF, WebP, AVIF, and many more formats via Rust's image crate.
ποΈ GIF Animation
Plays animated GIFs directly in the terminal, looping through frames at the correct frame rate.
π Flexible Sizing
Control width, height, or let viu auto-fit the image to your terminal window. Useful for pipelines and scripting.
π Pipe-Friendly
Reads from stdin or file arguments, making it composable with tools like curl, find, and shell pipelines.
β‘ Fast & Lightweight
Written in Rust β minimal startup time, low memory footprint, and no runtime dependencies beyond the binary.
π₯οΈ Supported Terminal Protocols
- Kitty: Full-resolution pixel-perfect images (kitty, Ghostty, WezTerm)
- iTerm2: Inline image protocol (iTerm2, WezTerm, Tabby, VSCode)
- Sixel: Compatible with foot, Windows Terminal, and many classic terminals
- Unicode blocks: Universal fallback β works in every terminal
π¦ Installation from deb.griffo.io
Step 1: Add Repository
sudo install -d -m 0755 /etc/apt/keyrings
curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | sudo gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg
echo "deb [signed-by=/etc/apt/keyrings/deb.griffo.io.gpg] https://deb.griffo.io/apt $(lsb_release -sc 2>/dev/null) main" | sudo tee /etc/apt/sources.list.d/deb.griffo.io.list > /dev/null
sudo apt updateinstall -d -m 0755 /etc/apt/keyrings
curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg
echo "deb [signed-by=/etc/apt/keyrings/deb.griffo.io.gpg] https://deb.griffo.io/apt $(lsb_release -sc 2>/dev/null) main" | tee /etc/apt/sources.list.d/deb.griffo.io.list > /dev/null
apt updateπ There is an always-free mirror. deb-free.griffo.io serves packages free forever β no account, no subscription, at most 2 months behind upstream, security fixes immediately. It currently carries Ghostty, Oh My Posh and Zed; viu is not one of them, so the repository above is the only way to get it today β ask and it can be enrolled.
Step 2: Install viu
# Install latest viu
sudo apt install viu
# Verify installation
viu --version# Install latest viu
apt install viu
# Verify installation
viu --versionπ― Usage Examples
Basic usage:
# Display a single image
viu image.png
# Display multiple images
viu *.jpg
# Display from stdin
curl -sL https://example.com/photo.jpg | viu -
# Display a GIF animation
viu animation.gifSizing options:
# Set width in terminal columns
viu -w 80 image.png
# Set height in terminal rows
viu -h 24 image.png
# Disable auto-resizing
viu -s image.pngPipeline examples:
# Browse images in a directory
for f in ~/Pictures/*.jpg; do viu -w 40 "$f"; done
# Use with fzf to browse and preview
find . -name "*.png" | fzf --preview "viu -w 60 {}"π Why Choose deb.griffo.io?
- Official Ubuntu: viu is not packaged in official Ubuntu repositories
- Cargo Install: Requires Rust toolchain and compilation time
- deb.griffo.io: Latest version available immediately via
apt
- β Latest Features: Get newest viu features including AVIF and improved protocol support
- β No Rust Compilation: Pre-built musl static binary, no toolchain or extra dependencies needed
- β Automatic Updates: Packages updated within hours of upstream releases
- β Proper Packaging: Correctly packaged as a package with clean install/remove
- β Multi-Distribution: Works on Jammy, Noble, Questing, and Resolute
π¦ Package Build Repository
The Ubuntu packages are automatically built and maintained in this GitHub repository:
- πΌοΈ viu-debian - Latest release builds
π Related Packages
Also available from deb.griffo.io:
- Yazi File Manager - Terminal file manager with built-in image preview
- eza - Modern ls replacement
- fzf Fuzzy Finder - Combine with viu for interactive image browsing
π Support This Project
If this repository saves you time and effort, please consider supporting it!