ASCII Art
Pictures from punctuation
ASCII art creates images using text characters, from simple emoticons to elaborate scenes that adorned BBS systems, demos, and NFO files.
Overview
Before graphics cards rendered pixels, artists rendered pictures from punctuation. ASCII art uses the printable ASCII character set (codes 32-126, ~95 characters) to create images viewable on any text terminal. The technique flourished on BBSes where graphics weren't possible, in crack intros, in NFO files distributed with warez and software releases, in email signatures, and in the demoscene as a deliberate aesthetic.
Fast facts
- Medium: standard text characters (ASCII printable range or extended sets like CP437, PETSCII, ATASCII).
- Origins: typewriter art and teletype art predate ASCII; the first widely-known ASCII art is from the early 1970s on terminals.
- Peak era: BBS culture, 1980s-1990s.
- Tools: plain text editors, dedicated tools (TheDraw, ACiD Draw, PabloDraw), modern apps (jp2a, Aseprite ASCII export).
- Modern legacy: kaomoji, Steam profile art, terminal banners, retro-aesthetic recreations.
Character sets used
ASCII art is the umbrella term but several distinct character sets cover the territory:
| Set | Characters | Used by |
|---|---|---|
| ASCII | 95 printable (32-126) | Universal text terminals |
| CP437 (IBM-PC OEM) | 256 chars including box-drawing, blocks, faces | DOS BBS art (Renegade, ANSI BBS systems) |
| PETSCII | 256 chars including custom graphics blocks | Commodore BBS art, demoscene C64 |
| ATASCII | 128 chars + inverse video | Atari 8-bit BBS art |
| ANSI / colour CP437 | CP437 + colour escape codes | The dominant BBS art form 1985-1995 |
| Block-drawing ASCII | █▀▄▌▐░▒▓ and friends | Modern terminal art |
For the C64 + PETSCII tradition specifically, see PETSCII.
Techniques
Character density mapping
To render a photograph as ASCII, map pixel brightness to character "darkness":
Brightness scale (light → dark):
" .,:;ox%#@"
Lighter characters (.) for highlights; denser characters (@, #, %) for shadows. The mapping is artist-specific — every ASCII artist has their preferred darkness scale.
Proportional vs monospace
ASCII art assumes monospace fonts. A character is typically ~2× taller than wide; artists compensate by making images twice as tall as they would be in pixels. Modern proportional-font browsers break this — the Reddit user-flair ASCII art breaks visibly when the page font isn't monospaced.
Line art
Pure outline drawings using /, \, |, -, _:
_____
/ \
| o o |
\ = /
|___|
Cheap to produce, readable, friendly to all character sets.
Block art
Using box-drawing characters (█▀▄▌▐) for solid pixels and gradient blocks (░▒▓) for shading:
████████
██░░░░██
█▒▒██▒▒█
██▓▓▓▓██
Higher density than text characters but limited to character-cell granularity.
Shading and gradients
Combine character-density mapping with hand-tuned dithering. The True ASCII Tools family (jp2a, hasciicam) automate the process.
Cultural contexts
BBS culture (1985-1995)
The peak era. ASCII / ANSI art adorned:
- BBS logon screens — ornate welcome banners
- Group affiliation art — every cracking and demo group had its logo in ASCII
- Message bases — message-thread separators, signature blocks
- NFO files — readme files distributed with warez had elaborate group ASCII headers
Notable BBS art groups: ACiD (ANSI Creators in Demand), iCE Advertisements, Tribe Apocalypse, Aphelion Productions, Mistigris.
Crack intros and NFO files
NFO files distributed with software cracks had a standard structure: ASCII group logo at top, release info in the middle, ASCII border at bottom. Style varied by group — ACiD's polished colour ANSI vs raw monochrome ASCII vs custom-charset block art.
The .nfo file extension persists today on warez and torrent releases, with preserved decades-old ASCII conventions.
Demoscene
The demoscene includes ASCII / ANSI competitions at major parties (Assembly, Revision). Productions push the medium hard — animated ASCII demos, palette-cycled ANSI, real-time terminal-rendered effects.
Modern uses
- Steam profile art — players use ASCII / Unicode block art to decorate their profiles.
- Terminal banners —
figlet,toilet, custom shell startup art. - Code comments — flow diagrams in ASCII embedded in source comments.
- Twitter / Mastodon — kaomoji, copypasta art.
- Retro-themed software — modern indie games sometimes use ASCII art logos as a stylistic choice (Stone Story RPG, Cogmind).
Tools
| Tool | Era | Use |
|---|---|---|
| TheDraw | 1986+, DOS | The dominant 1980s ANSI/ASCII editor |
| ACiD Draw / ADraw | Early 90s | ACiD group's editor |
| PabloDraw | 90s+ | Cross-platform ANSI/ASCII editor; still maintained |
| MysticDraw | Modern | Modern ANSI editor |
| figlet | 1991 | Generates banner text from font definitions |
| toilet | Modern | figlet successor with colour |
| jp2a | Modern | Convert JPEG photos to ASCII |
| caca-utils | Modern | colour ASCII video and image conversion |
| Aseprite | Modern | Pixel art tool with ASCII export |
Famous ASCII artists / groups
- Joan Stark ("Spunk") — prolific 1990s ASCII artist
- ACiD Productions — peaked late 80s / early 90s
- iCE Advertisements — competed with ACiD; both groups produced canonical 1990s art
- Frank Ekman — known for typewriter-style ASCII portraits
- Allan Aguinaldo — modern terminal art