Convert images to ASCII art
Turn any photo into ASCII art directly in your browser. Adjust character width, invert tone, and export as plain text or a styled PNG to share or print.
Sample your image at the chosen character width, map each pixel's brightness to an ASCII character, and export the result as text or a high-contrast PNG.
Converting photographs into ASCII text art
ASCII art represents images using text characters arranged in a grid where each character's visual density corresponds to the brightness of the underlying pixel. Dark areas use dense characters like @ # and M, while light areas use sparse characters like . : and spaces. The result is a recognizable image rendered entirely in monospaced text.
The character width setting controls resolution — more characters per row means more detail but requires a wider display to view. Typical values range from 60 characters (low detail, fits in a chat message) to 200+ characters (high detail, needs a wide terminal or text editor). The aspect ratio is automatically adjusted because text characters are taller than they are wide.
High-contrast images with clear subjects produce the best ASCII art. Portraits with strong lighting, silhouettes against bright backgrounds, and simple geometric shapes translate well. Busy textures, low-contrast scenes, and images with many similar tones tend to produce muddy, hard-to-read results.
The tool offers both text export (copy to clipboard or download as .txt) and PNG export (rendered with a monospace font on a colored background). The PNG version is useful for sharing on platforms that do not preserve text formatting, while the text version works in terminals, code comments, README files, and plain-text communications.
Common use cases
- README and documentation decoration: Add ASCII art logos or illustrations to GitHub README files, code comments, and plain-text documentation where images cannot be embedded.
- Terminal and CLI branding: Generate ASCII art banners for command-line tools, server login messages (MOTD), or terminal-based applications that need visual identity without graphics.
- Retro and nostalgic design: Create ASCII art versions of photos for retro-themed websites, pixel art communities, or creative projects that celebrate text-based computing aesthetics.
- Social media and messaging: Share ASCII art in Discord, Slack, or forum posts where the monospace text format creates a unique visual that stands out from regular image posts.
Technical details
- Character mapping
- Pixels are converted to grayscale, then mapped to a character ramp ordered by visual density. The default ramp uses approximately 10 characters from space (lightest) to @ (darkest).
- Aspect correction
- Text characters are typically 2:1 height-to-width ratio. The tool compensates by sampling fewer rows than columns to produce output that looks proportionally correct in monospace fonts.
- Inversion
- Toggle between light-on-dark (white characters on black background) and dark-on-light (dark characters on white background) to match your display context.
- PNG rendering
- The text export is rendered onto a Canvas using a monospace font at a fixed size, producing a shareable image that preserves the exact character layout regardless of the viewer's font settings.
How to convert an image into ASCII art
Generate ASCII art with adjustable resolution and download the result.
- Drop one image into the ASCII generator.
- Set the character width and toggle dark mode if you want a black background.
- Copy the ASCII text or download it as a .txt file.
- Export a styled PNG when you want to share the art as an image.
Frequently asked questions
Which images make the best ASCII art?
High-contrast subjects with a clean background work best. Portraits, logos, and silhouettes translate well; busy textures often look noisy.
Why is the PNG export so wide?
The PNG matches the requested character width. Lower the width if the output is hard to share. 80 to 120 columns usually balance detail and readability.