Image to ASCII Art
Convert any image or photo into ASCII art in your browser. 7 character sets, width up to 300 chars, Sobel edge outlines, color preserved, export as text or PNG. No upload.
Character set
Characters per line. Higher = more detail, larger output.
Vertical squash for monospace fonts. ~50% matches most fonts.
Edge detection
Sobel filter — outlines drawn with ─ │ ╲ ╱
Lower = more outlines. Only active when Edge is on.
Colors
How image-to-ASCII conversion works
ASCII art conversion turns each region of an image into a single character whose ink density matches the local brightness. The tool downsamples the image to a grid that's N characters wide, measures the luma (perceived brightness) of each cell, then picks a character from a ramp ordered dark-to-light.
A typical ramp like @%#*+=-:. maps the darkest pixels to @ (lots of ink) and the brightest to a space. Denser ramps with 60+ characters give smoother gradients; minimal ramps look more like a poster print.
Because monospace characters are roughly twice as tall as they are wide, the tool vertically squashes the sample grid by ~50% before mapping — without that correction, every output would look stretched. The Char aspect slider fine-tunes that ratio for your terminal's font.
What makes this generator different
Sobel edge detection mode
Most generators only fill by brightness. Toggle Edge and the tool runs a Sobel filter, then draws outlines with directional Unicode glyphs (─ │ ╲ ╱) — results look like architectural line drawings.
7 character sets + custom
Standard, dense (70-char), Unicode blocks, dots, binary, minimal, classic compact — or paste your own ramp.
Color preserved
Keep the original photo's colors per character — exports the colored output to PNG, ready to share on social.
4 themes for export
Dark, Light, Phosphor green CRT, and Amber terminal — pick one and the PNG render bakes the color.
Up to 300 characters wide
Posters, banners, full-page renders. The text view is selectable and copies as plain monospace text.
100% local
The image never leaves your device — conversion runs pixel-by-pixel inside your browser.
Character set guide
| Set | Looks like | Best for |
|---|---|---|
| Standard | @%#*+=-:. | Default. Readable, classic look. |
| Dense | $@B%8&… | Photographs, smooth gradients, high-detail portraits. |
| Blocks | █▓▒░ | Pixel-art look. High contrast, no individual letters visible. |
| Dots | ⣿⣶⣦⣄⡀ | Braille-style halftone. Great for high resolutions. |
| Binary | 10 | Stylized “Matrix” or computer-vision look. |
| Custom | your set | Type a string, dark-to-light. End with a space for pure-white pixels. |
Tips for great output
- Start with high-contrast images. Portraits with even lighting, simple silhouettes, logos, and line drawings convert beautifully. Busy backgrounds turn into noise.
- Crank Contrast +20 to +40. Most photos benefit from extra contrast before mapping — it pushes mid-tones toward the ramp's extremes and reads more clearly.
- Try Edge mode on architecture. Buildings, machinery and product shots often look better as outlined line art than filled ASCII.
- Width matters for the medium. Twitter / X handles ~80 chars in monospace. Discord code blocks fit ~120. Posters can go to 300.
- Use Invert for dark subjects on light backgrounds. When the subject is darker than the background, inverting flips the brightness mapping so the subject stays solid.
- Need a text banner instead? For figlet-style text art (turn a word into a giant ASCII logo), use the ASCII Art Generator with 40+ fonts.
Where ASCII art shows up
ASCII art predates the web by decades — the earliest examples appeared on teleprinters in the 1960s, where graphics hardware didn't exist and characters were the only visual primitive. The form survived through BBS culture, README files, email signatures, and source-code banners. It still ships today: most CLI tools have an ASCII logo, server MOTDs greet you with one, and modern AI agents like to print them on startup.
Beyond nostalgia, ASCII renders are accessibility-friendly (screen readers can read them as text), version-controllable (a .txt diff is meaningful), and instantly shareable across any platform that handles plain text — chat, email, code comments, README files.
Privacy
All conversion runs locally inside your browser using the Canvas API. The image is never uploaded, no analytics fire on the file, and the .txt / .png exports are generated client-side.