ASCII Art Generator

Type a word and get a blocky ASCII banner built from a real 5×7 bitmap font — or grab a classic piece of copy-paste art.

ASCII ArtText Banner5×7 FontCopy PasteMonospaceTerminal

Turn text into a banner


The banner is built from a real 5×7 bitmap font — every letter is defined as seven rows of five dots, which is why the proportions stay consistent no matter which character you pick. Up to 18 characters fits on one line; longer input is trimmed rather than wrapped.

Copy-paste ASCII art

Classics that have survived every platform since the bulletin board era. Click any card to copy it.

What ASCII Art Actually Is

ASCII art is a picture made only of characters that exist in a plain text file. No colour, no font choice, no image data — just letters, punctuation and symbols arranged so that the gaps between them read as shapes. The restriction is the whole point: a text file survives being emailed, pasted into a comment, printed on a dot-matrix printer or displayed in a terminal that has no graphics at all.

The practice predates the personal computer. Typists were arranging letters into pictures on typewriters in the 1960s, because a typewriter offers exactly one thing: a fixed-width grid. When terminals arrived they inherited the same grid, and the art form moved with it. Bulletin board systems in the 1980s and 1990s made it a culture — a 2400-baud connection could not carry an image, but it could carry a few kilobytes of text, so signatures, menus and title screens were all drawn in characters.

The name is slightly wrong, and worth knowing. Strict ASCII art uses only the 95 printable characters of the original ASCII set. What most people call ASCII art today also uses the box-drawing and block characters from later Unicode blocks — █ ▓ ▒ ═ ║ ╔ — which did not exist in 1963. That is why the art below can use solid blocks and still be called ASCII: the term stuck even after the character set grew.

How A Banner Generator Works

Every letter on this page is defined as a grid of seven rows and five columns, stored as ones and zeros. That is the entire font — 55 glyphs, each a short string like 01110/10001/10001/11111/10001/10001/10001 for the letter A. When you type a word, the generator does four things:

  1. Uppercases and trims the input to 18 characters, because a longer word would run off the right edge of any normal window.
  2. Looks up each glyph in the table, falling back to a question mark for anything unmapped.
  3. Walks one row at a time, printing your chosen character wherever the bitmap has a one and a space wherever it has a zero.
  4. Adds the letter gap — one, two or zero spaces — between glyphs so the letters do not merge into a smear.

Because the font is a bitmap rather than a real typeface, the output is exactly as tall as it is defined to be. There is no hinting, no kerning and no antialiasing to go wrong, which is why the same input produces identical output in every browser, in a terminal, in a code comment and in a printed manual.

How To Use It

  1. Type your word. One word in capitals reads best; the bitmap font has no lowercase, so everything is converted. Eighteen characters is the ceiling.
  2. Pick the character. # and @ give the classic look. Full block █ gives a solid headline weight; light shade ░ gives a ghosted, more delicate version. The character changes the weight, not the shape.
  3. Set the letter gap. One space is the default. Two spaces helps when you are using a character that is visually narrow, like + or *. Zero gap is only usable with block characters, where adjacent cells touch and form continuous shapes.
  4. Copy it. The copy button puts the raw text on your clipboard with the line breaks intact, ready to paste into a code comment, a README, a Discord message or a text file.

Two practical notes. Paste into something monospace — a proportional font like Arial will destroy the alignment instantly, because each character occupies a different width. And if you are pasting into a platform with a line-height override, expect the vertical gaps between rows to open up; block characters look worst when that happens.

Why The Character Set Changes The Look

The bitmap is fixed, so the only variable left is how much ink each cell carries. That single choice changes whether the result reads as a headline, a texture or a rumour.

One caveat on the block characters: they require a font that actually contains U+2588 through U+2593. Almost every system font does, but a few terminal fonts and some web-safe stacks fall back to a replacement box, which turns your banner into a row of tofu. If that happens, switch to # — the shape is identical.

Where ASCII Art Still Works Today

The obvious question about a 1960s technique is why anyone would use it now. The answer is that there is still a large amount of text-only surface area on the internet, and it all rejects images.

It is also worth saying plainly where it fails: on a phone. A 60-character-wide banner does not fit a 390-pixel screen at a readable size, so it will either shrink to illegibility or force horizontal scrolling. If the audience is mostly mobile, a real image is the better answer and this tool is the wrong one.

Box-Drawing Characters And The ANSI Era

The reason ASCII art looks the way it does today owes less to ASCII than to what came after it. When IBM's PC character set arrived it included a block of box-drawing characters — the single and double lines, the corners and the tees that let a text-mode program draw a window with a border. Combined with the shading blocks, a programmer could make a menu, a frame or a frame around a logo without a single pixel of graphics.

Bulletin board systems pushed this further into a style called ANSI art, which added colour escape codes to the same character grid. A BBS title screen was a 80×25 grid where each cell could carry a colour, so artists built gradients, portraits and logos out of blocks and lines. That tradition is why so much surviving ASCII art uses ╔ ═ ╗ ║ ╚ rather than + - |: the double-line versions read as deliberate design, while the plain versions read as a quick sketch.

Two lessons carry over to modern use. First, frames are cheap — a box drawn with box-drawing characters costs a few bytes and instantly makes plain text look composed. Second, alignment is everything: in a fixed 80-column grid a single character too many on one line breaks the whole drawing, which is why the classic pieces are so carefully measured and why they still break the moment someone pastes them into a proportional font. Nothing about the art has changed since; what changed is that the grid is no longer guaranteed.

The Copy-Paste Library

The pieces below are the survivors — the handful of drawings that have been copied from signature to signature since the dial-up era. They work for the same reason the banners do: they are short, they are symmetric enough to survive minor mangling, and they read as a shape rather than as a sequence of punctuation.

A word of warning about one of them. The shrug and the table flip contain characters outside the original ASCII set, and some older systems render the raised arms or the table as boxes. If you paste one and it comes out mangled, the receiving platform is at fault, not the art — try a different channel rather than editing the drawing.

If you want to make your own rather than copy one, start with a small canvas — five rows by seven columns is plenty for a single object — and draw it on paper first. The two things that make a character drawing succeed are a silhouette that is recognisable at a glance and a set of rows that are all exactly the same length. Symmetry helps enormously, because the reader's eye fills in the gaps; that is why cats, hearts and stars dominate the genre and photorealistic portraits almost never appear in it.

FAQs

How do I copy the ASCII art?

Click Copy ASCII under the banner, or the Copy button on any card in the library. The raw text goes to your clipboard with line breaks intact.

Why does my ASCII art look crooked after pasting?

Because the place you pasted it into is using a proportional font. ASCII art only lines up in a monospace font — Courier, Consolas, Menlo, or a code block on most chat platforms.

How many characters can I put in one banner?

Eighteen. Beyond that the line is trimmed, because a 5-column glyph plus a gap per character gets very wide very fast and stops fitting in any normal window.

Why is there no lowercase?

The classic 5×7 bitmap font only defines capitals, digits and punctuation. Lowercase input is converted to uppercase rather than dropped.

What is the difference between # and the full block character?

Only the fill. The bitmap is identical, so # gives a ragged, stamped look and █ gives a solid geometric one.

Is block-character art really ASCII?

Strictly, no — █ and ▒ come from later Unicode blocks. The name "ASCII art" stuck anyway and is used for any character-drawn picture.

Can I use the art commercially?

The banners you generate, yes. The library pieces are traditional anonymous drawings with no known author, but if you are putting one on merchandise, do your own check first.

Why do some of the library pieces break on Discord?

Wrapping the pasted art in a code block (three backticks) fixes alignment. Without it, Discord's proportional message font scrambles the spacing.

Does this show images as ASCII?

No. It converts text into a banner using a bitmap font. Turning a photo into ASCII is a different process and needs image processing, which this page does not do.

Which character should I pick for a README header?

# if the README renders as plain text, or █ if it renders as Markdown in a proportional font — neither will align, but the block version still reads as a solid shape.

Is anything uploaded when I generate a banner?

No. The whole conversion runs in JavaScript in your browser, and the font table ships with the page.