ASCII Paint

An ASCII Image to text converter made by Kirill Live which is surprisingly simple but effective

 

This is a slightly adapted version of the ASCII Art Paint project on GitHub made by Kirill Live. His work is absolutely incredible and includes an almost unbelievable amount of functionality for a single file of html, css, and js which is 21kb when compressed

Usage:

Drag and drop to open a file. The save/load format is txt for maximum compatibility. The image loaded in the editor will be used as a bitmap template. The template can automatically generate an ASCII form, or be used as a reference example to draw manually. You can choose from the symbol palette, or load multiple fonts from .tff, .woff, and . woff2 files and use them instead of the default one.

You can use the options of the right panel to control exactly how the image is converted into symbols. Which characters, what brightness/contrast to map each pixel to, and the size can be modified as well

Of course, there is also a built-in text editor to edit directly as text

Further information can be found on Kirill’s GitHub page

                                                                                                    
                                                    "^_{(\f1;,                                      
                                                 [(1[?[1|/rnvzY/                                    
                                                j/({]?})\fxucXUC0:                                  
                                               ./\)}?]{(/jnvzYJLL~ -l                               
                                               ;t|1[?})|truvXUCQY:<vnj[^.       `^])c               
                                               j\)}?]{(/fxucYJL0i')uxf\){}}[}[][}{1j-;'             
                                              ,t|1[-[1|trnvzYCQrl'tnrt|1{}}[]][}}{1vii              
                                              _/({]]{)\fxucXUL0|`]vxf/({}}[[]][}{1|ti'              
                                              t|1[?[1|/jnvzYJLOi^uurt|){}}[]]]}}{1zil               
                                             [/({]?})\txucXUC0}:~nnj/({}}[[]][}{{)|il               
                                             (\)}?-+_-_|vcYJLQ+ 1urf\){}}[]]][}{1f]i                
                                            ^r1(>iiiiiiii(\cQL;ivnjt|1{}[[]][}}{1Ji:                
                                             .i:)_]{(/jn`  i{i`/uxf/){}}[[]][}{1f>i:                
                                           I{j([+?})\fxvzUYi , tnrt|1{}}[]][}}{1xii                 
                                           _n/1?_]{(/jncXJL0r  ._u\({}}[[]][}{(u]i`                 
                                           vj|}_-[1|truzYCQZi.t+  :+(?{|([}(1iiil:.                 
                                          \nt)]+?{(\jxvXUL0(;>tt|[> ..'Iiii;l<~]                    
                                          tr\{_-[1|truzYJQO[.]j/(}?+<>ii!!i><~]<;                   
                                         'uf([_?})\fxvXUC0Zi;rt\1[-~<>ii!i><<~riI                   
                                         Yx/1-_]{(/jncXJLO<^{j/({]_<>>i!!i><~?-i:                   
                                        ^vj|[+?})\fxuzYCQY>.{f\)}-~<>ii!i>><~)>i                    
                                        >nt)?_]{(/jncXUL0xI<j/|{]_~<>i!!i><<+/i^                    
                                        cr\}+nJCCLfxzYJQOi./f\)}?+<>ii!!i><~)>i^                    
                                       ;jX?iiiiiiiii+rLQ\II/t|1[-~<>i!!i><<~)ii                     
  Qu  a ~                  O:z (I       ^i^``        `,]_`-j/({?+<>>i!!i><~]}i.                     
  Q(Iqr h z r|,I( hz!.`r q Q z                          `^}\|1[-~<>ii!i><<~fi!Uf                    
  Q a-r h z f| <) h)^[~r q Q z                             !?(]_<<>i!!i<})-+iI                      
                                                             l!i~|))({iiiiil"                       
  tXX,    <XX}     zX^tXx                   XXX                 '^^^^^^^`           ]]  ?]^];!{{I   
   ###    f##*     ## Q#q                   ##*                                     ^t-!t ,tt~ {t{  
   c##:   ####^   h#X                   '<. ##*                                      lt(. ,tt   t{  
   (##|  z#*a#q  `a#} Q#q !##'####p.  ,#######*  ^U#####t Z##   I##>  ,##`######Y)'  1/t+ ,tt   t{  
    ##h  Y# Q#*I ~##  Q#q !##wu}(##m i*#O  v##*  q#o~`f*#v ##c  d##Q  [#/c#f   Zq   ~t,_t!,ttl +t?  
    ~##' #o  ##i ##[  Q#q !##[   |## m##    ##* h#*    0##`z#a..#o##` #*<o##>^'    >/^  |/itt-//>   
    ;*#Qr#z  J##i##l  Q#q !##[   |## ###    ##* h#X     ##`:##~|#Iu#}(#h >######w         ,tt       
     q#*##`  |#####   Q#q !##[   |## *##    ##* h#q    I##` Z##db^r##X#     .Zo*#h        ,tt       
     I####    ####`   Q#q !##[   |## ~##]  >##* '##/  ^k#m. ]###q  ###Z .tt"   z#o:                 
      ###[    j##d'   Q#q !##[   |##  h##**#l#*  z##*o###.   ###   +##z  X##ooo##<                  
      -rr!    "rr1    1r\ ,rr!   ~rr   _rrr "rj    rrrr"     'rr   ;rr    `trrr1                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                                     .  
                                                                                                                     .. 
                                                                                    `~                             .. . 
                                                                                 ~---+                             . ...
                                                                               _x-__--                             .....
                            .+--_~'                                          +-x-_+_x-                             .....
                             ~xnnnnuvn+                                    ~vu---_+_-~                             .....
                              --_-_xnvvzv`                             .xnxnx---__+_-`                             .....
                               --++_xxnuczzv-__`      ~~_-xnuuuuunnnvcuzxvvunnx~'~+--                           ........
                               ._+~~~_xuvcz@$@u@$$$$$@@zmmc-m@zvz$@@$@c@@zvunn+++__x_                          .........
                                '__++_xnuvcm@$$$$$$$$$$$$$$znz@@$$@zu@$@muvnx-x__+_-                          ..........
                                 .-xnuunnvccz@$$$$@$@$$$@$$@umm$$$$@@zmmzzunnx-xx-+-                         ...........
                                   -nn+_nucvcm$$$@$@m$$$mmm@ummvc$m$mz@@zc@mmvn_nn-~                         ...........
                                   .-uvvccuvz@$$m@@@$@$$vunnuc@un@@mmvzmzzzm@mzuuux.                                    
                                    `+nvcuc@@@zm@$$@$m@cuxucvc@vczucmc@zz@ccmm@mccu                                     
                                     '_uucmmzzcz@m@z@@-_@vnv@m@cm$nucccczmmmzc@@@z@n                                    
                                      -uzmmzczmzzcncm@x~z@cz$$@cz$nuzzvxczzzcvzm@zzmc`                                  
                                      n@mmzzcvvzccnnz@c-ccmz@$@zvzn-zzu-vuunn_u@@mzmmzx                                 
                                     nmmzmmvuunnuv-xcmcxx@cm$m$cnnnnmmu-ux-xunvzz@mz@@z'                                
                                    _uzmzzzu---_-u-~um@zzzcz@m@vnuunxnxnucm$zuunnz$@mmz_                                
                                    ~czm@mmzzcz@zvuxxuuxxzmm@@@cnc+-c$cnvv$m-+xuuunz$$$u                                
                                    .u@@@uxnnnn@$zczuz$$n_czm@muxn+x$$$$@zx-nccccu-uccmc                                
                                     'v@muxnuvx_u@$$$$$$muuncccx-nvm@vnnvm@@@$cvn_-xnvmm-                               
                                      xmmxxuccczu-x-xxnm$$vunuunvm@$$$$$$$$$mcvx-+nvvzmz-      ~                    _`  
                                      _nun-_uzzm@@$$$$c$$mcvxxxxxc@$m$@zzm@mczccccczzmzmx          ''  .      .   .` '' 
                                      `--x-_xucm@@mm@mmmcmzu~+_-+_mmvuuczzvvcccuvcvcccmz_     .`'.``'.+`-~'       '.  _~
                                      `uu--nn-+ncmcvzvuxxunx+xxxuxzu-xncvvunx-nuvcczmmmzvn`.``~_~     .  ~mc-`   ..`-'..
                                      +vzvnczzzzcucmzz-_-`_ucznxzv_`+uvuuu-_~-uczzzmmmzvunu_.                     ..```~
                                      +vvmccuvccv-xczzn_+    ~c@x  .~__x+-+_`ucczmzvzvxxvzu_un_.                        
                                     .-nuuczzzzcux`.`+n+_'.   `u`    ``++~~~-uvcvnunuccc@z-+-uunnu~                     
                                      `nuvcx_-unx+.'``~~+~    .xx~. ..'~_+---vcvzcu-+-x-__+~+nvcvcvu-~                  
                                     .+_+uvvx`'+_+~`.'.''`'..`xuzvx+``+~_nu@cvcucc-----~+___ncvnuvcuuuun+.              
                                     '_x-xxnxn_+-nxn-`'.'``~+```'``'.'+nzz$@mccvuunnn--x-_`~xczzcvcvnuuuunn_~'          
                                   ..++++_xuvvvzcuvvnx+~'      .. ..._c$$c$@@@mmmzzuunux-_++_uzzcncvcuuvuxuvun-+`       
        .  ............... ..     ...nunxnnu-uzzzzzmzmznu-_~.  .'..'xzz@$z@@m@mmcvzccun-nx_+uunvcuxvvvvvvnnvvvuux_~`'``.
        ....................  ... .`-cuuxvuuxnuuuuzm@@mzzz@zzn+-nvuvzzzzzmccvvvvvvvvcccnxxx-vzuunnnxxnvccvuvvccvuuvun-+`
   ...............................'-cz-uxucmux-vvnmc@$$$$$mczzmmcvccunmmm$@$@mcuuczuxuczn--nvzmzcmvcvn-xuuvcczzcuczczzzc
 . ...............................~ncmcnn__xzmzzmzm$$$$$$$$$cvvzcvxnc@$$$$$$$$$mzcnuvu-xnnunczzzccczczcvnxx-_xnczzcczzmm
................................'`_vvvzvuvnxnuuzzvcz@@zm$$$$@@cvn-uvz@@@$$$$$$$@@mzzzvun-xxuvczmm@@zzzzzcnn-+~~_xxxnvcm@
........................''''''`~_uzvuvcvnucvnx_nuxnuz$m@$$$@zcxn-~-``~`~_vucmm$@$$@@mzcnv---nzmm@m@$mcccvvnx-~'`+_xxvm@m
.........'''''''''''''''''''``+nmzzczcvcvnvmvvvvuucvz@@$$$@ux+-'`'+x~~`''``~-xnxnvvz@mmc-_-vzmzmm@zzmzzvvvn-__-_+-n-x-`'
..'''''''''''....              ~uuuvvvczzzuum@@mmmmm@z$mcv-+.'.''-`_nzmznx-_x_cmzn-xvvzmu-xuvzzzzzmm@zcvvvuu-xvn~-_     
                               '--x_-_---ucvx__nnvxvu_''.'~+++~_+~_--__z@zzmv_++xcmv_-uzcvvnczvvz@@@zczunuuvczzcnxzx.   
                                +-xnun+~+_xx--_~'...~-n-~`~+nzmvnnnnnx---xv@$$zvxxumznxumzvmmmzcnuczzccvvvmu~           
                                '+_`_+~++x_~'   .'`_-uzvcnnuuczmcvczcucx++nnm$$$z-n_vcnnc$zvzmcvx_xuvu_+~'.             
                                 `'_+'' .'_xux~__xxvm@mczvuvm@mvvc@@mcv@v_xnxvm$$$u-_-vvvvzmzmcn`'                      
                                 .~~..'~~+vcccvvucccmmzvvczm@m$zun@$@nxvcccnxnuvm$@mvxncczczzzv-'....                   
                                  'ncvu_ucvzcz@cz@m$mzvcmnv$$$m@v-xc$@vnuc@@cuunxc@$@cvmmzx+_uu_''.                     
                                 '~_nuvcvvczzz@@zvzzcvzmcmv@$$$$mcvuvzcvnuz$$@zuuucm$@mv-`                              
                               ''`_xzm@$$$mvzmnczmmuvcucvmc$$$$$$$@@ccvnvvc$$$mzcu-nzmc_+'                              
                             _nvu__ncmc$$@$mzcuzcnvvunvnumz@$@@$$$$@$czvzzvun_.                                         
                           ..'`+uuxnxnnvzz$@$@vnnuunx--uunzm$$$$$$$$mvu_                                                
                        .+xn_+~_--nvv-xnccuvczvuuzuuvuxnncccm$$c-~'  '..                                                
                     ..''+vuzzmz@munccmvnvnvzmucvzzvuuxuvc@@v+'                                                         
                    .'`~``~_xuccc@@cccm@zzcucuvucmccvuvzv-` '+~                                                         
                   .``~~`+xnuccvzcvcccccc@vvuunvccvvuux+'                                                               
                 .``.'`+_+--vvuzcmczcccucvcvzzczcz@zc-'                                                                 
                ``'.`~-_x-xucczmccvvzcvvcccvcmzzzmmc_`.  +-                                                             
             .'~~''~`~+--ucuzmczmmcvcvvvzcucc@$@mz-`     '                                                              
            __+`'``+++__nvmvczmmmmzzccvvczcm@$$mv-~.                                                                    
          _x+``~+_+_x_nccvvcc@$@mzzvvvvczm$@u_`~++'                                                                     
         -x-_---xnnx-xzmcvvcm@@@@zcuccvz$@zn+.                                                                    .     
        ~----unuuuuczmm@mzcm@$$@@zczccz@@cux_`                                                                          
        xx___xvz@mz@cmmz@zzm$$mmzzzczc$zunuux+'                                                                 +       
       uux___uc$$zcmmcmzzmm$$mccvvczmmcvcvun-+`'                                                                        
      +ux++_xum$cvczmmm@@@$$$mccccczc-`..++'``~~..`                                                                     
      -un_--nvmvnz@mmmzzm@$$$@mczzzc~    ~                                                                              
      nun__nvz@cczzmm@mc@@$$$$$@czc~                                                                              '     
      xvunnucm@@$@mmmmmmm@m@$$$$cc_                                                                                     
       xuxuvm$$$$$@zzmm@m@$$$$@mvx~..                                                                                   
        ~+uzm$$$$mzzm@$@$$$$$$v-n_~`'  .                                                                                
         `xc@$$$@cczm@$$$zuxvx-xnn-~`.                                          '~                                      
           .nm$$$zvuucmn-x--xxxxxuvxn~                                                                                  
               .u_   ~x------xuuvmzx_n+`                                                                                
                      +++~``'''`~~``~+~`'                                                                               
                       ~'.        .`_`