Linux Candy

Linux Candy: asciify – turn images into attractive ASCII art

Linux Candy is a series of articles covering interesting eye candy software. We only feature open source software in this series.

Some of the programs in this series are purely cosmetic, frivolous pieces of fun. Candy at their finest. But we also include some programs that aren’t purely decorative.

There’s a diverse range of programs included in this series. Programs such as eDEX-UI and Variety are actually highly practical programs. ASCIIQuarium has soothing and relaxing qualities for your desktop. Other programs included in this series (such as lolcat, cacafire) are included purely for their decorative qualities. And then there’s some really fun software that just raises a smile or two.

asciify is a CLI tool that converts images into ASCII art. It takes an image file as input, resizes it according to specified width and height parameters, and then converts the image into ASCII characters.

Installation

I evaluated asciify with Manjaro, an Arch-based Linux distribution.

There are two packages available in the AUR. I chose the second one as it’s the latest version.

Installing asciify

The program needs a lot of dependencies installed on my system.

Installing asciify

Installation proceeded with no issues.

A small update to v1.1.0 is now available.

In Operation

Issue the command asciify --help to see the program’s options. You’ll need to click the image to see the options.

Options
Click image for full size

Here’s example output.

asciify example
Click image for full size

Features include:

  • Colored output: ANSI color codes allow to print colors. A modern terminal is needed
  • Resizing flexibility: Images are scaled to keep aspect ratio and fit the image to the terminal, but both options can be disabled.
  • Edge detection: Sobel and Canny algorithm are used to highlight edges.  Sobel and Canny are fundamental edge detection algorithms in image processing.
    • Sobel provides fast, simple, and thick gradient-based edges suitable for real-time applications.
    • Canny is a more sophisticated, multi-phase technique that yields finely detailed, 1-pixel wide lines that are both smooth and resistant to noise.
  • Output flexibility: Resulting images can be saved in a file (both using the terminal to determine optimal size or providing custom height and/or width).

Summary

Feed the program a JPEG or PNG and it will produce an ASCII equivalent. You need to be careful with the image chosen. The optional parameters help generate images which are reasonable clear particularly if you use a high enough resolution.

This package can also be used as a Python library.

Website: github.com/ndrscalia/asciify-them
Support:
Developer: Andrea Scalia
License: MIT License

asciify is written in Python. Learn Python with our recommended free books and free tutorials.


Complete list of articles in this series:

Linux Candy
ASCIIQuariumEmbrace marine life from the terminal with beautiful ASCII art
ASCII Art ConverterA small utility that converts images into ASCII art
asciifyTurn images into attractive ASCII art
ascii_moonDisplays the moon phase
BobRossQuotesCollection of quotes from Bob Ross
BoxesCommand line ASCII boxes
BuohOnline strips comics reader
cacafireColor ASCII fire
catclockxclock with an enhanced cat mode
cbonsaiGenerate bonsai trees in the terminal
christmasfetchFestive cheer on the desktop
chucknorrisChuck Norris jokes in your terminal
ClairvoyantLike a magic 8-ball inspired fortune teller
cornyjokesCorny jokes for the terminal
CMatrixncurses program that simulates the display from “The Matrix”
ctreeA Christmas tree right on your terminal
cutieasciiDisplays random ASCII art emojis
dogeSimple motd script
eDEX-UISci-fi computer terminal emulator and system monitor
emojSimple tool that to find suitable emojis for pasting to your clipboard
EmoteModern popup emoji picker
EvolvotronInteractive generative art
FantasceneDynamic wallpaper changer
FondoFind beautiful wallpapers from Unsplash
Fractal ArtDesktop wallpaper generator
gtiTypo-based curio inspired by Steam Locomotive
HidamariPython-based app that offers video wallpaper for Linu
HollywoodFill your console with Hollywood melodrama technobabble
lifecyclerAquarium right in your terminal
linuxwaveGenerate music from the entropy of Linux
lolcatRainbows and unicorns
MemeFun tool to create memes
No More SecretsRecreates the data decryption effect from the Sneakers movie
nookPlays Animal Crossing hourly themes on the hour
nyancatTerminal-based Pop Tart Cat Animation
onekoAnimal chasing fun
Picture Of The DayYour daily wallpaper
pipes.shAnimated pipes terminal screensaver
ponysaycowsay reimplemention for ponies
projectMMusic visualizer originally based on Milkdrop
pscircleA different take on the venerable ps command
PyBonsaiGenerates procedural ASCII art trees
pyjokesOne line jokes for programmers
PywalGenerate color schemes on the fly (not actively developed)
RelaxatorRelax to soothing sounds
ricksayRick and Morty quotes of the day
Rusty AquariumMonitoring by visualization
shuffleASCII art with a cool shuffle effect
Steam LocomotiveC program written in 295 lines. It's harmless fun
TernimalAnimated lifeform in the terminal
terminal-parrotParty parrot time
tetrisTile-matching puzzle video game in your terminal
VarietyWallpaper manager with many desktops and wallpaper sources
WallGenGenerate HQ poly wallpapers with a few arguments.
WallpaperDownloaderDownload, change, and manage wallpapers
WallPickerModern GTK4/Libadwaita wallpaper picker
wallustCreate 16 color palettes
walrsFast colorscheme generator
WSelectorBrowse, download, and set wallpapers from Wallhaven.cc
xcowsayDisplays a cow on your desktop with message
XDecorationsAdd some festive cheer to your desktop
XScreenSaverFramework and collection of screensavers
yosayLike cowsay but with less cow
Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments