Image to ASCII Art

Drop a photo, watch a monospace grid appear, then tighten width or swap the character ramp until the silhouette reads the way you want. Everything runs locally in your browser.

Image to ASCII conversion workbench

SourceAdjust sliders after upload for live refresh

Supported formats include JPG, PNG, GIF, BMP, and WebP up to ten megabytes.

Raster file

Tap or drop an image

JPG, PNG, GIF, BMP, WebP · max 10 MB

Choose a single image. The preview and ASCII update automatically.
80
Higher values add columns and shrink each cell on screen.
Dense ramps hold more gray steps; block ramps read bolder from a distance.
Flips dark and light so characters map in the opposite direction.

Preview appears after you choose a file.

Monospace output

Copy or save when you like the grain
Drop an image above. The grid fills here as soon as pixels are readable.

When the picture looks like static, width is usually the culprit

Terminal panes and chat boxes rarely tolerate two hundred characters per line. Paste something too wide and the eye loses the shape.

Start near eighty columns, then nudge down if you need to post inside Slack, Discord, or an eighty-column SSH window. Wider grids preserve fine hairlines on portraits; narrow grids exaggerate silhouette, which sometimes helps logos read faster from a distance.

Groups shipping CLI installers or MOTD banners often prototype here, then paste into a heredoc or template file. The width you see on this page is the width you should expect in a fixed-width terminal, so treat eighty columns as a contract with future readers.

Same face, three ramps: what actually shifts

Detailed ramps squeeze more gray steps between black and white, so cheek shadows survive. Block ramps trade subtlety for punch, which suits icons on dark backgrounds. Standard sits between those extremes.

 ####
## ##
# ** ** #
# ** #
########
##

The snippet above is only a structural hint; your upload will look different because every photo distributes brightness differently. Compare ramps on the same file instead of guessing from examples alone.

How brightness becomes a character

The tool shrinks your image to the width you set, reads each pixel’s red, green, and blue channels, converts them to a single brightness score, then picks a symbol from the ramp. Darker scores lean toward the dense end of the ramp; lighter scores lean toward the sparse end.

Because monospace fonts are taller than they are wide, row height is compressed relative to width. Expect a slightly squat aspect compared with the original photo. Most viewers compensate mentally, yet logos with precise circles sometimes look elliptical until you accept the distortion.

Odd facts worth knowing before you ship a banner

What this mapper refuses to pretend

Color disappears. Only luminance survives, so brand palettes and heat maps flatten to gray logic. Fine serif typography in screenshots may crumble once cells merge. Huge originals still get sampled down, which is intentional; feeding more pixels without raising width mostly burns CPU without new detail.

Processing stays inside your tab. No remote upload runs for this converter. Clear the page and the preview drops from browser memory.

Chat paste versus printed fanfold

Slack threads forgive soft wrapping; printers do not. If you plan to run output through a dot-matrix nostalgia project or a PDF with monospace fonts, lock width early and test the download in the target environment.

Emoji and exotic Unicode symbols in surrounding copy will not damage the ASCII block itself, yet they change how some clients measure line length. Keep decorative text outside the fenced block when possible.

Density versus legibility
More characters per line add detail but demand wider displays. Fewer characters exaggerate shapes and survive narrow columns.
Blocks versus detailed ramps
Blocks read well on OLED terminals; detailed ramps help portraits where cheek transitions matter.
Working with plain strings afterward
Once you like the text, you might push individual bytes through the Text to ASCII helper or compare encodings with the UTF-8 to ASCII flow if downstream systems enforce seven-bit rules.

Short answers for awkward ASCII moments

Practical fixes for width, fonts, and exports.

Why does my paste look stretched sideways?

Most chat apps use proportional fonts. Switch the viewer to monospace or wrap the paste inside a code block so columns stay aligned.

Does anyone at Toolexe see my photo?

No. The file stays inside your browser. Conversion uses canvas APIs locally, so nothing is transmitted for this step.

Which width should I pick for GitHub README files?

Try seventy-two to ninety columns first. README renderers add padding; going wider often forces horizontal scrolling on laptops.

Why did every character turn @ or #?

Either the entire frame is mostly dark or invert is fighting a naturally dark image. Toggle invert or lighten the source before exporting.

Is the downloaded text OK for a commercial README?

The text output is yours. You still need rights to the underlying photograph the same way you would for any other derivative work.