gimme‑ascii
An ASCII art generator

Convert an image or a word into characters.

Drop a file or type something. Pick a charset, a few options, a font. Copy the result, save it as PNG, or share it via a URL that contains the whole drawing in its fragment.

Tunable from a 5-ramp preset list, or roll your own.
150+ Google Fonts in the text flow.
Share URLs hold the whole rendering.
logo.matrix6 × 6 · binary
1 = dense0 = sparsebrightness → character
Output·82×22·charset: standard·1,804 charsTry it →
.................................,'',,;;,'',,,'.................................
............................',;:cclllooollllllcc:;,'............................
.......................';:ccloooddxxxxxxxxxddoolllcc;,..........................
....................,:cllooddxxkkkkkkkkkkkxxxxddoolllc:;,'......................
.................,:cloodxxxkkkkOOOOOOOOOOOkkkkxxxdddoolc:,.....................
..............';:loddxxxkkOOOOO000000000OOOOOOkkkxxdddoolc:,..................
.............,:looddxxkkkOOO000KKKKKKK0000OOOOOOkkkxxdddooll:,................
............;clooddxxkkOOO00KKKKKKKKKKKK00OOOOOOOkkkxxddoollc;..............
..........':llodddxkkkOO00KKKKKKKKKKKKKKKK00OOOOOkkxxxddooolc:,.............
.........':cloodddxkkOOO00KKKKKKKKKKKKKKKKKK00OOOkkxxxdddoolc:'.............
........,:clloodddxkkOO00KKKKKKKKKKKKKKKKKKK0OOkkkxxddooolllc;..............
........;cllooddddxkkkOO00KKKKKKKKKKKKKKKKK00Okkkxxxdddoollc:'..............
.......':lloodddddxxkkOO00KKKKKKKKKKKKKKK000Okkxxxdddooollc;'...............
.......,:lllodddxxxxkOOO00KKKKKKKKKKKKK00OOkkxxddddoooollc:,................
........;cclooddxxxkkOOOO0000KKKK000000OOOkxxdddoollllllc:'.................
.........';clooddxxkkkkOOOO00000000OOOOOkkxxdddoolllcccc:,..................
............';cloddxxxkkkOOOOOOOOOOOOOOkkxxdddoolllllcc:,...................
..............',:looddxxxxxkkkkkkkxxxxxxxddooollllllc:;,....................
.................,:lloodddddxxxddddddddooooolllcccc::;'.....................
....................,:cllooooooooooooollllllccccc:::;,......................
........................';:cccccccccccccccc::::;;,'.........................
.............................',,,,;;;;;;;;,,,''.............................
A portrait at 82 columns. Each pixel's luminance maps to a character on the configurable ramp .,:-=+*#%@.

Two flows, one panel.

01

Image → ASCII

Pick a JPG, PNG or WebP. We decode it to an offscreen canvas, sample at your column count, and map each pixel's luminance to a character.

JPG · PNG · WebP · GIF (first frame)up to 300 columnsRec. 601 luma · 0.55 aspect
Open the image flow →
02

Text → ASCII

Type a word; pick a font from the searchable list of 150+ Google Fonts. We draw it at 12× resolution, downsample to your grid, and run the same brightness ramp.

150+ Google Fontsloaded only on demandlive preview as you type
Open the text flow →

A few notes on how it works.

Brightness, mapped.
Each pixel's luminance is computed with Rec. 601 weights and matched to a character on the active ramp. Denser characters sit where the pixel was darker.
Instant feedback.
Every option re-runs conversion on the next animation frame. There is no Apply button anywhere in the panel — moving a slider is the action.
Output is a canvas.
Not a "<pre>". A canvas keeps the result identical across browsers, makes PNG export trivial, and lets each cell carry source-pixel RGB so colour mode is a re-paint, not a re-conversion.
Share fits in a URL.
The rendered text is deflated, base64-url encoded, and slotted into the URL fragment after #/share?d=. The whole piece travels with the link, no attachment needed.