What is FIGlet? The ASCII text banner tool developers still use 30 years later
Type figlet Hello into a terminal and you get this:
_ _ _ _
| | | | ___| | | ___
| |_| |/ _ \ | |/ _ \
| _ | __/ | | (_) |
|_| |_|\___|_|_|\___/
That's FIGlet. A command-line program from 1991 that takes plain text and renders it as large ASCII art banners using styled character fonts. It's older than most of the people reading this. And it's still everywhere — in terminals, CI/CD logs, GitHub READMEs, server login banners, and anywhere developers want text that demands attention.
Here's what FIGlet is, how it works under the hood, and why it refuses to become obsolete.
The origin story
FIGlet stands for Frank, Ian, and Glenn's Letters. Frank Sheeran, Ian Chai, and Glenn Chappell — three students at the time — wrote the original version in 1991 as a C program. The idea was simple: take each character of an input string, look up a multi-line ASCII art representation from a font file, and stitch them together horizontally.
The project was released as open-source software and quickly became a standard utility on Unix systems. By the mid-1990s, it shipped in most Linux distribution package managers. It still does.
What made FIGlet survive wasn't the core program — rendering text as block characters isn't complicated. It was the font ecosystem. FIGlet introduced a standard font format (.flf files) that anyone could create and share. The community responded by producing hundreds of fonts, from blocky banners to cursive scripts to pixel-art styles. That library of 300+ fonts is what gives FIGlet its staying power.
How FIGlet actually works
A FIGlet font file (.flf) is a plain text file that defines how each printable ASCII character looks when rendered large. Each character is drawn across multiple lines — typically 4 to 10 — using regular ASCII characters like |, /, _, and \.
When you run FIGlet with an input string, it:
- Loads the font file and parses each character definition
- Looks up each input character and retrieves its multi-line representation
- Concatenates characters horizontally, lining up each row
- Applies smushing rules — FIGlet's term for how adjacent characters merge or overlap to reduce whitespace
That last step — smushing — is what separates FIGlet from a naive block-letter renderer. Smushing rules control whether characters squeeze together, overlap at shared boundaries, or maintain full spacing. Different smushing modes produce dramatically different results from the same font.
For example, the word "Hi" in the Standard font with full-width layout looks spacious:
_ _ _
| | | | (_)
| |_| | _
| _ | | |
|_| |_| |_|
With default smushing, the letters tuck together more tightly, sharing vertical bars where they meet. It's a small detail, but it's why FIGlet output looks polished rather than mechanical.
8 use cases that keep FIGlet relevant
FIGlet was built for terminals. But the places where styled text banners are useful have multiplied far beyond what its creators imagined.
1. GitHub README banners
This is probably FIGlet's most visible modern use case. Open-source projects use FIGlet-generated text as the header of their README files — the project name rendered in a distinctive ASCII font. It works because README files are plain text at their core, and ASCII banners render identically in every Git client, terminal, and text editor.
Unlike an SVG or PNG logo, a FIGlet banner doesn't break when viewed over SSH, in a minimal terminal, or in a plain-text email. It's universally compatible because it's just characters.
2. CLI tool startup banners
When you launch a command-line tool and see a styled text banner with the tool's name, that's almost always FIGlet. Spring Boot applications, Minecraft servers, penetration testing frameworks, database CLIs — they all use FIGlet-style banners to make their startup output recognizable at a glance.
It's a small touch that makes CLI tools feel finished. A plain console.log("My Tool v2.1") works fine. A FIGlet banner says someone cared about the experience.
3. Server login messages (MOTD)
System administrators have been putting FIGlet banners in /etc/motd (Message of the Day) files since the 1990s. When you SSH into a server, the first thing you see is a large text banner identifying the machine — the hostname, environment label, or a warning message.
This isn't decorative. In environments with dozens or hundreds of servers, a bold FIGlet banner that says PRODUCTION in block letters is an immediate visual signal that reduces the chance of running a destructive command on the wrong machine.
4. CI/CD pipeline logs
Build logs are walls of text. When a deployment pipeline has multiple stages — build, test, lint, deploy — separating them with FIGlet banners makes the logs scannable. Instead of searching for a specific log line, you can scroll and spot the stage headers instantly.
Teams using Jenkins, GitHub Actions, GitLab CI, and similar platforms inject FIGlet output between pipeline stages. It's a low-effort change that makes debugging failed builds significantly faster.
5. Terminal multiplexer dashboards
Developers who use tmux or screen to manage multiple terminal sessions sometimes use FIGlet to create visual labels. A FIGlet banner at the top of a pane identifies what's running there — API, DB, LOGS — without needing to read the prompt or process list.
6. Code comments and section dividers
Some codebases use FIGlet-generated text as section dividers in large files. A massive ASCII banner that says // ROUTES or // AUTH is impossible to miss when scrolling through thousands of lines. It's not for every codebase, but in legacy systems or monolithic files where navigation is painful, it works.
7. Discord and chat messages
FIGlet output wrapped in a code block renders perfectly in Discord, Slack, and most chat platforms. People use it for dramatic announcements, welcome messages in servers, and bot responses. The monospaced rendering that chat code blocks provide is exactly what FIGlet needs to display correctly.
8. Digital art and creative projects
Beyond practical uses, FIGlet fonts are a creative tool. Artists and designers use them as building blocks for larger ASCII compositions, poster designs, album art, and retro-styled graphics. The variety of available fonts — from elegant scripts to brutalist blocks to decorative borders — makes FIGlet a typography system for the character grid.
Popular fonts worth knowing
With over 300 FIGlet fonts available, the choice can be overwhelming. Here are the ones you'll see most often and what they're good for:
Standard — The default. Clean, readable, and universally recognized. If you've seen a FIGlet banner and didn't know the font name, it was probably Standard.
Slant — Italic-style characters that add energy and forward motion. Popular in CLI tools and README headers.
Big — Wider and more imposing than Standard. Good for server MOTD banners and anything that needs to command attention.
Doom — Heavy, blocky letterforms inspired by the game's aesthetic. A favorite for gaming-adjacent projects and tools with an aggressive personality.
Shadow — Adds a drop shadow effect that gives characters depth. Looks impressive but takes up more horizontal space.
Banner — Extremely large output, often used for single words or short phrases where maximum impact matters.
Small — Compact output that still reads as styled text. Useful when vertical space is limited but you still want the FIGlet look.
Each font has its own personality, and the right choice depends on context. A server warning banner wants the weight of Big or Doom. A README header usually works best with Standard or Slant. A creative project might reach for something more expressive like Graffiti or Isometric.
Using FIGlet today
The original C program is still available in every major package manager:
# macOS
brew install figlet
# Ubuntu / Debian
sudo apt install figlet
# Arch Linux
sudo pacman -S figlet
But most people don't need to install anything. Browser-based generators like our text to ASCII art converter let you type text, pick a font, preview the output instantly, and copy or download it. No terminal required.
The web-based approach has a significant advantage: you can preview all 300+ fonts without installing font files locally, switch between them in real time, and export as text, SVG, or PNG. For one-off banner creation, it's faster than the command line.
For developers who want FIGlet output programmatically, libraries exist for every major language:
- JavaScript/Node.js — the
figletnpm package - Python —
pyfiglet - Go —
github.com/common-nighthawk/go-figure - Ruby —
artiigem - Rust —
figlet-rs
These are useful when you want FIGlet banners generated dynamically — in build scripts, CLI tools, or server startup sequences.
Why FIGlet endures
Most software from 1991 is a historical curiosity. FIGlet is still being installed and used daily. The reason is simple: it solves a problem that never went away.
Terminals are still text-based. README files are still text-based. Chat platforms still support code blocks. CI/CD logs are still plain text. Anywhere that text is the medium, FIGlet makes text louder — and there's no simpler way to do it.
The font ecosystem sealed it. With hundreds of community-created fonts, FIGlet isn't a single tool — it's a platform. Each font is a design decision, and the breadth of choices means FIGlet output can match almost any aesthetic, from corporate to punk.
Thirty-plus years in, FIGlet is one of those Unix tools that did one thing well enough that nothing ever replaced it. Type figlet Hello, hit enter, and you'll see why.
Want to try it right now? Our text to ASCII art generator has all 300+ FIGlet fonts with instant preview, one-click copy, and export to TXT, SVG, or PNG. No installation needed.