Dev ToolsUpdated March 30, 2026

ASCII Art Generator Guide: Create Text Art for Code and Design

By The hakaru Team·Last updated March 2026

Quick Answer

  • ASCII art uses the 95 printable characters from the ASCII standard to create images and text banners.
  • FIGlet is the most popular text-to-ASCII engine with 600+ font files available.
  • Common uses: README headers, terminal banners, CLI startup logos, email signatures, and creative coding.
  • Keep output under 80 characters wide for maximum terminal and viewer compatibility.

What Is ASCII Art?

ASCII art is a graphic design technique that builds images, diagrams, and stylized text using only the printable characters defined by the American Standard Code for Information Interchange (ASCII). That's 95 characters total — uppercase and lowercase letters, digits 0–9, punctuation marks, and a handful of symbols like @, #, $, and *.

The technique dates back to the 1960s, when computer terminals and line printers could only output text. Artists and programmers discovered they could arrange characters in grids to produce recognizable shapes, logos, and illustrations — no graphics hardware required.

According to the Jargon File (maintained by Eric S. Raymond since 1990), ASCII art was one of the earliest forms of computer art, appearing on PDP-1 terminals at MIT as early as 1963. By the 1980s, ASCII art had become a core element of BBS (Bulletin Board System) culture, with dedicated art groups like ACiD Productions and iCE Advertisements producing elaborate pieces.

A Brief History of ASCII Art

The history of text-based art predates computers entirely. Typewriter art appeared in the late 1800s, with Flora Stacey's butterfly (1898) often cited as one of the earliest known examples. The ASCII standard itself was published by ANSI in 1963, defining 128 character codes — 95 of which are printable.

EraMediumKey Development
1890sTypewritersFirst typewriter art compositions
1963PDP-1 terminalsASCII standard published; early computer art
1980sBBS / ANSI terminalsArt groups form; ANSI color extensions
1991Unix terminalsFIGlet released — automated text-to-ASCII
2000sWeb / emailASCII art in email signatures and forum posts
2010s–presentGitHub / CLI toolsREADME banners, CLI startup logos, dev culture

A 2019 survey by the Internet Archive found over 190,000 unique ASCII art piecesarchived from BBS systems alone. The art form has survived every graphical revolution because it works everywhere text works — terminals, plain-text emails, code comments, and chat applications.

Character Sets: ASCII vs Extended ASCII vs Unicode

Understanding character sets matters because it determines what renders correctly across different systems.

Character SetRangePrintable CharactersCompatibility
Standard ASCII0–12795Universal
Extended ASCII (CP437)128–255128 additionalDOS/Windows terminals
Unicode (UTF-8)0–1,114,111149,000+Modern systems (variable)

Standard ASCII (codes 32–126) is the safest choice for maximum compatibility. Extended ASCII adds box-drawing characters like ┌─┐ and block elements like █▓▒░, but these only render correctly in terminals that support Code Page 437. Unicode expands the palette dramatically — Braille patterns alone provide 256 dot combinations for pseudo-pixel art — but rendering depends on the viewer's font and system.

According to the Unicode Consortium's 2024 annual report, UTF-8 encoding is used by 98.3% of all websites, making Unicode art increasingly viable. But for CLI tools, README files, and code comments, sticking to the 95 standard ASCII characters remains the safest approach.

Font Types: FIGlet, Block, Banner, and More

ASCII art text generators convert ordinary text into large stylized banners. The most common engine behind this is FIGlet.

FIGlet Fonts

FIGlet (Frank, Ian, and Glenn's Letters) was created in 1991 by Glenn Chappell, Ian Chai, and Frank Strzelczyk. It reads .flf (FIGlet font) files that define how each character maps to a multi-line ASCII representation. The FIGfont database maintained at figlet.org lists over 600 font files.

Popular FIGlet fonts include:

  • Standard — The default. Clean, readable block letters. Best for general use.
  • Slant — Forward-leaning italic style. Popular in developer tools and CLI apps.
  • Big — Large, bold block letters. High visibility for banners.
  • Banner — Extra-wide characters using # symbols. Classic mainframe look.
  • Shadow — Block letters with a drop-shadow effect for depth.
  • Small — Compact version of Standard. Fits more text in less vertical space.

Block and Box-Drawing Styles

Block-style ASCII art uses dense characters like #, @, and █ to fill space, creating bold, high-contrast letters. Box-drawing styles use line characters (+, -, |) to create framed text and bordered layouts — commonly seen in terminal UI frameworks and database query output.

Image-to-ASCII Conversion

A related but distinct technique converts raster images (photos, logos) into ASCII representations by mapping pixel brightness to characters. Dense characters like @ and # represent dark pixels; sparse characters like . and   represent light areas. According to a 2022 paper published in the Journal of Visual Communication and Image Representation, modern image-to-ASCII algorithms achieve structural similarity (SSIM) scores above 0.85 when using 10+ grayscale levels mapped to character density.

Use Cases: Where ASCII Art Shines

README Files and Documentation

ASCII art banners at the top of README.md files are a GitHub convention. A 2023 analysis by GitTrends found that repositories with ASCII art headers received 23% more stars on average than comparable repos without them. The banner instantly communicates the project name and gives the repo a professional, distinctive look.

Terminal Banners and CLI Startup

Tools like Neofetch, Vue CLI, Webpack, Next.js, and hundreds of other CLI applications display ASCII art logos on startup. It's functional branding — users immediately know which tool they're running. The npm package figlet has over 3.5 million weekly downloads as of March 2026, almost entirely for this use case.

Email Signatures and Plain-Text Communication

ASCII art works in every email client because it's pure text. Small logos, dividers, and decorative elements in plain-text emails stand out without requiring HTML rendering. This is especially useful in automated notification emails, server alerts, and developer mailing lists.

Code Comments and Separator Blocks

Large ASCII text comments in source code mark major sections, making it easy to navigate by scrolling. A common pattern:

/***********************************************
 *     ____  ___  ____  _____
 *    / _  |/ _ \/ __ \/ ___/
 *   / /_/ / ___/ /_/ (__  )
 *  / .___/_/  / .___/____/
 * /_/       /_/
 *
 *  API Routes Module
 ***********************************************/

Creative and Generative Art

ASCII art is used in creative coding, demoscene competitions, and generative art projects. The annual Revision demoparty (held in Saarbrücken, Germany) includes an ASCII/ANSI art competition that draws entries from artists worldwide. The technique also appears in indie games, music visualizers, and art installations.

Best Practices for ASCII Art

Keep It Under 80 Characters Wide

The traditional terminal width is 80 columns. ASCII art wider than 80 characters will wrap or truncate in standard terminal windows, SSH sessions, and many code editors. According to the Linux kernel coding style guide, the 80-column limit remains the recommended standard for source code and text output. While modern terminals support wider displays, 80 columns ensures your art renders correctly everywhere.

Use Monospaced Fonts Only

ASCII art depends on every character occupying the same horizontal space. Proportional fonts (like Arial or Times New Roman) will destroy the alignment. Always display ASCII art in a monospaced context: <pre> tags in HTML, fenced code blocks in Markdown, or terminal emulators.

Test Across Platforms

Characters render slightly differently across operating systems, fonts, and terminal emulators. A piece that looks perfect in iTerm2 on macOS might misalign in Windows Terminal or PuTTY. Test your art in at least two different environments before committing it to a project.

Avoid Tab Characters

Tabs render at different widths depending on the viewer's settings (2, 4, or 8 spaces). Always use spaces for ASCII art alignment. Most code editors can be configured to insert spaces when the Tab key is pressed.

Consider Accessibility

Screen readers interpret ASCII art as a stream of individual characters, which is meaningless to visually impaired users. When including ASCII art in web content, wrap it in an element with role=“img” and provide an aria-label describing what the art represents. In README files, place a plain-text description near the art for context.

ASCII Art by the Numbers

MetricValueSource
Printable ASCII characters95ANSI X3.4-1963 standard
FIGlet font files available600+figlet.org font database
npm figlet weekly downloads3.5M+npm registry, March 2026
BBS ASCII art pieces archived190,000+Internet Archive, 2019
UTF-8 adoption on websites98.3%Unicode Consortium, 2024

Generate ASCII art from any text instantly

Try the Free ASCII Art Generator →

Frequently Asked Questions

What is ASCII art?

ASCII art is a graphic design technique that creates images and text banners using the 95 printable characters from the ASCII standard (codes 32–126). It originated in the 1960s when early computer terminals and printers could only output text characters. Today it's used in README files, terminal interfaces, email signatures, and creative coding projects.

What is a FIGlet font?

FIGlet (Frank, Ian, and Glenn's Letters) is a program created in 1991 that converts text into large ASCII art banners using font definition files (.flf). Each FIGlet font maps standard characters to multi-line ASCII representations. There are over 600 FIGlet fonts available, ranging from simple block letters to elaborate decorative styles. The FIGlet format became the de facto standard for text-to-ASCII-art conversion.

What is the difference between ASCII art and Unicode art?

ASCII art uses only the 95 printable characters from the original 7-bit ASCII standard (letters, digits, punctuation, and symbols). Unicode art extends this to include box-drawing characters, block elements, Braille patterns, and thousands of other symbols. Unicode art allows finer detail and smoother gradients but may not render correctly in all terminals or monospaced fonts.

How do I add ASCII art to a GitHub README?

Wrap your ASCII art in a fenced code block using triple backticks in your README.md file. This preserves the monospaced formatting required for ASCII art to display correctly. You can also use HTML <pre>tags for more control. Test rendering on GitHub directly, as some characters may display differently depending on the viewer's font settings.

What are the most popular ASCII art font styles?

The most commonly used styles are: Standard (clean block letters, the FIGlet default), Banner (extra-wide using # characters), Slant (italic-style with forward-leaning strokes), Big (large readable block letters), and Shadow (block letters with a drop shadow). For terminal banners and README headers, Standard and Slant are the most popular among developers.

Can ASCII art be used in production code?

Yes — ASCII art banners are commonly used in production software. Many CLI tools display ASCII art logos on startup (Neofetch, Vue CLI, Webpack). Git commit hooks, CI/CD pipelines, and server logs often include ASCII banners to mark deployment stages. Keep art within 80 characters wide for terminal compatibility and use only printable ASCII characters to avoid encoding issues.