Photos to ASCII
Move a slider and the result updates right away. Your image never leaves the browser.
Loading and converting the image…
How does the image to ASCII converter work?
The converter divides a photo into a grid of N columns and M rows, measures the average brightness of each cell, and picks one character to match it. Bright cells get dense characters such as @ or #, and dark cells get dots or spaces, so the original picture appears when you look from a distance. Because characters are taller than they are wide, the converter uses half as many rows to keep the proportions right.
A wider output keeps more detail, but long lines may wrap when you paste them into a messenger. For chat apps such as Discord, 40 to 60 columns works well. For a README or a code comment, aim for about 80. Raising the contrast sharpens outlines, and the block character set (░▒▓█) stays readable at small sizes. Turn on color mode to save a PNG that keeps the original colors. Everything runs in your browser, and the image is not sent to a server.
Frequently asked questions
Which images convert well?
Photos with a simple background and strong contrast between light and dark work best. For portraits, try raising the contrast above 30.
Where is my uploaded image stored?
Images are not stored on a conversion server. Continuing from the home tool temporarily stores the image in this browser; the detailed tool deletes the entry when it reads it. See the privacy policy for retention details.
Does copying keep the colors?
Copying as text keeps only the characters. To keep the colors, save the result as a PNG.
How wide should the output be?
Use 40 to 60 columns for messengers, and about 80 for a GitHub README or a code comment.