viu is a terminal image viewer that displays images in the command line using native graphics protocols.
The tool solves the problem of viewing images directly within terminal emulators by leveraging protocol support where available. It detects the terminal type through the TERM environment variable and uses either iTerm or Kitty graphics protocols if supported. When native protocol support is unavailable, it falls back to rendering images using lower half block characters, with color depth determined by inspecting the COLORTERM variable to decide between truecolor and ANSI 256-color modes. The tool also supports animated GIFs and can accept image data through stdin.
viu suits developers and terminal users who want to preview images without leaving their shell environment. It works well in iTerm on macOS and Kitty terminals, where it provides native rendering. The half-block fallback makes it functional across a broader range of terminals, though with reduced visual quality. Users can customize display dimensions and control aspect ratio preservation through command-line flags. The tool includes experimental Sixel support behind optional feature flags for terminals that support that graphics protocol.
Development activity shows consistent maintenance with support across multiple platforms including macOS, Arch Linux, and NetBSD through their respective package managers. The project accepts contributions and maintains a stable release process with signed binaries available for download. The codebase is written in Rust and built on the viuer library, indicating a modular approach to separating the rendering logic from the command-line interface.