Turn an image into ASCII art

This tool renders an image as text: it divides the picture into a grid of character cells, averages the pixels in each cell, and picks a character whose weight matches that cell's brightness. Rows are sampled at half the horizontal frequency, because a monospace character is about twice as tall as it is wide — without that correction a circle would come out squashed to half height. You can set the width from 20 to 200 columns, choose one of four ramps or type your own, keep the original colors, and then copy the text, download a .txt, or save the whole thing as a PNG.

How it works

  1. Drop an image Drop or browse for one image. It is decoded in the tab and drawn into a working copy no larger than 1024 pixels on its long edge, which every later setting change reuses.
  2. Set the columns The Columns slider runs from 20 to 200 and sets how many characters wide the art is. The number of rows follows from the image's shape.
  3. Choose a ramp Pick Standard, Blocks, Minimal or Binary, or choose Custom and type your own characters ordered darkest first. Invert swaps the ends of the ramp for light characters on a dark background.
  4. Choose monochrome or color Monochrome uses one ink colour from the theme. Keep original colors gives each character the colour of the pixels it stands for.
  5. Take the output Copy text puts the whole grid on the clipboard, Download .txt saves it as a text file, and Save as PNG draws the characters onto an image using the current theme's ink and paper colours.

Questions

What happens if I set more columns than the image has pixels?
The tool warns you. Once the column count passes the source image's width, neighbouring characters start reading the same pixels, so the extra columns add characters without adding detail. The warning names the image's actual pixel width so you know where that limit is.
Can I use my own characters instead of the built-in ramps?
Yes. Choosing Custom opens a field that takes any characters you type, read darkest first and left to right. A leading space leaves the highlights blank, which is how the four built-in ramps are written too.
Is the image sent anywhere to be converted?
No. The image is decoded and sampled inside your browser tab, and the text, the .txt file and the PNG are all produced there. There is no upload, no server and no account.

Every tool