What is an ASCII art generator?
ASCII art is a picture made only from text characters. Dense characters such as @, # and % stand for dark or bright areas, light characters such as . and : stand for the opposite, and a space leaves the cell empty. Seen from a little distance, the rows of letters blend into a recognisable image. An ASCII art generator does that translation automatically: it measures how bright each small block of your picture is and picks the character whose ink coverage matches it best.
This ASCII art generator works with three kinds of input. You can convert a still image (a photo, a logo, a screenshot or a meme), a video file frame by frame, or the live picture from your webcam. The result is real text that you can paste into a chat, a code comment, a README file, a terminal banner or a forum post, and it can also be saved as an image or an animation for places that do not keep monospaced text.
How to use the ASCII art generator
- Choose a source. Pick the Image, Video or Webcam tab. Drag a file onto the preview, click Upload, paste an image with Ctrl+V (⌘V on a Mac) or load an image from a URL.
- Set the width. The width slider sets how many characters wide the art is. More characters means more detail and longer lines.
- Pick a character set. Standard and Detailed use classic ASCII symbols, Blocks uses shaded squares, and Braille uses 2×4 dot patterns for the sharpest result. You can also type your own characters.
- Adjust the picture. Brightness, contrast and gamma control how tones map to characters. Edge detection and edge lines outline shapes, and dithering adds texture to smooth gradients.
- Export it. Copy the text as plain text, as a Discord code block or as a Reddit indented block, or download .txt, .html (with colors) or .png. For video and webcam you can record an animated GIF or a video.
Features of this ASCII art maker
Real-time conversion with WebGPU
Every change to a setting redraws the preview immediately, and video or webcam input is converted dozens of times per second. The character grid is computed in JavaScript and drawn by a WebGPU shader that renders every glyph on the graphics card, so even a 300-character-wide video stays smooth. Browsers without WebGPU automatically use Canvas 2D.
Character sets for every look
- Standard (
.:-=+*#%@): ten levels, clean and easy to read in any font. - Detailed: a 70-character ramp for smooth gradients and photo-like results.
- Blocks (
░▒▓█): bold shaded squares that look great in terminals. - Braille: each character holds a 2×4 grid of dots, which gives four times the resolution of normal ASCII and keeps its shape even in apps that do not use a monospaced font.
- Simple, Binary and Custom: minimal ramps, a "Matrix" style 0/1 look, or any characters you type.
Color and terminal styles
Keep the original colors of your picture on a black or white background, or use a single ink color: white, black, green terminal or amber terminal. Colored art is saved with its colors in the HTML and PNG downloads; copied text is always plain, because chat apps and text files do not store colors.
Edge detection, dithering and invert
The edge slider blends a Sobel edge map into the picture so outlines stand out, which helps with logos, faces and line drawings. Edge lines replace strong edges with /, |, \ and - so contours look hand-drawn. Floyd–Steinberg and ordered dithering spread the error between neighbouring characters, which turns flat bands in skies and skin into smooth texture. Invert swaps light and dark when your art will be shown on the opposite background.
Tips for better ASCII art
- Start with strong contrast. A subject against a plain background converts far better than a busy scene. Raise contrast until the subject separates from the background.
- Match the background. Art shown on a dark Discord theme or a terminal should use a dark style; art for a white page or a printed sheet should use Black on white. The generator flips the character mapping for you.
- Crop first. Faces and logos need most of the width. Crop the picture to the subject before you upload it.
- Use Braille for small sizes. At 40 to 60 characters wide, Braille keeps details that normal characters lose.
- Check the font. If your pasted art looks broken, the destination is using a proportional font. Use a code block, a .txt file or the PNG download.
Where to use your ASCII art
| Destination | Best export | Notes |
|---|---|---|
| Discord | Copy as Discord | Wrapped in a code block so spacing is kept. Messages are limited to 2,000 characters, so keep the width around 40–60. |
| Copy as Reddit | Each line is indented by four spaces, which Reddit shows as a monospaced block. | |
| Code comments, README, terminal | Plain text or .txt | Monospaced by default. Standard or Blocks characters are the safest. |
| Instagram, X, slides, print | .png | Keeps colors and exact spacing. Exported at full glyph resolution. |
| Websites | .html | A self-contained page with a <pre> block and optional colors. |
| Animated posts | Record GIF or video | GIFs are limited to 10 seconds at 10 frames per second to keep the file small. |
ASCII art generator vs. other ASCII tools
A text banner tool turns typed words into large letters made of characters, which is a different job. If that is what you need, use the text art generator or compare dozens of letter styles in the ASCII font generator. For a picture generator that focuses on one input, there are dedicated pages for image to ASCII, video to ASCII and webcam ASCII. They use the same engine as this page with settings tuned for each source.