atanunq/viu

Terminal image viewer with native support for iTerm and Kitty

View on GitHub ↗Jump to charts ↓Open shareable report →

atanunq/viu has 3k+ stars and 80+ forks on GitHub, is written in Rust, and was last pushed on Dec 15, 2025. Data as of . Signed-in members get hourly updates — create a free account.

Summary Information

Updated 35 minutes ago
Type:CLI ToolCategory(s):CLI UtilitiesDeveloper Tools
Added to GitGenius on September 21st, 2026
Created on April 12th, 2019
Open Issues & Pull Requests: 51 (+0)
GitHub issues: Enabled
Number of forks: 80
Total Stargazers: 3,295 (+0)
Total Subscribers: 22 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 26.2 hours
Mean response time: 32.5 days
90th percentile: 94.7 days
Tracked items: 15

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 15
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 678 days
Stale 30+ days: 15
Stale 90+ days: 13

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

No label distribution available yet.

Most active issues this week

Sign in to see which issues are moving.
Sign in

Detailed Description

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.