Skip to main content

How a FIGlet ASCII Banner Turns a Word Into Big Block Letters

A practical look at FIGlet ASCII banners: how a figlet font maps each letter to multi-line block art, where banners earn their keep, and how to pick a font.

Published By Li Lei
#ascii #figlet #cli #developer-tools #terminal

How a FIGlet ASCII Banner Turns a Word Into Big Block Letters

The first time I opened a server log and saw the word READY rendered three rows tall in hash characters, I stopped scrolling. That is the whole point of a FIGlet banner: a short label printed large enough that your eye catches it without reading. The technique is decades old, it predates emoji and color terminals, and it still works because it relies on nothing fancier than plain monospace text.

This post walks through what a FIGlet banner actually is, how a figlet font draws each letter, where these banners are worth using, and how to pick a font that fits the space you have.

What FIGlet Actually Does

FIGlet is a small command-line program from the early 1990s. You hand it a word and it prints that word as large letters built out of smaller characters. Type figlet HELLO and you get HELLO drawn as a banner several rows tall, every letter assembled from slashes, underscores, pipes, and parentheses.

The output is not an image and not a special font in the typographic sense. It is plain text. Each banner is a rectangle of ordinary keyboard characters, and when you view it in a monospaced context it reads as one big word. That portability is why the format outlived the era it was born in. A banner copies into a README, a shell script, an email, or a chat message, and it survives every copy-paste because there is nothing to survive except characters.

The Toolora Figlet ASCII Banner Generator does the same job in a browser tab. You type a short word, choose a font, and it returns the stacked letters ready to copy, with no figlet binary to install and no font files fetched over the network.

How a Figlet Font Maps a Letter to Block Art

Here is the concrete idea that makes the whole thing click: a FIGlet font draws each letter as a fixed block of ASCII characters several rows tall, and the chosen font sets the style. The output is always plain monospace text.

Think of the font as a lookup table. For every supported character the font stores a small grid, the same height for every glyph in that font, and a width that can vary letter by letter. When the generator builds a banner, it does not draw anything new. It looks up the grid for each character in your word and lays them side by side, row by row. Row one of the H sits next to row one of the E, which sits next to row one of the L, and so on across the whole word. Then it stacks the next row underneath, until every row of every letter has been printed.

Because every glyph in a given font shares the same height, the rows always line up into a clean rectangle. The width can differ, which is why an I is narrower than a W, just as it is in real type. When a character is unknown, a good generator substitutes a blank column the width of a space so the rectangle stays intact instead of jagging out.

The Toolora generator ships three fonts. The block font is a solid five-row face built from the full block character, so it reads almost like filled-in print. The banner font is a six-row classic that uses hash characters, close to what most people picture when they think of figlet. The small font is a tight three-row face for narrow terminals. All three cover A to Z, the digits 0 to 9, the space, and seven punctuation marks. Lowercase input is folded to uppercase automatically.

A Worked Example

Take the word OK in the small font. The generator looks up the three-row grid for O, then the three-row grid for K, and places them next to each other. The result is two letters standing side by side, each three rows tall, separated by a one-column gap. The top row shows the curved top of the O and the upper diagonal of the K. The middle row shows the open sides of the O and the joint of the K where its arms meet the stem. The bottom row closes the O and finishes the lower diagonal of the K.

Read any single row on its own and it looks like noise: a few slashes, a pipe, an underscore. Read the three rows together and your eye assembles OK instantly. That is the entire trick. The letters live in the vertical stacking, not in any one line. Widen the letter-gap slider and the two glyphs drift apart with more air between them; the shapes do not change, only the spacing does.

Where ASCII Banners Earn Their Keep

A FIGlet banner is decoration, but it is decoration that does real navigational work. The places it pays off:

  • README headers. A project name in big ASCII letters at the very top of a README makes the file feel finished and helps it stand out in a long directory listing. Paste it inside a fenced code block so the columns stay aligned on every repo host.
  • CLI startup splashes. Plenty of command-line tools echo a banner on boot so the user knows the process started and which version is running. A splash that reads READY is recognizable at a glance.
  • Build and deploy logs. When a CI job dumps thousands of lines, a banner that says BUILD or DEPLOY between phases turns a wall of text into something you can jump through by eye.
  • MOTD and login messages. A shell login banner or a message of the day greets anyone who connects to a box, and a big ASCII title sets the tone before a single command runs.
  • Signatures and section cards. A short banner of your handle works as a memorable signature in monospaced forums and mailing lists, and a label like CONFIG inside a code comment helps readers find the major regions of a long module.

The common thread is that all of these contexts are already monospaced, so the banner lands correctly without any extra effort.

My Own Take on Picking a Font

When I add a banner to a project, I start by asking how much vertical room I am willing to spend. A README can afford the six-row banner font because nobody scrolls past the title in a hurry, and the extra height reads as confidence. A CLI splash is different: it prints every single launch, and six rows of hash characters in front of every run starts to feel like noise after the tenth time, so I reach for the small three-row face there. The block font is my pick when I want the word to feel solid and almost printed rather than sketched, which suits a deploy log divider that needs to shout. I keep words short on purpose. A banner is several columns wide per letter, and a ten-letter word in the block font can blow past sixty columns and wrap, which defeats the whole point. If a phrase is long, I split it into two banners stacked vertically.

A second consideration is the character set. The fonts cover A to Z, 0 to 9, the space, and a handful of punctuation marks. An at sign, an ampersand, or an accented letter falls outside that set and renders as blank space, so a banner is best for plain words and short labels rather than anything with symbols.

If you want freeform shapes instead of stacked letters, the ASCII Art Generator is the companion tool for that job; FIGlet banners are specifically about turning words into big readable type.

Wrapping Up

A FIGlet banner is one of the most durable formats in computing precisely because it asks for so little. A font is a table of fixed-height character grids, the generator stacks those grids row by row, and the result is plain text that aligns wherever a monospaced font is in play. Keep the word short, pick a font that fits the height budget, paste it into a code block or a terminal, and the banner will read clearly for as long as ASCII exists.


Made by Toolora · Updated 2026-06-13