LinuxCommandLibrary

ascii-image-converter

Convert images to ASCII art text

TLDR

Convert an image into ASCII

$ ascii-image-converter [path/to/image|URL]
copy

Colorize the output
$ ascii-image-converter [[-C|--color]] [path/to/image|URL]
copy

Create a tresholded image using braille (if the image is barely visible, try changing the terminal font)
$ ascii-image-converter [[-b|--braille]] [path/to/image|URL]
copy

Create a dithered image using braille (if the image is barely visible, try changing the terminal font)
$ ascii-image-converter [[-b|--braille]] --dither [path/to/image|URL]
copy

Display the image with negative colors
$ ascii-image-converter [[-Cn|--color --negative]] [path/to/image|URL]
copy

Use a wider range of characters to display an image (may improve image accuracy)
$ ascii-image-converter [[-c|--complex]] [path/to/image|URL]
copy

SYNOPSIS

ascii-image-converter [options] <input_image> [<output_file>]

PARAMETERS

-w, --width <WIDTH>
    Set output width in characters (default: auto)

-h, --height <HEIGHT>
    Set output height in characters (default: auto)

-c, --color
    Enable colored output

--save-as <FORMAT>
    Output format: html, ansi, kitty (default: ansi)

-f, --font-size <SIZE>
    Font size for HTML output (e.g., 12px)

--chars <STRING>
    Custom character set for mapping (default: standard grayscale)

-b, --brightness <VALUE>
    Adjust brightness (-1.0 to 1.0)

--contrast <VALUE>
    Adjust contrast (0.0 to 3.0)

-s, --save-images
    Save inline images for HTML

--version
    Print version info

--help
    Show help

DESCRIPTION

The ascii-image-converter is a powerful command-line tool for transforming raster images (such as JPEG, PNG, GIF, and WebP) into ASCII art representations. It supports both grayscale and full-color output, making it ideal for terminal displays, HTML files, or text-based art.

Key features include customizable dimensions, character sets, font sizes, and output formats like ANSI, HTML, or plain text. Users can adjust brightness, contrast, and dithering for optimal results. It's particularly useful for sharing images in text-only environments like IRC, forums, or email signatures.

Installation is straightforward on Linux: available via package managers like apt (Ubuntu/Debian: sudo apt install ascii-image-converter), AUR (Arch), or from source via Go. Once installed, basic usage involves specifying an input image and optional output file, with flags for fine-tuning the conversion process.

This tool excels over older alternatives by offering color support and modern image formats, producing high-fidelity ASCII art quickly even for large images.

CAVEATS

Not installed by default; requires package manager or Go build. Color output needs terminal support (e.g., 256-color). Large images may consume high memory.

INSTALLATION

Ubuntu/Debian: sudo apt install ascii-image-converter
Arch: yay -S ascii-image-converter
From source: go install github.com/TheZoraiz/ascii-image-converter@latest

EXAMPLES

ascii-image-converter image.jpg (terminal output)
ascii-image-converter -c -w 120 -s image.png output.html (colored HTML)

HISTORY

Developed in Go by TheZoraiz as a modern, feature-rich ASCII converter. Initial release around 2020 on GitHub; gained popularity via Linux repos. Actively maintained with support for new formats like AVIF.

SEE ALSO

jp2a(1), aview(1), aacgain(1)

Copied to clipboard