Convert a picture to text characters. Pick the width and characters, copy or download. On your device.
Image to ASCII art turns a picture into lines of text: the tool shrinks the picture to one pixel per character, measures how bright each pixel is, and picks a lighter or darker character for it from a ramp. The grid is wider than a pixel grid would be, because a character is about twice as tall as it is wide. Rows equal columns times height over width, divided by that ratio, so a 4000 by 3000 photo at 80 columns gets 80 by 30 characters. Brightness is Rec. 709 luma, 0.2126 times red plus 0.7152 times green plus 0.0722 times blue, on the colour values as stored. With the standard ramp of 10 characters, white becomes a space, black becomes @, pure red, with a luma of 54, becomes #, and mid grey 128 becomes =.
The standard ramp is a space, then . : - = + * # % @. The detailed ramp has 70 characters and gives finer steps, which only shows at about 150 columns or more. Blocks uses a space and the shaded blocks, and Custom takes 2 to 100 characters of your own, lightest first. Normal mode treats dark areas as ink, so it suits dark text on a light page. Light on dark flips that, for a dark terminal or a dark page, and the PNG is then white on black. Contrast scales how far each brightness is from mid grey by 1 plus contrast over 100, from 0 to 2 times. Brightness is a gamma curve: above 1 it lifts the mid tones, below 1 it darkens them. A flat, low-contrast photo usually needs some contrast added.
The text is shown for copying and can be saved as a .txt file. The PNG is a picture of the same text, 14 pixels of monospace type per character, which makes it the version that keeps its proportions anywhere. Plain text does not. Whether it looks right depends on the font and the line height where you paste it, because the picture's shape assumes the character height over width you chose. If the pasted art looks tall and thin, lower that ratio; if it looks short and wide, raise it. Use a monospace font, since in a proportional font the columns do not line up. Characters that are two cells wide, such as Chinese characters and emoji, also break the columns.
The text has no colour, only 10, 70 or whatever number of levels your ramp has. Fine detail is lost: small features such as a face need many columns to be recognisable, and a photo with a busy background becomes noise. Widths run from 20 to 300 columns and rows stop at 1000, so a very tall picture gets fewer columns. Transparent areas are treated as white. The picture is turned the right way up first if a phone saved it sideways, and the text carries nothing from the photo's details. Only one picture is done at a time, because each result is a block of text.
Add the picture, set the width, for example 100 characters, press Create the ASCII art, then copy the text or download it as .txt. The live preview updates as you change the width, the characters, contrast and invert, so you can try a few settings first.
Start with 80 to 120 characters for text you will paste: each line must fit the box it goes into, or it wraps and the picture breaks. Use 150 to 300 when the art will be saved as a PNG, and the detailed 70-character ramp for the extra tone steps. At 40 columns or fewer only simple shapes survive.
The tool assumes a character is 2.0 times as tall as it is wide. Your font may be different. If the pasted art looks tall and thin, lower Character height รท width to 1.6, and if it looks short and wide, raise it to 2.4. The PNG always keeps the shape you see in the preview.
Tick Light on dark. In the normal mode dark pixels get dense characters like @, which looks right on white paper. On a black terminal the bright parts of the picture should be dense instead, and this setting flips it. The PNG then comes out white on black.
No. This tool makes plain text only, so each character stands for one level of brightness and carries no colour. If you want a coloured result, use the PNG in a design tool or add colour yourself afterwards.
No. The picture is reduced to a small grid and turned into text on a canvas inside this tab, so no server receives it. The page counts visits with Google Analytics using rough groups such as 1 to 10 MB, never a file name or an image. Your width and character choices are remembered on this device.