π€ Image to ASCII Art
Convert photos into text art with adjustable detail and contrast.
How to Convert an Image to ASCII Art
Upload a photo, set the character width, pick a character set, and generate. The tool maps brightness to characters and renders the art in a scrollable panel. Copy it to your clipboard or download it as a text file for signatures, code comments, and READMEs.
Upload an image with clear contrast: portraits and bold subjects work best.
Set the width in characters. 100 is a good starting point for most uses.
Choose Detailed for smooth photos, Simple for a retro look, or Blocks for mosaics.
Adjust contrast to taste, toggle invert for dark backgrounds, then copy or download.
The History and Craft of ASCII Art
ASCII art dates to the era of line printers and teletypes, when text was the only output available. Artists learned to see images as fields of density, and communities like alt.ascii-art traded portraits, landscapes, and elaborate scenes made purely of keyboard characters. The technique survives because plain text goes everywhere: email signatures, source code banners, terminal splash screens, chat apps, and anywhere images are blocked or impractical. Good source images share traits: strong light-dark separation, a clear subject, and minimal fine texture that would turn to noise. High-contrast black and white photos convert beautifully, while busy, low-contrast scenes produce mush. The contrast slider here mimics what darkroom printers do: it stretches the tonal range so mid-tones separate into distinct character bands. Remember to view the result in a monospace font at a small size; proportional fonts destroy the alignment that makes the image readable.
Tips for Great Results
Start with the detailed character set and 100 characters wide, then iterate. If faces look blobby, raise contrast slightly or pick a simpler image. If the art looks washed out, your source may be overexposed: the contrast slider compensates, but only to a point. For terminal or code use, the simple ramp at 80 wide fits classic terminal dimensions and renders fast. For a striking poster effect, generate at 200 wide with blocks and print it large: viewed from across the room, the image snaps into focus. Because everything runs locally, you can experiment freely with zero cost or waiting.
Frequently Asked Questions
How does image to ASCII conversion work?
The tool shrinks your image to a grid matching your chosen character width, measures the brightness of each cell, and replaces it with a character whose visual density matches: dark areas get dense characters like @ and #, light areas get sparse ones like dots and spaces. The result reads as your image when viewed at a distance.
What width should I choose?
Width is measured in characters. Around 80 to 120 characters suits most screens and chat apps without horizontal scrolling. Larger widths like 200 capture more detail but need a small font or wide display to view properly. The height follows automatically, adjusted for the fact that text characters are taller than they are wide.
Which character set looks best?
The detailed ramp ($@B%8&WM#*oahkbdpqwmZO0QLCJUYXzcvunxrjft/\|()1{}[]?-_+~<>i!lI;:,"^`.) gives smooth tonal gradation for photos. The simple ramp (@%#*+=-:.) is bolder and more retro. Blocks (ββββ) produce a mosaic look. Try each: the best choice depends on your image contrast. Detailed suits portraits, simple suits bold graphics, blocks suit abstract mosaics.
Why does my ASCII art look stretched?
Text characters are roughly twice as tall as they are wide, so a naive conversion looks vertically stretched. This tool compensates by sampling fewer rows than columns (a 0.5 height correction), keeping proportions natural. If it still looks off, your viewer may use a non-monospace font: switch to a monospace font like Courier or Consolas.
Can I invert the art for dark mode?
Yes, the invert toggle swaps the brightness mapping so dark image areas become light characters and vice versa. Inverted art looks striking on dark backgrounds and in terminals with light text on dark backgrounds. Toggle it anytime and regenerate instantly.
Is my image uploaded anywhere?
No. Pixel analysis and character mapping run entirely in your browser. Nothing is sent to a server, and the tool works offline once loaded, so your images stay completely private. Feel free to experiment with settings as much as you like: every run is free and instant.