StringMash.com

Image to ASCII art

A photo, redrawn in letters and symbols.

or drop or paste one here. It stays on your device: nothing is uploaded.
                                ??-???]][}{1(|/f
                         _~<>>>>>>><<~~+_-?][}{1(|/fruX
                     ~i!llIIIIlll!!!i>><~+_-?][}{1(|/frnvXC
                  <!lI;;:::::;;;IIll!!i><~~+_-?[}{1(|\tjxucXJO
                !I;::,,,,,,,,:::;;Ill!ii><~+_-?][}{)(|/tjxnvXULO
             ~!I;:,,""""""",,,::;;IIl!!i><~~+_-?]}{1)|\/frxucXUL0wk
           +!I;:,""""""""""",,::;;IIl!!i><~~+_-?]}{1)(\/fjxnvzYJLOwd#
          >l;:,,"""^^^^"""",,,::;;Ill!ii><~+_-?][}{1)(\/fjrnvcXUC0Zqbo
        _il;:,,""""""""""",,,::;;IIl!!i><<~+_-?][}{1(|\/fjxnvcXUCQOwpk*&
       +ilI;:,,""""""""",,,:::;;IIl!!i><<~+_-?][}{1)(|/tfrxuvzXUCQOmqbaM&
      +>!I;;:,,,,"""",,,,:::;;IIll!ii><<~+_-?][}{1)(|\/fjrnuczYUCQOmqbh*&&
     -<ilI;;:::,,,,,,,::::;;IIll!!i>><~~+_-?][[}{)(|\/tfrxnvcXYJL0Zmpbh*W&&
    [+>i!lI;;;::::::::;;;;IIll!!ii><<~++_-?][}{1)(|\/tfrxnuczYUCQ0Zwpba*W&&&
    -~<i!llII;;;;;;;;IIIIlll!!ii><<~++_-??][}{1)(|\/tfjxnuczXUJL0Omqdka#W&&&
   }-+<>i!!lllIIIIIIllll!!!ii>><<~++_--?][}}{1)(|\/tfrxnuczXUJLQOmwpbhoM&&&&&
   [-+~<>ii!!!!!!!!!!!!iii>><<~~++_--?][[}{1)(|\/tfjrxnuczXUJCQOZwpdka*W&&&&&
  |}?_+~<<>>>iiiiiiii>>><<<~~++__-??][[}{1))(|\/tfjrxuvczXUJLQ0Zwqdka*M&&&&&&&
  |{]?-_+~~<<<<<<<<<<<~~~+++__--?]][}}{1))(|\/tfjrxnuvcXYUJLQOZwqdkho#W&&&&&&&
  \1}]?--__++++~~~+++++___--??]][[}{{1)((|\/tfjrxnuvczXYJCL0OZwqdkho#W&&&&&&&&
  t(1}[]??----_____----???]][[}}{{1))(||\/tfjrxxnvczXYUJLQ0Omwpdkao#W&&&&&&&&&
  j\(1{}}[]]]]?????]]]][[[}}{{11))(||\//tfjrxnuuvzXYUJCL0OZmqpbka*#W&&&&&&&&&&
  uf/|()1{{}}}}}}}}}}}}{{{11))((||\//tfjjrxnuvczXYUJCLQ0Zmwpdbha*MW&&&&&&&&&&&
   xft\|(())1111111111)))(((||\\/ttfjjrxnnuvczXYUJCLQ0Omwqpbkao#M&&&&&&&&&&&&
   znrft/\\|||((((((||||\\\//ttffjrrxnnuvczzXYUJCLQ0Omwqpbkho*MW&&&&&&&&&&&&&
    zuxrjfttt//////////tttffjjrrxxnuuvcczXYUJCLQ0OZmwqpdkha*#W&&&&&&&&&&&&&&
    LXcunxrrjjjjjjjjjjjjrrrxxnnuuvcczXXYUJJCLQ0OZmwqpbkha*#M&&&&&&&&&&&&&&&&
     QUXzcvuunnnxxxxnnnnnuuvvvcczXXYYUJCCLQ0OZmwqpdbkho*#M&&&&&&&&&&&&&&&&&
      OLJYXXzccccvvvccccczzzXXYYUUJCCLQQ0OZmwqpdbkhao*#W&&&&&&&&&&&&&&&&&&
       qOQLJJUUYYYYYYYYYYUUUJJCCLLQ00OZZmwqpdbkhao*#MW&&&&&&&&&&&&&&&&&&&
        kqZO0QLLLCCCCCCCLLLQQQ00OOZmmwqppdbkhao*#MW&&&&&&&&&&&&&&&&&&&&&
          kdqwmZZOOOOOOOOOZZZmmwwqqpddbkhhao*#MW&&&&&&&&&&&&&&&&&&&&&&
           Wakbdppqqqqqqqqqpppddbbkkhaoo*#MW&&&&&&&&&&&&&&&&&&&&&&&&&
             &M*oahhkkkkkkkhhhaaoo**#MMW&&&&&&&&&&&&&&&&&&&&&&&&&&&
                &&WMM#########MMWW&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
                  &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
                     &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
                         &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
                                &&&&&&&&&&&&&&&&

Using it

Choose a picture, drop one on the box, or paste one. The art appears at once. Width sets how many characters across, from 20 to 240: more characters keep more detail but need a smaller font to fit. Characters picks the set of symbols, Contrast pushes the lights and darks apart, and Light text on dark flips the shading for dark backgrounds, such as a terminal.

Copy puts the art on the clipboard and Download saves it as a .txt file. Paste it anywhere with a fixed-width font, such as a code block, or it will look skewed.

Your picture stays on your device

The picture is opened and shrunk inside this page, in your browser. It isn't uploaded, and nothing about it goes into the address bar. You can check by turning off your connection before choosing one: it still works.

How it works

The picture is divided into a grid of small patches, one per character. Each patch's average brightness is measured, weighting green most and blue least because that's how bright those colours look to us. Then a character is picked that looks about as dark as the patch: dense ones like @ and $ for shadows, thin ones like . and ' for highlights.

Characters are about twice as tall as they are wide, so the grid takes half as many rows as columns per square of picture; otherwise the art would come out stretched. The character sets are Paul Bourke's well-known ramps: a 70-step one that runs from $@B%8&WM# down to a space, and a 10-step one, @%#*+=-:. and a space.

Getting a good result

Pictures with a clear subject and strong light and shade work best: a face lit from the side, a silhouette, a logo. Busy scenes turn to noise. Try cropping close first, raise the contrast for flat photos, and use the 10-level set when the art will be small.

Questions

Why does my ASCII art look stretched when I paste it?

It needs a fixed-width font, where every character is the same width. Paste it into a code block or a plain-text editor.

Which picture formats work?

Any your browser can open, such as JPEG, PNG, GIF and WebP.

Is there a size limit?

No upload means no limit, but very large pictures are shrunk to 1,000 pixels across first, which is more than 240 characters need.

Sources

Added . What's new