How image to ASCII conversion works
ASCII art recreates a picture with characters: dense ones such as @ and # for dark areas and sparse ones such as . and spaces for light areas. This image to ASCII converter samples your image into a grid, measures the average brightness of each cell and picks the character whose "ink density" matches it. Because text characters are roughly twice as tall as they are wide, the number of rows is adjusted so the result is not stretched.
Example
.:-==+***##%%@@%%##***+==-:.
:=+*#%@@@@@@@@@@@@@@@@@@@@@@%#*+=:
-*%@@@@@@@@%*=-::....::-=*%@@@@@@@@%*-
+%@@@@@@@*=:. .:=*@@@@@@@%+A few lines of a circle rendered with the standard character set.
Character sets
| Set | Characters (light → dark) | Look |
|---|---|---|
| Standard | .:-=+*#%@ | Classic, balanced |
| Detailed | 70 characters from and . to $ | Finer shading for photos |
| Blocks | ░▒▓█ | Smooth, pixel-like |
| Simple | .oO@ | Bold, readable at small sizes |
| Binary | # | Stark black-and-white silhouettes |
| Custom | any two or more characters you type | Your own style |
Tips for great ASCII art
- Use high-contrast images. Logos, silhouettes and portraits with a plain background work best. Busy scenes turn into noise.
- Pick the right width. 60–100 characters suits chat messages and code comments; 150–300 captures more detail for posters or terminal banners.
- Match the background. The default assumes dark text on a light background. Enable invert when the art will be shown as light text on a dark terminal.
- Use a monospaced font. ASCII art only lines up when every character has the same width, such as in terminals, code editors and
<pre>blocks.
Where to use ASCII art
ASCII art is popular in terminal splash screens and command-line tools, README files, source code comments, retro-style websites, game chats and plain-text emails. Because it is just text, it works anywhere characters can be displayed, and it survives copy and paste without any image hosting.
Color mode
With color enabled, the preview wraps each character in a span colored like the corresponding part of the image, producing a mosaic effect. The copied text stays plain; the colors exist only in the HTML preview.
For big text banners made from words rather than pictures, try the small text generator or upside-down text for playful effects. To shrink an image first, use the image resizer.
The image is processed in your browser and never uploaded.
Sharing ASCII art without breaking it
ASCII art depends on every character keeping its place, and many apps quietly change spacing. A few habits keep it intact:
- Wrap it in a code block. In Markdown, GitHub READMEs, Discord and Slack, put the art between lines of three backticks so it is shown in a monospaced font and spaces are preserved.
- Use
<pre>on web pages. Normal HTML collapses runs of spaces into one, which shifts every row. - Mind the width. Classic terminals are 80 columns wide, and chat code blocks often wrap long lines. Choose a width a little under the space available.
- Leading spaces matter. Some editors and chat clients trim spaces at the start of a line, which pushes that row to the left. Paste into a code block rather than a plain message.