21 unstable releases
| 0.11.0 | Dec 9, 2025 |
|---|---|
| 0.10.0 | Nov 20, 2025 |
| 0.9.2 | Jun 22, 2025 |
| 0.9.1 | Oct 22, 2024 |
| 0.2.0 | Oct 23, 2020 |
#32 in Command-line interface
17,333 downloads per month
Used in 69 crates
(64 directly)
76KB
1.5K
SLoC
viuer
Display images in the terminal with ease.
viuer is a Rust library that makes it easy to show images in the terminal.
It has a straightforward interface and is configured through a single struct.
The default printing method is through lower half blocks (▄ or \u2585).
However some custom graphics protocols are supported. They result in full
resolution images being displayed in specific environments:
For a demo of the library's usage and example screenshots, see
viu.
Usage
With the default features, only image::DynamicImage can be printed:
use viuer::{print, Config};
let conf = Config {
// Start from row 4 and column 20.
x: 20,
y: 4,
..Default::default()
};
let img = image::DynamicImage::ImageRgba8(image::RgbaImage::new(20, 10));
print(&img, &conf).expect("Image printing failed.");
And with the print-file feature, viuer can work with files, too:
use viuer::{print_from_file, Config};
let conf = Config {
// Set dimensions.
width: Some(80),
height: Some(25),
..Default::default()
};
// Display `img.jpg` with dimensions 80×25 in terminal cells.
// The image resolution will be 80×50 because each cell contains two pixels.
print_from_file("img.jpg", &conf).expect("Image printing failed.");
Docs
Find all the configuration options in the full documentation.
Dependencies
~11–19MB
~352K SLoC