BrowserTools
Home / Images / Image to ASCII Art Converter

Image to ASCII Art Converter

Turn any photo into ASCII art in your browser. Adjustable width, character sets, contrast and colour, with text and PNG download.

Loading Image to ASCII Art Converter… If nothing happens, please enable JavaScript.

ASCII art turns a picture into text. This converter takes an image from your device, samples it down to a grid of characters, and picks a character for each cell based on how bright that part of the picture is: dense glyphs such as @ and # for the bright areas, sparse ones such as . and a space for the dark ones. The result is a block of plain text that still reads as the original photo when you step back from the screen, ready to paste into a terminal, a code comment, a README, a chat message, an email signature or a retro-styled web page.

Frequently asked questions

Is my image uploaded to a server?
No. The picture is decoded and sampled locally by your browser using a canvas element, so it never leaves your device. Nothing is stored or logged, and the page keeps working offline once it has loaded.
What image formats can I use?
Anything your browser can display: JPEG, PNG, WebP, GIF (the first frame), BMP and usually AVIF and SVG. You can choose a file, drag one onto the page, or paste an image straight from the clipboard, which is handy for screenshots.
Why does my ASCII art look stretched or squashed elsewhere?
Because the output assumes a monospace font where each character is roughly twice as tall as it is wide. If you paste it into a proportional font such as Arial, the columns will not line up and the picture will distort. Always display ASCII art in a fixed-width font, and if your target has unusually tall or narrow line spacing, adjust the line height rather than the character width.
How wide should the output be?
It depends where it will live. Around 60 to 80 characters fits a standard terminal or a code comment, 100 to 150 works well in a README or a chat message, and anything above 200 needs a wide window or a small font size. Wider output holds more detail, but only up to the point where the viewer can still see the whole thing at once.
What does the invert option do?
It flips the brightness-to-character mapping. By default dense characters represent bright areas, which is correct for light text on a dark background, as in the preview here or a terminal. If you plan to show the art as dark text on white paper or a white web page, switch invert on so the tones come out the right way round.
Which character set should I choose?
The standard ten-character ramp is the classic look and reproduces well everywhere. The detailed set uses about seventy glyphs for the smoothest gradients, at the cost of looking busy at small sizes. Block shading uses Unicode block characters for solid, poster-like output, and requires a font with those glyphs. Two tone is best for logos and high-contrast silhouettes.
Can I keep the colours?
Yes. Colour mode assigns each character the colour of the pixel it came from, which produces something between text art and a photograph. It only survives in places that support styled text, so the plain .txt download is always monochrome; use the PNG export to share coloured output reliably.
Why is the result mostly one character?
The source image probably has a narrow brightness range, so every cell maps to the same rung of the ramp. Raise the contrast slider, nudge the brightness, and if it is still flat, crop or edit the picture first. Very dark photographs and washed-out screenshots both suffer from this.
Can I use the output commercially?
The art derives from your own image, so whatever rights you hold in the original apply to the ASCII version too. The tool claims nothing, adds no watermark and keeps no copy. Just be sure you have the right to use the source picture.

About Image to ASCII Art Converter

Three settings do most of the work. Width sets how many characters wide the output is, and it is the closest thing to a resolution control: 60 characters is a compact thumbnail, 100 to 150 suits a README or a chat window, and 300 gives a detailed poster that needs a wide screen or a small font. The character set determines how many shades the art can express: the detailed ramp uses around seventy distinct glyphs for smooth gradients, the standard ten-character ramp is the classic look, block shading uses the Unicode blocks for a chunky pixel-art feel, and two tone reduces everything to a stark stencil. Contrast and brightness then let you rescue images that came out muddy, which is common with dark photographs, because a flat range of mid greys maps to a flat range of nearly identical characters.

Subject matter matters more than resolution. ASCII art has no colour and very little tonal range, so it lives or dies on shape and contrast. A face in strong side light, a silhouette against a bright sky, a logo, a pet against a plain background: these all read beautifully. A busy landscape, a low-contrast group photo or fine text inside the image will turn to noise no matter how wide you make the output. If a picture is not working, try cropping it tighter around the subject first, raising the contrast, and switching to a coarser character set so the eye reads shapes instead of speckle.

One detail explains why the tool samples the vertical axis differently from the horizontal one: monospace characters are about twice as tall as they are wide, so sampling a square grid would stretch the picture vertically by roughly a factor of two. The converter compensates automatically, which is why the output keeps the original proportions. Everything happens in your browser through a canvas, so the image is never uploaded and nothing is stored. You can copy the result as text, download it as a .txt file, or export a PNG with the characters drawn on a dark background, which is the easiest way to share ASCII art where a fixed-width font is not guaranteed. The invert option flips the mapping for light backgrounds, and colour mode keeps each character's original pixel colour for a halfway-house between text art and photograph.

From Typewriters to Terminals

Making pictures out of characters is older than computing. Typewriter artists were producing portraits and landscapes by overstriking letters as early as the 1890s, and by the 1920s the practice was popular enough to appear in secretarial magazines as a party trick and a test of skill. Flora Stacey's 1898 typewritten butterfly is often cited as the earliest surviving example. The technique carried straight into the era of teletypes and line printers, where the only output device was a print head striking a ribbon.

Computer labs then took it up with enthusiasm. Line-printer calendars with pin-up images, Snoopy posters and elaborate Christmas cards circulated on fanfold paper through the 1960s and 1970s, and the density trick they relied on is exactly the one this tool uses: some characters put more ink on the page than others, so a carefully chosen sequence acts as a greyscale ramp. Overstriking, printing two or three characters in the same cell without advancing the carriage, extended that ramp further, an option no longer available on a screen.

When bulletin board systems arrived, character art became a competitive craft. Artists worked in the IBM PC's code page 437, whose block and shading glyphs allowed something close to real pixel art, and later in ANSI escape sequences that added sixteen colours. Groups such as ACiD and iCE released monthly "artpacks", and BBS login screens were judged on them. The 640 by 200 sixteen-colour aesthetic that came out of that scene is still instantly recognisable. In Japan a parallel tradition grew on the Shift-JIS character set, producing Shift JIS art and the one-line kaomoji faces that eventually became emoticons.

ASCII art never really disappeared, it just went niche and sentimental. Star Wars has been streamed in full as ASCII animation over telnet for two decades. Command-line tools ship with ASCII logos, and the film industry keeps returning to the look whenever it wants to signal a computer at work. There is even a hidden practical corner: because character art survives any plain-text pipeline, it is still used to embed diagrams and images in source code, commit messages and RFC documents, where a real picture cannot go.

Support