How to use the ASCII art generator
- Choose an image.
- Set Width in characters from 20 to 240. The default is 100.
- Pick Characters: Standard (@%#*+=-:. ), Detailed (70 levels), Blocks (█▓▒░) or Two-level (#).
- Tick Invert (for light text on a dark background) if needed.
- Press Convert to ASCII. Copy the text, or download it as
ascii-art.txt.
What it does and when to use it
ASCII art draws a picture with keyboard characters. People use it for README files and code comments, terminal start-up banners, plain-text emails and chat messages, forum signatures, or simply for fun. Because the result is text, it can go anywhere text can, with no image file.
The character sets give different looks. Standard is clean and readable. Detailed has 70 steps of density for smoother shading at larger widths. Blocks uses shaded block characters for a bold, pixel-like look. Two-level uses only # and spaces, like a stencil.
For text written as large letters, rather than a picture, see Text to ASCII. To prepare the picture, raise its contrast or remove the background with the background remover. For a pixel-block look that stays an image, try Image Pixelate.
How it works
- The picture is decoded on your device (pictures over 1,200 px are scaled down first). Transparent areas are placed on white.
- It is resized to the chosen width in characters. The number of lines is height ÷ width × characters × 0.5, rounded, because a character cell is about twice as tall as it is wide.
- For each cell the brightness (luma) is worked out from 0 to 1 and turned into a position in the character list: position = floor(luma × number of characters). Dark cells pick characters from the dense start of the list, light cells from the sparse end.
- Trailing spaces are removed from each line.
Nothing is uploaded; the text is made in your browser.
Worked examples
These figures follow the steps above.
- A 1200 × 800 photo at the default 100 characters. 800 ÷ 1200 × 100 × 0.5 gives 33 lines of up to 100 characters.
- The same photo at 60 characters. 20 lines, small enough for a chat message.
- Which character for which tone, Standard set. Black (luma 0) gives
@. Middle grey (luma 128 of 255, about 0.5) gives position 5, which is=. Pure white gives a space. With Invert ticked, black gives a space and white gives@.
Limits and tips
- Colour is not kept; only brightness matters.
- Some apps change runs of spaces or use proportional fonts. Paste into a code block to keep the shape.
- Very wide art wraps on small screens. Choose a width that fits the place you will paste it.
Frequently asked questions
Why does my ASCII art look stretched or squashed?
Which width should I choose?
When should I tick Invert?
Which pictures work best?
How do we know nothing is uploaded? Test it yourself on the privacy proof page.