MSRX Tools

Image to ASCII Art

Redraw a picture in text characters.

Everything runs inside your browser. Your files never leave your device.

Drop your files here

.jpg, .jpeg, .png, .webp, .gif, .bmp, .avif · they stay on this device

Ask about Image to ASCII Art

Questions about what this tool does, which option to pick, or what it can and cannot handle.

The question you type here is sent to an AI provider to be answered — your files and whatever you put in the tool above are not, and the assistant cannot see them. Answers are generated and can be wrong. The tool itself is not guessing: it runs deterministic code on your device.

About the Image to ASCII Art

Turning a picture into text characters is a technique older than graphical displays: sample the brightness of each region and substitute a character with roughly that visual density. A dense character such as @ reads as dark, a full stop reads as light, and a grid of them approximates the image.

This does that with a choice of character ramps and control over the output width.

The setting that determines whether the result is recognisable is the character aspect ratio, and it is the one most implementations get wrong. Text characters are roughly twice as tall as they are wide, so sampling the image on a square grid produces output stretched vertically to twice its proper height. Sampling half as many rows as columns corrects it, which is what the aspect control does — and it is why so much ASCII art on the web looks oddly elongated.

Ramp choice changes the character of the result. The classic ten-character ramp is legible at small sizes. The seventy-character detailed ramp gives smoother tonal gradation and needs a larger output to show it. Block characters produce solid shading that reads more like an image and less like text. Binary is a stylistic choice rather than a tonal one.

Source images matter more than settings. High contrast with a clear silhouette works; a busy photograph becomes noise, because ten levels of brightness cannot represent what the eye reads as texture. Portraits, logos and objects against plain backgrounds are what to reach for.

The output is built for a monospace font. In anything proportional the columns do not align and the picture collapses.

How to use it

  1. 1Drop in an image with good contrast and a clear subject.
  2. 2Set the output width in characters — 80 to 120 suits most screens and terminals.
  3. 3Leave the character shape control near 0.5, which compensates for text being taller than it is wide.
  4. 4Invert if the result will be displayed as light text on a dark background.

Questions

Why does my ASCII art look stretched?
Because the image was sampled on a square grid while text characters are about twice as tall as they are wide. The character shape control corrects for it, and 0.5 is the usual value.
Which character ramp should I use?
The classic ramp for small output, the detailed seventy-character one when the output is large enough to show the extra tones, and block characters when you want solid shading rather than something that reads as text.
Why is my photograph unrecognisable?
Because a busy image has more texture than ten brightness levels can represent. High-contrast subjects with a clear outline work; complex scenes become noise at any width.
Why does it look wrong when I paste it somewhere?
The destination is using a proportional font. Every character must occupy the same width for the columns to line up — use a monospace font, or a code block if the destination supports one.