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:
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.
The tool supports input images in the following format:
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.
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.
You may also have a colored ASCII conversion.
ascii-image-converter -C path_to_image
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.
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?