Skip to content
ZeroServer.tools

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

Private & free — this tool runs entirely in your browser.