ToolLineup

Image to ASCII Art Converter

Convert an image into ASCII art by mapping the brightness of each area to a character from a density ramp. Choose from five character sets — a classic ten-level ramp, a detailed seventy-level one, Unicode blocks, binary digits or a minimal set — set the output width in characters, and optionally keep the source colours for an HTML version. Every source pixel inside a character cell is averaged rather than sampled, which is what keeps detailed photos legible.

or drop a file here — JPEG, PNG, WebP, GIF or BMP. Nothing is uploaded; the file is read by your browser.
Width in characters

More columns means more detail and a wider block of text. Around 80–120 fits a normal terminal;

Character set

Dark to light: @%#*+=-:.·

Invert if you are pasting light text onto a dark background — the ramp is built for dark characters on white. Coloured output only survives as HTML; the plain-text copy is the characters alone.

Upload an image to turn it into text. High-contrast pictures — logos, portraits, silhouettes — read far better than busy ones.

Frequently asked questions

What kind of images work best as ASCII art?

High-contrast pictures with a clear subject — logos, portraits, silhouettes — read far better than busy scenes, because ASCII art has only as many brightness levels as the character set has characters.

Why is the aspect ratio corrected automatically?

A monospace character is roughly twice as tall as it is wide, so without halving the number of rows the picture would come out stretched to double height. The correction is applied for you.

Can I get coloured ASCII art?

Turning on "keep source colours" renders each character in the average colour of the area it represents, and that version can be copied or downloaded as HTML. The plain-text copy is always the characters alone, since text has no colour.

What does the invert option do?

The character ramps are built for dark characters on a white background. Inverting flips the mapping so the art reads correctly when pasted as light text onto a dark background, such as a terminal.

How wide should the output be?

Around 80 to 120 characters fits a standard terminal window and an average code comment; going wider adds detail but the result will wrap or need a smaller font wherever you paste it.

Related tools