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 image files |
| 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 |
| ucollage | Extensible command line image viewer |
| TermVisage | Front-end to the term-image library |
| Foto | Simple image viewer |
| rsimg | Uses crossterm and zune as dependencies |
| pxv | Instant feature rich terminal image viewer |
| imgcat | Displays images and gifs in your terminal emulator. |
Read our verdict in the software roundup.
Explore our carefully curated directory of recommended free and open source software, covering every major software category.The directory forms part of our extensive collection of articles for Linux enthusiasts. It includes hundreds of detailed reviews, together with free and open source alternatives to proprietary software from companies such as Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk. LinuxLinks also covers interesting projects worth exploring, Linux-compatible hardware, free programming books and tutorials, and much more. Know a useful free and open source Linux application that we haven’t covered? Tell us about it using our submission form. |


Please read our Comment Policy before commenting.