Image to ASCII Art
Convert any image to ASCII art — choose width and character set.
Drop an image or click to browse
PNG, JPG, WebP — processed in your browser
Width (columns): 80Height (rows): 0Characters: 0
Convert photos to ASCII art — free, no upload
ASCII art maps pixel brightness to characters — dark pixels become dense characters like @ and #, bright pixels become light ones like . or space. Wider column settings (120–200) give more detail. Simple high-contrast images work best. For a pixelated raster effect, try Image Pixelator.
Built and maintained by Meet Shah · Last updated
What this tool is used for
- Producing a text version of a logo for a terminal banner or a README.
- Making a picture that survives a plain-text-only channel.
- Generating retro-style art from a photograph.
- Producing a low-fidelity preview that can be pasted anywhere text goes.
- Creating a signature or a splash graphic for a command-line tool.
Frequently Asked Questions
- How does the conversion work?
- Each block of pixels is averaged to a brightness value, then mapped to a character from a ramp ordered by visual density — typically " .:-=+*#%@". Darker regions get denser glyphs, so the character IS the pixel.
- Why must the aspect ratio be corrected?
- Because monospace characters are roughly twice as tall as they are wide. Sampling a square block per character stretches the image vertically by about 2x, so the sampler must take rectangular blocks to compensate.
- Does the character ramp matter?
- Substantially. A short ramp gives high contrast and loses midtones; a long one gives smooth gradients but muddier edges. The ordering also depends on the font, since density varies between typefaces.
- What preprocessing helps?
- Increasing contrast before conversion, because ASCII has perhaps 10-70 brightness levels against the image's 256. Low-contrast photographs collapse into a uniform grey mush of similar characters.
- Where did ASCII art come from?
- Line printers and teletypes, which could print characters but not images — so overstriking characters was the only way to render tone. It survives in terminal output, code comments and email signatures.
- Why does inverting the ramp matter?
- Because it depends on the background. A ramp running dark-to-light is correct on a light background and produces a negative on a dark terminal — which is why the same output looks right in one place and wrong in another.
- How does colour ASCII art work?
- By emitting terminal escape codes alongside the characters, so each glyph carries a foreground colour. It is far more legible than monochrome, and it only survives in a terminal — pasted elsewhere the codes become visible junk.
Common errors and gotchas
- Choosing a width far beyond the target's line length, so the art wraps and becomes unreadable.
- Rendering in a proportional font, which distorts the aspect ratio the character grid assumed.
- Starting from a low-contrast image, where the character mapping has almost nothing to work with.
- Forgetting that characters are taller than they are wide, so the output looks vertically stretched.
- Expecting fine detail from a small character grid, which is a resolution limit rather than a settings problem.
Related Text Tools tools
Case Converter
Convert between Sentence, Title, camelCase, snake_case, and more.
Word Counter
Count words, characters, and analyze keyword density.
Text to Binary
Convert text into its 8-bit binary representation.
Binary to Text
Decode 8-bit binary back into readable text.
Text Reverser
Reverse text by characters, words, or lines.
Remove Duplicate Lines
Delete repeated lines and keep your list unique.
Remove Empty Lines
Strip blank and whitespace-only lines from text.
Sort Lines Alphabetically
Sort lines A–Z or Z–A, case-sensitive or not.