ASCII Art Guide: Creating Text-Based Visual Designs

May 28, 2026

ASCII art turns plain text characters into visual designs. Using nothing more than letters, numbers, and symbols on your keyboard, you can create banners, logos, illustrations, and decorative elements that display correctly in any terminal or text editor.

What Is ASCII Art?

ASCII art is a graphic design technique that uses the 95 printable characters from the ASCII standard (American Standard Code for Information Interchange) to compose images. Unlike pixel-based graphics, ASCII art relies on character density and placement to suggest shapes, shading, and texture.

The 95 printable ASCII characters range from space ( ) through tilde (~), including uppercase and lowercase letters, digits, punctuation marks, and symbols. Artists choose characters based on their visual weight — a @ or # reads as dark, while a . or , reads as light.

Origins and Early Uses

ASCII art predates the personal computer. In the 1960s, computer operators at Bell Labs and IBM discovered that line printers could produce images by overstriking characters on the same line. These early experiments evolved into a creative practice that spread through bulletin board systems (BBS) in the 1980s and early internet newsgroups.

Before graphical displays became standard, ASCII art served a practical purpose: it was the only way to add visual interest to text-only interfaces. System administrators crafted welcome banners. BBS operators decorated their login screens. Email signatures became miniature canvases.

Common Use Cases Today

ASCII art remains relevant far beyond nostalgia. Modern developers and designers use it in several practical contexts:

  • Terminal welcome messages — Customize your shell prompt with a branded banner using tools like Neofetch or custom .bashrc scripts
  • README headers — GitHub repositories often feature ASCII logos at the top of their README files for instant brand recognition
  • Code comment decorations — Section dividers and decorative headers make long source files easier to navigate
  • Log output branding — CLI tools print ASCII art when they start, giving the application a distinctive identity
  • IRC and chat — Text-based communities on IRC, Matrix, and similar platforms still share ASCII art as a creative expression

Creating ASCII Text Banners

The most common form of ASCII art is the text banner — a word or phrase rendered in large block characters. Each letter is built from smaller ASCII characters arranged into a grid.

A simple banner might look like this:

  ___  ____  ___  __  __ ___
 / _ \|  _ \|_ _| \ \/ /| __|
| (_) | |_) || |   \  / | _|
 \___/|  __/|___|  /_/\_\|___|
     |_|

You have two options for creating banners: draw them by hand or use a text-to-ASCII generator.

Drawing by Hand

Manual ASCII art gives you full control over style and sizing. Start with graph paper or a text editor set to a monospace font. Sketch the outline of each letter, then fill in the interior characters. This approach works well for short words and custom styles, but becomes tedious for longer text.

Using FIGlet

FIGlet is the standard tool for generating ASCII text banners programmatically. It takes a text string and renders it in a chosen font using ASCII characters. FIGlet has been around since 1991 and remains actively maintained.

Basic usage from the command line:

figlet "Hello World"

Output:

 _   _      _ _        __        __         _     _
| | | | ___| | | ___   \ \      / /__  _ __| | __| |
| |_| |/ _ \ | |/ _ \   \ \ /\ / / _ \| '__| |/ _` |
|  _  |  __/ | | (_) |   \ V  V / (_) | |  | | (_| |
|_| |_|\___|_|_|\___/     \_/\_/ \___/|_|  |_|\__,_|

FIGlet ships with dozens of built-in fonts, and hundreds more are available from the FIGlet font library. You control the output width, justification, and font through simple command-line flags.

Choosing Characters for Shading

When creating detailed ASCII art, character choice determines how "dark" or "light" a region appears. Here is a approximate grayscale ordering from lightest to heaviest:

 . , : ; + * ? % @ #

This sequence is not universal — visual weight varies by font and terminal — but it gives you a starting point for shading gradients in hand-drawn pieces.

ASCII Art in Modern Development Workflows

Several tools integrate ASCII art generation into everyday development:

  • Neofetch — Displays system information alongside a distro logo in ASCII art
  • Lolcat — Pipes ASCII art through rainbow-colored terminal output
  • Toilet — A FIGlet successor that supports color, filters, and Unicode
  • Chafa — Converts images to ASCII art, useful for terminal-based image previews

These tools prove that ASCII art is not a relic. It is a living part of developer culture that continues to evolve with new terminal capabilities and workflows.

Best Practices for ASCII Art

Follow these guidelines to ensure your ASCII art displays correctly across different environments:

  • Always use monospace fonts — Proportional fonts destroy ASCII art alignment
  • Keep width under 80 characters — Many terminals default to 80 columns; wider art will wrap and break
  • Test in multiple terminals — Character rendering varies between Terminal.app, iTerm2, Windows Terminal, and xterm
  • Avoid tab characters — Use spaces only; tab width is inconsistent across editors
  • Consider encoding — Stick to pure ASCII (code points 32–126) for maximum compatibility

Key Takeaways

  • ASCII art uses 95 printable characters to create visual designs in text-only environments
  • Origins trace back to 1960s line printers and 1980s BBS culture
  • Modern uses include terminal banners, README headers, and CLI branding
  • FIGlet is the standard tool for generating ASCII text banners from plain strings
  • Character density determines visual weight — use . for light areas and # for dark
  • Always preview ASCII art in monospace at 80-column width before sharing

Try It Yourself

Generate your own ASCII text banners instantly with our free online ASCII Art tool. Pick a font, type your text, and copy the result straight into your terminal, README, or code comments.

Open the ASCII Art Generator — Free Online Tool