Convert Images to ASCII Art in Linux Terminal With This Nifty Little Tool

Want some fun in the Linux terminal? How about converting a regular image into ASCII art? This tool lets you convert any image into ASCII art.
Warp Terminal

Want to do some fun stuff in the Linux terminal? How about converting a regular image into an ASCII art?

You know what’s ASCII? It’s a standard that assigns letters, numbers and other characters in the 256 slots available in the 8-bit code. The ASCII art is a graphics composed of the printable ASCII characters. Basically, it is composed of a bunch of letters, numbers and special characters.

You might have seen people displaying their distribution’s logo in ASCII format like this:

Ubuntu Mate Focal Neofetch

That’s cool, right? How about converting a normal picture into ASCII art? That’s what you are going to explore in this article.

Ascii Image Converter

As the name suggests, Ascii Image Converter is a tool that converts an image into ASCII art. It is a command line based tool written in Go and it prints the ASCII version of the image supplied to it.

You probably won’t recognize me, but that’s me in ASCII in the image below. That’s my 8-bit avatar.

abhishek prakash in ascii

The tool supports input images in the following format:

  • JPEG/JPG
  • PNG
  • BMP
  • WEBP
  • TIFF/TIF

Let’s see about installing and using it.

Installing Ascii Image Converter on Linux

This nifty tool is also available on Windows but I am not going that way. Let’s stick to Linux in this tutorial.

If you have Snap enabled in your distribution, you can easily install its snap package using the following command:

sudo snap install ascii-image-converter

You may also download the Linux executable file from its release page and put the executable in the /usr/local/bin/ directory. This way, you’ll be able to run it like a regular Linux command. If you wonder why so, please learn about Linux directory hierarchy.

Using Ascii Image Converter

The usage is simple. Once installed, you just have to provide the path of the image you want to convert.

ascii-image-converter path_to_image

You may also provide the URL of the image to convert an image into ASCII directly from the web.

Here is my profile picture converted into ASCII. I have put my original photo for the reference.

Abhishek Prakash ascii converted

You may also have a colored ASCII conversion.

ascii-image-converter -C path_to_image
Abhishek colored ascii

You may convert multiple images into ASCII by providing their paths. It will print the ASCII version one after another on the terminal display.

There is also an option to save the generated ASCII art. In the older version, it would be saved only as a text file, not as an image. The developer, Zoraiz Hassan, released a new version and now the tool saves the generated ASCII image in PNG format by default.

ascii-image-converter path_to_image -s .

There are a few more options available such as giving the output a specific dimension, use more ASCII characters, or use your own set of characters for printing the ASCII art. You can read about it on the project’s repository.

Like it?

Would you like more ASCII stuff in the Linux terminal? How about playing ASCII games on Linux? Yes, you can totally do that.

If you like experimenting in the terminal, you may like this tool. However, I wonder what could be a good practical use of an ASCII-converted image. Any ideas?

About the author
Abhishek Prakash

Abhishek Prakash

Created It's FOSS 11 years ago to share my Linux adventures. Have a Master's degree in Engineering and years of IT industry experience. Huge fan of Agatha Christie detective mysteries 🕵️‍♂️

Become a Better Linux User

With the FOSS Weekly Newsletter, you learn useful Linux tips, discover applications, explore new distros and stay updated with the latest from Linux world

itsfoss happy penguin

Great! You’ve successfully signed up.

Welcome back! You've successfully signed in.

You've successfully subscribed to It's FOSS.

Success! Check your email for magic link to sign-in.

Success! Your billing info has been updated.

Your billing was not updated.