UtilityEntertainmentDeveloper

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

SetLooks likeBest 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.
Binary10Stylized “Matrix” or computer-vision look.
Customyour setType 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.