What is image-to-text art?
Image-to-text art is the process of representing a visual image using only printable text characters. The visual appearance of the original image is recreated through the varying density or shape of the characters used — darker regions of the image are represented by visually "heavy" characters, and lighter regions by sparse or empty characters.
The most common form is ASCII art, which uses characters from the 7-bit ASCII standard (printable codes 32–126). A broader version uses Unicode characters, including block elements like ░, ▒, ▓, and █, which offer a more graphic, pixel-art aesthetic. Flowfiles supports both approaches through its three character set options.
How character-to-brightness mapping works
The converter samples each region of the image using the Canvas API. For each sampled pixel, it measures the brightness (luminance) on a scale from 0 (pure black) to 255 (pure white). It then maps that brightness value to a character from the selected set, ordered from visually densest to sparsest.
With the Detailed character set, 70 characters are arranged in order of perceived visual weight, giving smooth brightness gradients. With Blocks, only 5 characters are used (space, ░, ▒, ▓, █), creating a coarser but more graphic result. The column width setting determines how many samples are taken horizontally — more columns means finer detail.
Character sets explained
Detailed — 70 ASCII characters
The most fine-grained option. Uses a carefully ordered sequence of printable ASCII characters from visually sparse to visually dense: .'`^",:;Il!i><~+_-?][}{1)(|\/tfjrxnuvczXYUJCLQ0OZmwqpdbkhao*#MW&8%B@$. Ideal for images with smooth tonal gradients like photographs and illustrations with shading.
Standard — 12 characters
A balanced selection that renders well in all terminals and plain-text environments. Compatible with ASCII-only systems. Good for logos, icons, and images with strong contrast.
Blocks — Unicode block elements
Uses the five-character sequence: space, ░, ▒, ▓, █. Produces a pixelated, retro video game aesthetic. Note that block characters may not render in all environments — use a Unicode-compatible font. Best for colorful illustrations and digital art.
Where to use text art
- GitHub README files — paste inside a fenced code block for monospace rendering
- Discord — wrap in triple backticks for a code block with fixed-width font
- Terminal banners — server login messages, CLI tool headers
- Email signatures — text-based environments that strip HTML
- Social media — export as PNG for Instagram, X, or any image-based platform
- Digital art projects — export colored HTML for a unique interactive format
How to convert an image to text art
Open the converter — click the button above to go to flowfiles.app/en/ascii-art/.
Load your image — drag and drop a JPG, PNG, WebP, GIF or BMP, or paste from clipboard with Ctrl+V.
Choose a character set — Detailed for smooth gradients, Blocks for a retro pixel look, Standard for broad compatibility.
Set column width — 80–120 for general use, 140+ for detailed images, 40–60 for minimalist shapes.
Export — copy to clipboard for pasting in text editors, download .txt, download colored .html, or download PNG.
Features
FAQ
Open the converter, drop your image, choose a character set and column width, then copy or download the result as plain text, colored HTML, or PNG. No account or upload needed.
ASCII art uses only the 95 printable ASCII characters. Text art is broader — it includes Unicode block characters and other symbols. Flowfiles supports all three modes.
Yes. Paste plain text in Discord using a code block (triple backticks) for monospace font. Export as PNG for Instagram or any image-based platform.
Detailed (70 characters) for the most nuanced result. Blocks for a bold graphic look. Standard for the widest compatibility across terminals and editors.