Text to ASCII Art Generator

Turn text into FIGlet ASCII art with 12 fonts. Output matches the figlet command line; set spacing and width, copy as code comments, download TXT or PNG.

  • Runs in your browser
  • Your data never leaves your browser
  • Free · No Sign-Up
Type up to 2,000 characters. Each input line starts a new block of art. Text changes render automatically after a short delay. Characters missing from the font are listed under the output.
Choose from 12 FIGlet fonts. Preview all 12 fonts compares the same text and settings; Use selects a font. Font files load from this site when needed, and the text stays in your browser. Font upload is not available.
Copy and download Copy uses the selected Copy as format. TXT saves plain text with a final newline. PNG draws the art with the preview’s text and background colors; it stays within 16,384 pixels per side and 16,777,216 pixels in total. Choose a width limit or shorten the text if PNG is too large.
More options
Font default follows the font’s spacing rules. Full width (-W), Fitted (-k), Smushed (-S) and Overlapped (-o) change how adjacent letters fit together. Changing spacing updates the result automatically.
No limit keeps each input line on one wide banner. A width limit wraps words into new blocks and splits words that do not fit. The 80-column option follows figlet’s default width, with at most 79 output characters per line.
Copy as changes the copied text: plain text, a Markdown code block, # comments, // comments or a shell heredoc. The preview, TXT and PNG exports use plain text.
Trim removes trailing spaces on each line and blank lines at the top and bottom. It applies to the preview, copied text and both downloads. Turning it off keeps the font’s blank rows and spaces.
FIGlet command
Output
  
Examples, details and FAQ Worked examples, how it compares with other tools, and answers to common questions.

Examples

Deploy in Standard. The first column is the left edge of the D, as in the figlet command:

 ____             _
|  _ \  ___ _ __ | | ___  _   _
| | | |/ _ \ '_ \| |/ _ \| | | |
| |_| |  __/ |_) | | (_) | |_| |
|____/ \___| .__/|_|\___/ \__, |
           |_|            |___/

Hello World in Mini. The font header asks for overlapping, so the letters share columns and the banner is 26 columns wide:

|_| _ || _  \    /_ ._| _|
| |(/_||(_)  \/\/(_)| |(_|

build passed in Small with Width set to 40. The second word does not fit, so it moves to a new block, as figlet -f small -w 40 does:

 _         _ _    _
| |__ _  _(_) |__| |
| '_ \ || | | / _` |
|_.__/\_,_|_|_\__,_|

                          _
 _ __  __ _ ______ ___ __| |
| '_ \/ _` (_-<_-</ -_) _` |
| .__/\__,_/__/__/\___\__,_|
|_|

Same output as the figlet command

The renderer is a port of figlet 2.2.5, the last release of the original program. Its test compares 840 renders against figlet 2.2.5 run with the same font files: every font, every spacing option, line breaks, word wrap at five widths, and characters the fonts lack. All 840 match character for character.

The previous version of this page used figlet.js 1.11, which gives different output for 8 of the 12 fonts on Hello World. Standard, Big, Banner, Block, Script and Small get an extra blank first column. Mini and Shadow are not overlapped, although their font files ask for it: Mini comes out 37 columns wide instead of 26.

The command in the FIGlet command section reproduces the art. Banner, Big, Block, Lean, Mini, Script, Slant, Small and Standard are glyph-for-glyph the same as the fonts in the figlet 2.2.5 package. Doom and 3D-ASCII are not in that package. Shadow here is a 2007 revision with a wider space. For these three, and for Standard text that contains ಠ, the command loads the .flf file from this site, with a download link next to it.

Spacing options

The FIGfont specification lets each font name a default layout and up to six “smushing” rules, such as “two equal characters become one” or “/ and \ become |”.

Optionfiglet flagWhat it does
Font defaultnoneThe layout the font author chose
Full width (-W)-WEach letter keeps its full width, blank columns included
Fitted (-k)-kLetters move together until they touch; nothing overlaps
Smushed (-S)-SOverlaps by one column using the font’s rules, even in fonts whose default is fitted
Overlapped (-o)-oOverlaps by one column regardless of which characters meet

Fonts and widths

Measured with this tool, Trim on:

FontLines for Hello WorldColumns for Hello WorldLetters of ABC…Z per line at width 80
Mini22626
Small44316
Doom65012
Standard55213
Shadow45313
Big65411
Slant55712
Script55812
Banner77410
Block5907
Lean5947
3D-ASCII71177

Standard, Big, Block, Lean, Mini, Script, Shadow, Slant and Small also draw Latin-1 letters such as é, ñ and Å; Standard covers Latin Extended-A (ł, š, ő) too.

Where to paste it

  • README and Markdown: use Copy as → Markdown code block. Outside a code block, Markdown collapses spaces, and two spaces at the end of a line become a hard line break.
  • Source code: use the # or // format. Keep Trim on: editors that follow EditorConfig trim_trailing_whitespace and linters such as pycodestyle (W291) flag or remove spaces at the end of a line.
  • Shell scripts and ~/.bashrc: the heredoc format quotes the delimiter, so the shell does not expand $, ` or \ inside the art (POSIX here-documents).
  • Login banner: the text of /etc/motd is printed after a successful login (motd(5)). Download the .txt file and copy it there.
  • JSON or a JavaScript string: escape every \ and line break first, for example with the String Escape tool.

Compared with other generators

Checked on 2026-10-01 with Hello World and Hi 中文:

  • TAAG runs on figlet.js, which was written for it. Standard gets the extra blank first column, Mini is 37 columns wide, and the CJK characters disappear without a message. It offers far more fonts than this tool and a Save as image button.
  • asciiart.eu gives the figlet result for Standard, but Mini is not overlapped (37 columns). With any CJK character in the text, the output is empty. Its width defaults to 80, so Hello World in Block wraps.
  • This tool matches the figlet command, lists skipped characters by name, and gives you the command to rebuild the art.

For styled letters that stay on one line in a chat or a profile, try the Fancy Text Generator. To check how the art looks in a README, paste the Markdown into Markdown Preview.

Limits

  • 12 fonts. There is no font upload.
  • Latin script only. Characters the font lacks draw nothing and are listed under the output. figlet turns a tab into a space and drops other control characters; these are listed too.
  • 2,000 characters. Longer text shows a message instead of output.
  • One block per line of text. figlet 2.2.5 has no vertical smushing, so lines are stacked as they are.
  • PNG size. The image stays within 16,384 pixels per side and 16,777,216 pixels in total, the canvas limit of iOS Safari. Wider art shows a message; set a width.
  • The art lines up only in a monospaced font.

FAQ

Can I make ASCII art from Chinese, Japanese or Korean text?

No. None of the 12 fonts has CJK ideographs, hiragana or Hangul, and the tool lists every character it skipped under the output. Banner has katakana without voiced marks, Big has Greek and Banner has Cyrillic.

Why is there an empty line under some banners?

Fonts reserve rows for descenders such as g and y. Text without them leaves those rows blank. Keep Trim on to remove blank lines at the top and bottom and the spaces at the end of each line.

Will the art look the same if I run figlet myself?

Yes. The tool is a port of the figlet 2.2.5 renderer and shows the matching command in the FIGlet command section. For Doom, 3D-ASCII and Shadow, and for Standard with the ಠ character, the command uses the font file from this site, because figlet 2.2.5 does not ship those files in the same form. Sites built on figlet.js, such as TAAG, add a blank first column in Standard and five other fonts, so their output can be one column off.

Why does my text turn into one very wide line?

Width is set to No limit by default, so a long text becomes one long banner. Choose 80 columns to get the figlet default: each output line has at most 79 characters, words move to the next block, and a word longer than the line is split between letters.

Is my text sent anywhere?

No. The text is rendered in your browser and is not saved; the tool only downloads the font file you select from this site. The page's analytics record the tool name and the action (generate when you commit a change, copy, download), not the text.