Image to ASCII Art
Use the CaseSwitch Image to ASCII Art tool to map image brightness to characters (`@%#*+=-:. `) in your browser. It is art, not OCR. Upload stays local — you get copyable monospace text.
Written by the CaseSwitch editorial team. We maintain these tools in the browser so drafts, keys, and images stay on your device.
Last reviewed: 23 July 2026
Images are sampled in your browser to build ASCII art. Nothing is uploaded.
Drag and drop an image here, or choose a file
Examples
High-contrast logo at width 40
Input
logo.png · width 40 · invert off
Output
(shape demo — not a live render) @@@@%##*+=-:. …dense glyphs on dark areas, spaces on light…
Inverted for dark terminals
Input
logo.png · inverted on
Output
Ramp flipped so light subjects read correctly on black backgrounds
Portrait caution
Input
face.jpg · width 80
Output
Recognizable silhouette possible — only process images you may share
Width too high
Input
photo.jpg · width 160
Output
Very wide dump — hard to read in mobile browsers; try 60–80
Not OCR
Input
signage.jpg with readable words
Output
Characters draw the picture; they do not transcribe the sign’s text
How to use
- Upload a PNG, JPG, WebP, or GIF (size limits apply).
- Set character width and optionally invert brightness.
- Copy the ASCII output into a monospace context (README, terminal, code block).
What this tool is for
Turn a PNG, JPEG, WebP, or GIF still into a text picture for terminal jokes, README banners, and teaching sampling. Character width defaults to 80 (20–160). Optional invert flips the ramp for light-on-dark versus dark-on-light previews.
How it works
The image is scaled to a small canvas whose width is your column count and whose height accounts for aspect ratio and the fact that text cells are taller than wide (≈0.55 factor). Each pixel’s luminance (alpha-weighted) picks a ramp character. Color is discarded. Output is plain text lines — not a downloadable PNG of the art unless you screenshot.
When to use it
README headers, workshop demos of sampling, and playful social posts in monospace blocks. Keep width modest so the “image” remains scannable.
When not to use it
Reading text in a photo (that is OCR). Professional print reproduction. Publishing faces or private photos you lack rights to share even as ASCII.
How it compares to related tools
SVG to PNG is a serious rasterizer for logos. This tool is a novelty visualization. Word clouds are about word frequency, not pixels. PNG to JPG changes image format rather than rendering with characters.
Common mistakes
Choosing 160 columns for a blog (huge, hard to read), expecting color photos to survive, and forgetting monospace when pasting into an email client that reflows proportional fonts.
Ramp, aspect, and invert
The fixed ramp `@%#*+=-:. ` maps dark→light (unless inverted). Row count uses aspect ratio times ~0.55 so circles do not look like ovals in monospace. Tweak width until the subject is recognizable in a monospace preview.
Local Canvas sampling
Pixels are read with Canvas `getImageData` on your device. CaseSwitch does not upload the image. GIF animation is not played — you get a decoded still frame path like other canvas tools.
Frequently asked questions
Is this OCR?+
No. It does not recognize letters in the photo; it draws the photo with letters.
Why is the aspect ratio wrong?+
Text cells are taller than they are wide. The tool compensates with a height factor; tweak width until the subject looks right in monospace.
Is the image uploaded?+
No. Sampling runs locally in the browser.
What does Invert brightness do?+
It reverses the character ramp so the art fits light-on-dark or dark-on-light viewing.
Which formats are accepted?+
PNG, JPEG, WebP, and GIF, within the client size limit (on the order of 10 MB).
Can I get color ASCII?+
Not on this tool — output is a single ramp of characters without ANSI color codes.
Max width?+
160 columns. Wider dumps are rarely readable outside a full-screen terminal.
Are images uploaded to a server?+
No. Image tools use the Canvas API in your browser. Files stay on your device and object URLs are revoked after use.
Related tools
SVG to PNG Converter
Exporting a logo for CMS fields that reject SVG, creating PNGs for email signatures, and handing pixels to partners who cannot open vectors.
PNG to JPG Converter
Photos that were saved as PNG for no good reason, email attachments with size limits, and web photos that do not need transparency.
Plain Text Converter
Pasting a README snippet into Slack as plain text, cleaning a CMS export, preparing copy for a system that escapes HTML badly, and getting unstyled words ready for a case converter.