Why ASCII art falls apart when you paste it
ASCII art only works when every character is exactly as wide as every other, so the columns
line up. Most chat apps show messages in a proportional font, where an i takes
far less room than an M, and the picture slides apart line by line. In Discord
the fix is a code block: three backticks before the art and three after. Inside it, text is
shown in a monospace font and keeps its shape. Copy for Discord adds those
backticks for you.
How big can it be in one Discord message?
A Discord message holds up to 2,000 characters, and everything counts: every character of the art, every line break, and the eight characters of the code block around it. Each row costs its width plus one, so the limit arrives sooner than it looks. We ran three pictures through the tool with the default settings:
| Picture shape | Widest that fits | Characters used | One column wider |
|---|---|---|---|
| Landscape photo, 4:3 | 73 × 27 | 1,999 | 2,100 — too long |
| Widescreen, 16:9 | 83 × 23 | 1,933 | 2,042 — too long |
| Portrait headshot | 58 × 33 | 1,954 | 2,047 — too long |
The tool searches for that widest version automatically when One Discord message is selected, and the counter above the preview shows how much of the limit is used. Spaces at the end of each line are removed, because they cost characters and show nothing. For a README, a text file or a terminal, pick No limit; for anywhere else with a cap, My own limit.
The usual character ramp is slightly out of order
Image-to-ASCII tools map bright and dark areas to characters that fill more or less of their
box. The classic ramp is .:-=+*#%@, from empty to full. We drew each of
those characters in the monospace font this page uses on a Windows 11 PC and counted
the ink. Two pairs came out the other way round: + is a little lighter than
=, and % is lighter than #. With the long 70-character
ramp that circulates online, the order drifts much further.
So this tool does not trust the list. It measures every character in your browser’s monospace font before it draws, and gives each patch of the picture the character whose ink is closest. Different fonts give slightly different orders, which is why the measurement happens on your device and not once on ours.
Why pictures come out stretched, and the shape setting
A monospace character is roughly twice as tall as it is wide. Turn every pixel into a character and a round face becomes a tall oval. The tool therefore uses fewer rows than columns: with the default shape of 0.5, an 80-column version of a 16:9 photo gets about 22 rows. Fonts and line spacing differ, so if the art looks squashed or stretched where you paste it, change Character shape. The preview is drawn with the same shape, so what you see here is what you will get there.
Pictures that turn out well
- One clear subject on a plain background. At 60–80 characters wide there are only a few thousand cells, so busy backgrounds turn into noise.
- Strong light and shade. The tool stretches the contrast automatically, mapping the darkest 2% of the picture to empty and the brightest 2% to full, but it cannot invent contrast a flat photo does not have.
- Crop first with Crop Image so the subject fills the frame.
- Pick where it will be shown. On a dark background dense characters look bright; on a light one they look dark. A transparent PNG is placed on that background colour before it is converted.
Text banners
The From text tab draws big letters with three classic FIGlet fonts: Standard, Small and Slant. Letters are pushed together until they touch, without any stroke landing on another, like the “fitted” setting of other banner generators. A five-letter word in Standard is about 27 characters wide, so even long names fit in a Discord message. Only basic ASCII letters exist in these fonts.
Nothing is uploaded
The picture is read, shrunk and turned into characters inside your browser. It never leaves your device, and there is no account or watermark.
How this was measured. On 30 September 2026, in Chrome 154 on Windows 11, with this tool and its default settings (dark background, classic characters, shape 0.5). The 2,000-character limit is from Discord’s developer documentation for message content. FIGlet fonts by Glenn Chappell, Ian Chai, Paul Burton and John Cowan, BSD licence.