Pictures drawn with a keyboard
Before screens could show images, people drew with the keyboard: a few letters and symbols were enough for a face, a cat or a banner. People still use ASCII art in code comments, README files and chat.
Strict ASCII art uses only the 95 printable ASCII characters: letters, digits, punctuation and the space. Many pieces you see online also use box-drawing lines or block shapes, which belong to Unicode, so the broader name is text art.
Text art depends on alignment. Spaces and line breaks are part of the picture, so it only looks right in a place that keeps them, such as a code block or a monospace field.
Rows, spaces and where banners come from
A picture is built row by row. Each row is a line of characters, and the spaces decide how the rows line up. A proportional font or automatic wrapping can shift the rows and break the picture.
Large banner text is often made with a program called FIGlet, which draws each letter from a stored design. The TextToolbox ASCII Art Generator works differently: it draws your word on a canvas in the browser and turns the filled cells into characters.
A staircase layout, which the Diagonal Text Generator makes, is simpler. It puts one letter on each row and moves it over a little more each time.
If you need strict ASCII output, choose an ASCII fill such as #, @, * or O. Block fills such as the full block U+2588 are Unicode characters.
The ASCII Art Generator draws your text on a canvas using one of four browser fonts and samples the result, so the same word can look different from FIGlet output, which uses stored letter designs.
Complete examples with their spaces
- The table below shows complete example strings, including their spaces and line breaks.
- Box Drawings Light Horizontal (U+2500) and Full Block (U+2588) are Unicode characters, so art made with them is Unicode text art, not strict ASCII.
- A kaomoji or a Lenny face includes characters outside ASCII, so it counts as Unicode text art too.
| Example and settings | Complete output | Classification |
|---|---|---|
| Hand-arranged ASCII border | | ASCII-only: spaces, punctuation and A; LF separates rows. |
| Diagonal: HELLO, Down-right, indent 2, blank padding | | ASCII-only: 5 letters, 20 spaces, 4 LF; 29 UTF-16 units. |
| Line decorator: AB, Horizontal Lines | | Unicode text art: includes Box Drawings Light Horizontal U+2500. |
| Line decorator: AB, Block Shades | | Unicode text art: includes Light Shade U+2591 and Medium Shade U+2592. |
READMEs, banners and chat
- Decoration in plain-text files such as README files, code comments and release notes.
- A large banner for a terminal message or a chat, made with the ASCII Art Generator.
- A short staircase of letters for a caption, made with the Diagonal Text Generator.
- Posting art in a chat app: put it in a code block so the spaces stay in place, and check it on a phone, because narrow screens wrap long lines.