Convert an image to ASCII art

Upload an image, choose a width in characters, and get an ASCII art text ready to paste into a README, a terminal, or a code comment.

Example:
20 MB max.

How it works

Want to decorate a project's README file, a commit message, or a terminal banner with a logo or photo turned into text? Upload your image, choose the desired number of characters wide (the higher it is, the more detailed but larger the result), then run the conversion. Each pixel is analyzed in grayscale and replaced by a more or less dense character (space, dot, dash, up to @) depending on its brightness, which recreates the image in pure text.

Why doesn't the height match the chosen width?

A terminal character is roughly twice as tall as it is wide. If the original image's ratio were naively kept, the result would look vertically stretched. The tool automatically compensates by reducing the number of generated lines, so the result keeps the correct proportions once displayed in a monospace font.

What width should I choose?

For a GitHub README or a typical terminal, a width between 80 and 120 characters gives a good level of detail without being too wide for display. For a coarser, more stylized (retro) look, try a smaller width, around 40 to 60 characters.

100% local processing in your browser (WebAssembly) — your image is never sent to a server.