Image to ASCII Art

Turn pictures into text art.

Drag & drop an image here, or click to browse

PNG, JPG, GIF, WebP… converted locally in your browser

Image to ASCII Art Converter

Turn any photo, logo or drawing into ASCII art — a picture made only of text characters. Upload an image, choose the width in characters and the character set, then copy the text or download it as a .txt or colored .html file. The conversion runs entirely in your browser, so your image is never uploaded.

How the conversion works

The image is divided into a grid of cells, one cell per character. Each cell is about twice as tall as it is wide because monospace glyphs have that shape. For every cell the tool computes the average brightness (using the standard luminance weights for red, green and blue) and picks a character from a ramp that goes from empty space to very dense glyphs. A dark area becomes @ or #, a light area becomes . or a space. Transparent pixels count as paper, so logos with a transparent background stay clean.

Character sets

  • Standard – ten classic levels: .:-=+*#%@. Clean and readable everywhere.
  • Detailed – 70 levels from Paul Bourke's well-known ramp for smooth gradients in photos.
  • Blocks – Unicode shade blocks ░▒▓█ for a bold, pixel-like look (needs a font with box characters).
  • Simple and Binary – minimal sets for a retro or "Matrix" style.

Tips for better results

High-contrast images with a clear subject work best: portraits on a plain background, logos and silhouettes. Use the contrast and brightness sliders to bring out detail before converting. Fewer columns give a bolder, more abstract image; more columns preserve details. When you paste the art into a code comment, README or terminal, make sure it is shown in a monospace font — otherwise the columns will not line up.

Where to use ASCII art

ASCII art is popular in source code banners, README.md files, terminal welcome messages (MOTD), e-mail signatures, Discord and forum posts. For a stylized look of your image without characters, try the Pixelate Image or Instagram Filters tools.

Frequently Asked Questions

Monospace characters are about twice as tall as they are wide. The converter compensates by sampling cells that are twice as tall as they are wide. If your editor or font uses a different line height, the result may still look slightly squashed — set the line height to 1 when you paste it.

60–80 characters fits a terminal, a code comment or a chat message. 120–200 characters gives much more detail but needs a small font to fit on screen. The preview font size slider only changes the preview, not the text.

By default dense characters like @ and # stand for dark pixels, which looks right on white paper. On a dark terminal it is the other way around, so the dark background option makes bright pixels dense instead.

Yes. Turn on Color to tint every character with the average color of its area. Plain text cannot store colors, so use Download .html to keep a colored version you can open in any browser.