Image to ASCII Art

Convert any image into ASCII text art, colored ANSI art, or Unicode braille dot art.

Drop a picture here or click to choose

You can also paste one from the clipboard or load the sample. It is decoded and converted on a canvas in this tab: your files and inputs never leave your device.

Style
80

No image loaded yet

The preview shrinks the characters to fit the panel, so a wide grid stays on one screen, and the invert option flips the art to suit a light background.

Related tools

What it does

Turns any photo or picture into text art. The ASCII style maps each character cell to one of the built in ramps (a 10 level standard ramp, block shades, a short 4 character ramp, or your own custom ramp) and can color the result with 16 color, 256 color, or 24 bit truecolor ANSI escape codes, or as an HTML block with colored spans. The braille style packs a 2 by 4 grid of dots into a single Unicode braille character, which reproduces roughly 8 times the detail of ASCII in the same number of terminal columns, with an optional Floyd Steinberg dither for smoother gradients.

How to use it

Drop or pick an image, choose ASCII or braille, and set the column count. For ASCII, pick a charset and a color mode, and turn on invert if you are pasting the result onto a light background. For braille, adjust the dot threshold and turn on dithering if flat areas look too blocky. Copy the plain text, copy the raw ANSI escape codes for a terminal, or copy the HTML block, then download whichever version you need.

Why this one

Most ASCII art converters give you one fixed character ramp, no braille mode, and no way to get colored ANSI output for a real terminal, so you end up piecing the result together by hand. This one runs entirely in your browser, so your files and inputs never leave your device, and it covers ASCII, ANSI in three color depths, HTML, and braille in a single tool with no size limit, no watermark, and no account.

FAQ
What is the difference between the ASCII style and the braille style?
ASCII maps each character cell to a single brightness level from a ramp like " .:-=+*#%@", so one character represents one image cell. Braille packs a 2 by 4 grid of dots into a single Unicode character, so it can show roughly 8 times as much detail in the same number of columns, at the cost of losing the smooth gray levels a character ramp gives you. Use ASCII for a classic look with optional color, and braille for high resolution line art or when you need to fit detail into a narrow terminal or chat window.
How do I get colored ANSI art I can paste into a terminal?
Set the style to ASCII and pick ANSI 16 colors, ANSI 256 colors, or truecolor from the color option, then copy the result. The output is plain text containing real ANSI escape codes (\x1b[...m), so pasting it into a terminal, a script, or a tool like cat will show colored characters. Truecolor looks the most accurate but only renders correctly in terminals that support 24 bit color; ANSI 256 is the safest choice for older terminals.
Why does my ASCII art look inverted, with dark areas showing as blank space?
By default, brighter pixels map to denser characters, which reads correctly against a terminal's usual dark background: a bright subject gets more visible ink. If you are pasting the result onto a white page or a light mode website instead, turn on the invert option, which flips the mapping so dark pixels get the denser characters and light backgrounds stay mostly blank space.

Keyboard shortcuts: press ? anywhere on this page to see them.