🖨️ Image to ASCII Art Converter

Upload an image to convert it into text-based ASCII art, sampled by brightness. Best results come from high-contrast images.

One character per sampled block

Your file is decoded and measured on a canvas in this page - it is never uploaded. The image is shrunk to a grid the size of the output in characters, each cell's brightness is read, and a character is picked from a ten-step ramp running @ % # * + = - : . and space:

brightness = (0.299R + 0.587G + 0.114B) / 255
index      = floor((1 - brightness) × 10)
rows       = round(height / width × columns × 0.55)

The 0.55 exists because a monospace cell is roughly twice as tall as it is wide; without it everything comes out stretched. A 1600×900 photo at 80 columns becomes 25 rows - 2,000 characters in all.

Getting a readable result

Copy Text puts the art on your clipboard; there is no image download. Paste it somewhere that uses a monospace font - a code block, a terminal, a fixed-width email - or the columns will not align.

Frequently asked questions

How do I turn a photo into ASCII art?

Choose an image and the art appears straight away at 80 columns. Nudge the width up or down and it redraws as you type, then press Copy Text to take the characters away with you.

Why does the art look inverted when I paste it?

Because the ramp assumes light-on-dark. The lightest parts of your picture become the heaviest characters, which only reads correctly against a dark background. Invert the image first if you need dark-on-white output.

Which pictures make good ASCII art?

Faces in strong side light, logos, silhouettes and anything with a clear outline. Landscapes and busy crowd shots turn to mush, because ten brightness levels cannot hold that much detail.