viuer

Render images in Rust terminals with protocol auto-detection and half-block fallback.

3|Updated Jan 10, 2026
One-click install
npx skills add https://github.com/yankeeinlondon/rusty-biscuit --skill viuer
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: viuer
Source: https://github.com/yankeeinlondon/rusty-biscuit/tree/main/.claude/skills/viuer
Command: npx skills add https://github.com/yankeeinlondon/rusty-biscuit --skill viuer

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Rendering images in Rust terminals is challenging due to protocol support and terminal capability; this guide provides expert guidance on using viuer's auto-detection and half-block rendering to display images in the terminal.

Core Features & Use Cases

  • Protocol auto-detection (Kitty, iTerm2) with fallback to sixel or lower-block rendering for non-graphics terminals
  • Sizing and positioning via Config (width/height/x/y) for precise layouts in CLIs and TUIs
  • Practical use cases include image previews, thumbnails, and terminal compatibility diagnostics across common backends

Quick Start

Install viuer in a Rust project and call viuer::print with a configured Config to render an image in the terminal.

Frequently Asked Questions about viuer

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I render images in a Rust terminal application?

You can render images in a Rust terminal by installing viuer and calling viuer::print with a configured Config. It uses protocol auto-detection for supported terminals and falls back to half-block rendering for others.

How does terminal image rendering protocol auto-detection work in Rust?

Protocol auto-detection in terminal image rendering checks for Kitty and iTerm2 graphics protocols automatically. If unsupported, it falls back to Sixel or half-block rendering to ensure images display across varying terminal capabilities.

Can I control image size and placement when rendering in iTerm2 or Kitty?

Yes, you can control image size and placement by setting width, height, x, and y parameters via the Config struct. This allows precise layout positioning for previews and thumbnails within CLIs and TUIs.

What happens when displaying images in a terminal without graphics protocol support?

When displaying images in a terminal without graphics protocol support, viuer automatically falls back to half-block rendering. This ensures basic image visibility for diagnostics and previews even in non-graphics environments.

Can I force a specific image rendering protocol instead of using auto-detection?

Yes, you can force a specific image rendering protocol instead of relying on auto-detection. The viuer library provides documented guidance for optional protocol forcing to test specific backends like Kitty or iTerm2.