vv is an image viewer from the moderncore project which displays graphics directly inside a terminal while retaining features normally associated with conventional desktop image viewers.
Its rendering path emphasises image fidelity rather than reducing pictures to a small palette or heavily simplified character representation. The program handles colour profiles, transparency, high dynamic range material and vector artwork, and automatically scales images to fit the space available. It primarily targets terminals implementing the Kitty graphics protocol but also provides a lower-resolution textual fallback when that protocol is unavailable.
This is free and open source software.
Key Features
- Displays images in full colour without palette reduction or dithering.
- Automatically scales large images to fit the available terminal area.
- Can enlarge small images when additional display space is available.
- Reads embedded colour profiles and applies colour management during rendering.
- Handles HDR imagery with tone mapping for SDR displays.
- Provides Khronos PBR Neutral and AgX tone-mapping approaches.
- Preserves alpha-channel transparency over the terminal background.
- Can replace transparency with either a checkerboard or solid-colour backdrop.
- Renders vector image formats such as SVG at terminal-native resolution.
- Uses the Kitty graphics protocol for high-quality graphics output.
- Provides a text-only fallback for terminals without the required graphics protocol.
- Supports animated WebP images.
- Can take advantage of protocol-side animation where supported by the terminal emulator.
- Works over remote terminal connections as well as on the local machine.
- Forms part of the wider moderncore codebase rather than depending on the former standalone vv repository.
Website: github.com/wolfpld/moderncore/blob/master/doc/vv.md
Support:
Developer: Bartosz Taudul
License: BSD 3-Clause License

vv is written in C++. Learn C++ with our recommended free books and free tutorials.
Related Software
| Terminal-Based Image Viewers | |
|---|---|
| timg | Image and video viewer with good range of features. Written in C++ |
| Chafa | Character Art Facsimile |
| viu | Rust-based image viewer |
| vv | Image viewer for sixel terminals |
| TIV | Tiny C++ program that displays images in a terminal |
| Ranger | Terminal-based file manager supporting high quality previews of images |
| mcat | Extended cat command |
| icat | Cat like utility can specify multiple image files and/or directories |
| PixelTerm-C | High-performance terminal image browser written in C |
| pho | Lightweight image viewer |
| catimg | Renders images in the terminal |
| PTUI | Real-time image preview capabilities |
| imv | X11/Wayland image viewer |
| iv | Image viewer using terminal graphics |
| TermVisage | Front-end to the term-image library |
| Foto | Simple image viewer |
| vat | Renders SVG and other vector graphics in multiple formats |
| image_to_console | Fast image viewer supporting animations and graphics protocols |
| rsimg | Uses crossterm and zune as dependencies |
| imgcat | Displays images and gifs in your terminal emulator. |
Read our verdict in the software roundup.
LinuxLinks helps you discover the best free and open source software for Linux. Explore our extensive collection of recommended applications, including alternatives to popular proprietary software.We also publish software reviews, Linux tutorials, hardware reviews, free programming books and articles covering the wider open source community. Browse our Linux resources to discover more. Know a useful free and open source Linux application we haven't covered? Suggest a program for inclusion. Has your software been featured on LinuxLinks? Display one of our Featured on LinuxLinks badges on your website or GitHub README. |


Please read our Comment Policy before commenting.