ASCII art
_ ____ ____ ___ ___ _ / \ / ___| / ___|_ _|_ _| __ _ _ __| |_ / _ \ \___ \| | | | | | / _` | '__| __| / ___ \ ___) | |___ | | | | | (_| | | | |_ /_/ \_\____/ \____|___|___| \__,_|_| \__| |
ASCII art, an artistic medium relying primarily on computers for presentation, consists of pictures pieced together from characters (preferably from the 95 printable characters defined by ASCII). They can be created with any text editor, and are often used with free-form languages. Most examples of ASCII art require a fixed-width font (non-proportional font, like on a traditional typewriter) such as courier for presentation.
ASCII art is used wherever text can be more readily printed or transmitted than graphics, or in some cases, where the transmission of pictures is not possible. This includes typewriters, teletypes, non-graphic computer terminals, in early computer networking (e.g., BBSes), e-mail, and Usenet news messages. ASCII art is also used within the source code of computer programs for representation of company or product logos, and flow control or other diagrams. In some cases, the entire source code of a program is a piece of ASCII art - for instance, an entry to one of the earlier Obfuscated C contests is a program that adds numbers, but visually looks like a binary adder drawn in logic ports. Taking the medium to extremes, there exists a video driver for the popular computer game Quake that displays the game in ASCII art. ASCII art is also very commonly used amongst software piracy groups to display group logos inside text (*.nfo) files containing the instructions for installing and cracking the software.
Types and examples of ASCII art
The simplest forms of ASCII art are combinations of two or three characters for expressing emotion in text. Rotate these examples mentally 90 degrees clockwise for a more recognizable orientation of these emoticons:
:-) or :) smile :-( or :( frown ;-) or ;) wink :-P or :p Ha Ha (tongue sticking out) B-) or 8-) cool (sunglasses)
There is another type of one-line ASCII art that doesn't require the mental rotation of pictures:
d O.O b listening to headphones \(^o^)/ yippee (o.~) winking
More complex examples use several lines of text to draw large symbols or more complex figures. Some common examples:
(__) (oo) /-------\/ __ O / | || /o)\ /|\ * ||----|| \(o/ / \ ~~ ~~ Cow Yin/Yang Person
It is popular to put such art in one's signature block to be included in all one's e-mail and Usenet postings.
Some types ignore the particular shape of the characters and use them as more-or-less filled boxes of varying gradients to perform simple dithering:
_a, _yQa. _qTWW( je`?QX: <d+ -3Wm; _qos_s%mWw, a2?????TWW( sd( -?Qm;. .amm; .xmWmc """""` """""""
Another type sometimes seen is creating a word using only one kind of character per letter. For example:
HHHHHH HHHHHH IIIIII !!! HHHH HHHH IIII !!!!! HHHH HHHH IIII !!!!! HHHH HHHH IIII !!!!! HHHHHHHHHHHHHH IIII !!!!! HHHHHHHHHHHHHH IIII !!!!! HHHHHHHHHHHHHH IIII !!! HHHH HHHH IIII HHHH HHHH IIII !!! HHHH HHHH IIII !!!!! HHHHHH HHHHHH IIIIII !!!
One use for ASCII art is to create unique typography, for example:
___ __, ( / ( o _/_ / / __, _ _ `. _ _ , / /_ _/_(_/(_/ /_(/_ (___)/ / /_(_(__/ /_ // (/
The program Figlet (and other programs that support its standard) allow for the design and use of ASCII fonts.
_____ ___ ____ _ _ | ___|_ _/ ___| | ___| |_ | |_ | | | _| |/ _ \ __| | _| | | |_| | | __/ |_ |_| |___\____|_|\___|\__|
An example of what "Amiga-style" (also referred to as "oldschool style") scene ASCII art looks like. This kind of ASCII art is always handmade in a text editor. Some popular editors used to make this kind of ASCII art are CygnusEditor aka CED (Amiga) and EditPlus2 (PC).
______.----------------------------.______ :_) (_: ....|: :|.... : :<> <>: : :···|: :|···: .---+- -:- -:- -+---. /\___ | /\___ /\_____ /\______ /\______ | /\___ _/ / | _/ /___ _/ __ / _/ __ / _/ __ / : _/ / \ __//\ :/\\ _// / \ )/ //\ \ )/ //\ \ )/ //\ /\ \_ //\ _/¯¯ \)¯ \/ ¯¯ __¯ \/¯¯ ¯ ¯¯ \/¯¯ ¯_ ¯¯ \/¯¯ ¯_ ¯¯ \/ ¯)/ ¯¯ \_ \ )/¯ (/ (/ ¯ / /¯¯ / / / _ ¯¯\ \_ /\__/ /\_ /\__/ /\__/ /\_(/ _/ =/ /===/ /==/ /===/ /=©d/ /=:=/ /= ¯¯¯¯¯¯¯¯¯\/: :¯¯¯¯¯¯\/ ¯¯¯¯¯¯\/ ¯¯¯¯¯¯¯\/ ¯¯¯¯¯¯¯¯\/ | ¯¯¯¯¯¯\/ ______.---+- :____ /\_____ : : ________: -+---.______ :_)····· :..... _/ /--+--./\_____.---+---./\___ .....: ·····(_: |: : ..:..\ / : _/ / : _/ / ..:.. : :| <> :.:.: : \ __//\ /\\ __ //\ /\ \_ //\ : :.:.: <> |: :..._/¯¯ \)¯ \/ ¯¯ )/ ¯¯ \/ ¯¯)/ ¯¯ \_...: :| : ____ ____ \ ¯ ¯ / ____ ____ : \_. _\_ \\ //¯¯ _ ¯¯\\ // _/_ ._/ ---· _ \¯ _ \\ \\_ /\_ /\_(/ _// // _ ¯/ _ ·--- /¯· \¯¯¯ ¯\¯¯¯ ¯¯=/ /:=/ /=:=/ /= ¯¯ ¯¯¯/¯ ¯¯¯/ ·¯\ : ¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯\/-+--¯¯¯¯¯¯¯¯\/--+--¯¯¯¯¯¯\/ ¯¯¯¯¯¯ : |: : : :| <> . . <> |: _ . | __ .__.__ .|__ __ . :| :¯)..... __(__|-|(_/_| (| ((__||__)(__)(__|__ .....(¯: ¯¯¯¯¯¯·-----------·-------|----|--|----(/----------(/--·-----------·¯¯¯¯¯¯
Methods for generating ASCII art
Specialized text editors are designed to draw lines, boxes, and filled areas easily. Generating ASCII art algorithmically is straightforward. A good example is this web-based application IMG2TXT. Converting a bitmap to ASCII art is a special case of vector quantization. An example of a generated image, next to the original, is given below:
aaaaaa222222SSSSSS2222222SSSS2a22222SSSSSSSS22aaaaaaaa222222SS222aaaZaaZZZZ 2222aaaaS2222222222222222SS2SS22222SSXXXSSXSSXSSSXXXXXSSXSXXXXXX7XSSSSSSS22 2222222aaaZZa222222a222222SS22a22SSX77rrr777X77XXXSSSSSXSSXSSSXXXSXSS22S222 22a2222aaaaaaa22222aaaZZa2aa2aa2222SSSSXXXSSSSXXXXXXSXSXXSSSSXSSSXX7X22SSS2 22222a222222222222aaaZZZZZaaZaaZZZaaaa2a2SSSSSSSXSXXXXXXXXSX7;..,;20X77XXXS 2SSSSSXSSSSSSSSSSSSSS2222aa2222aaaaaa222222SSX7X777XXXX7r: aMMMMBS7XX7XXX SSSSSSXXSXXSSX7:,::i:.:rXSSSSSS22222a2SSXX7XXX77rr;i, :WMMM@r.,;XSSSSS22 S22a222S2222XirWMMMMMM@a:;XSSXXXSSXXXX77;ii:,,,:...:rX0MMMMZ: ,;XSS2S222222 SSSS22aaa22X,2MMMWWW@@MMM2.:i:,,. ..i7ZB@MMMMMMMMMMMM07 :7SaaaZZaaaaa222 XSXSXXS2S7: rMMZWWWWWWW@MMMB0MMMMMMMMMMMMMMM@WMW@@W@@@@WMMZaZ8888ZZaa2222S2 rrr;77rriXMMMMMWWWWWWWWWWWMMMM@W@M@@@@@@WWWWWBWW@WW@8ZW@MXS0B00088ZZZZaaaa2 ;;iiiii:;ZX;,8MMWWW@@MMMMMMMM@W@WWWWB0@ 08a222SS22aZZZZ2BMir7r MMMMBBWWBBBBWWWWWWMMM0,:;rr7XXXXXX777rr77XX7X77X7X 0WWWBB088888ZZ8ZSZMMM8MMMMM@WWWWBBWW@WWWWWMM2,ir7r7r77XXX77rr;;;rr7XXSS2222 SSSaaaZZZaaa22222X;rWMMMMWWWWWWWWWWWWWWWWWMB;r77XXXXS2222SSX77rr;rr7XXX2aZa SSSSSSXXXXX7XXXX777;. XWMMM@WW@@@@WWWWWWMMM22a22222222222SSXX7rrrrrr7XXSSSS 2222SXXXX7XXX7XXXXXX7ri i0M@@MWMMMMM@MMMBZZ0B000000088ZZZZZZZZZaaa22SSSSXS 22aaZZ8Z888808888ZZZZaa2X:MZMMW ..78WMMZrXSSS2222aaaaaZZZZZZZZaZaaa222SS2SS 2SXXSS22aaZ880000BBBBB088S2BWMMXaX7 ;Mii7rr;;;i;;;;;;;rr777r7r7r7rrr7rr77XX 888ZZZZa2SSX77XXSSXSSSSS2SX7 8SrXMr;XX77r77rrrr;;;;;rrrr77r7r7rrrr;rr;i; Z8088ZZZZZZ22SSSSSXX7777rrrXai 7270Mr72aZZZZ888888888ZZZaSSXSXSSSX7r;i::;rS aaaSS2222aaaaaaZaZZZ888888Z88M; .MMrrSSXXXS2aaa2aaaa2S77rrrr777X77XXX2a888Z XXX7X77rrr7XXS222222aZZZ8ZZa7@2: 7M,;;;;iiii::,::,,...,:,.,::i;r;rr7X2ZZa22 XXr;ii::iiii;r777rrr7ri::iir,M,S MMZXS2Zaaa22SXX77777XS222222aaa2SXX777r7XX X77r;rr7XXXSSSSSXS22XrrXSa80Z080, 2Z8aaaZZ880BBWWWWWWWWWWWWWW@WWWWWB08ZZZZ i,:iirrrrr7rrrrr7a:;MMM@WBB0000WMW i8Z22aaa8Z888Z888000BBB88ZZZZ0BBW@MMMMB 822SXXaZa2XX77777Z rMM@8Z880BMM: :XBZaaa22222ZZZZZaa222XXXXXXXXXXXS2aZZ2 8WaSSr77XX2Z0@@@WMMX 7MM@0ZZZ:M2 ;0Z8aSX7r;7XaZaS77r;rXX2aa2SSXXXSSX7r; ;;7X;:ii.:..7SZ8BWZ; ;2S77 XB SiX;;rrr;ii;i::,::;r;7X;iii::,,.... , 282X, ..2a8W8Sr.,;a8WMMM@, 2BMW22@. 72a22S22a2aZZ8082;i;:,:iir7XSSXriii ,:SZ,7. i:i . ;.,.i7rSWMMMr ,2B0iM ,8SSSSXrr7777XXS22a2aZZ8880ZSXX280 . rZMZS8 r:.7 ri , ;08Z r8SBZ :;X7SaZ80Z227r:... .,. ,ir7X2 BBZZX7;2;.a8XSSr8000Z@MMMMW0082i ;8WX:70SMSSaa:iii;;rXX7X0MM@BB0Za2S77rr7rX
Another method is to sample the image down to grayscale with less than 8-bit precision, and then assign a character for each value, as some online ASCII converters do (see external links below).
In the 1970s and early 1980s it was popular to produce a kind of ASCII art that relied on overprinting — the overall darkness of a particular character space dependent on how many characters, as well as the choice of character, printed in a particular place. Thanks to the increased granularity of tone, photographs were often converted to this type of printout. Even daisy wheel printers could be used. The technique has fallen from popularity since all cheap printers can easily print photographs, and a normal text file (or an e-mail message or Usenet posting) cannot represent overprinted text. However, something similar has emerged to replace it: shaded or colored ASCII art, using ANSI video terminal markup or HTML to add a bit more tone variation.
Animated ASCII art is possible by embedding video terminal escape sequences such as ANSI X3.64 for cursor movement into the "picture".
See also
Further reading
- Danet, Brenda. Cyberpl@y: Communicating Online. Oxford, UK: Berg, 2001. ISBN 1-85973-424-3.
- Riddell, Alan, ed. Typewriter Art. London, UK: London Magazine Editions (LME), 1975. ISBN 900-626-99-2.
- Roemer, Madge. Fun With Your Typewriter. Indian Hills, CO, USA: The Falcon's Wing Press, 1956. LCCN 56-13336.
External links
ASCII art editors
Editors created solely for the purpose of creating hand-made ASCII art.
- ACiDDraw 1.25r The leading ANSI and ASCII art editor for IBM PC DOS
- ASCII Art Studio 2.11 for Windows Shareware (30-day trial); allows freehand line-art illustration using the mouse
- PabloDraw for Windows Freeware; features a revolutionary peer-to-peer "joint editing" mode
- TundraDraw A cross-platform ANSI and ASCII editor for Microsoft Windows and X environments. Source code available.
- Email Effects ASCII art editor for Mac and Windows, also converts pictures and supports FIGlet fonts.
- JavE Freeware; A java ASCII editor with standard Photoshop-style tools, image conversion, FIGlet support, math formulas editor and a lot of other features. Requires Java virtual machine.
- Open Directory Project: List of ASCII art editors
- ASCIIart.net list of editors A comprehensive list of ASCII editors for DOS and Windows with informative reviews on each one
ASCII art generators
Tools which convert bitmapped images to ASCII text or otherwise automatically generate ASCII art with a minimal degree of human interaction.
- [1] A simple Art-to-ASCII generator.
- AA-lib A portable library which converts high-resolution images or video down to ASCII text images or 'video.'
- Alternates ASCII Artist A tiny open-source ASCII Art Generator written in C++ .
- ASCII Generator Online; generates ASCII art text in a variety of fonts.
- ASCII Signature Generator Figlet Server - Online Ascii Art Signature Generator
- ASCII Stereogram Image Generator Online; generates free ASCII stereograms
- ASCII Stereogram Movie Generator Online; generates free ASCII stereogram movies!
- ASCii.art 0.4 Freeware; An image bitmap to ASCII text converter. Supports conversion to colored ASCII using HTML color tags and features multiple image resize capabilities.
- ASCII Generator Freeware; A 32-bit Windows program that converts a large variety of images to ASCII art.
- Boxes GNU GPL; Draws ASCII art boxes around text. Useful for programmers.
- Figlet text generator FIGlet font generator
- DanDirectory Freeware; A tool with heaps of features including an in-built HTML ASCII Generator
- IMG2ASCII GNU GPL; Transforms JPG or PNG images to Unicode or ASCII text online.
- JASCiiArt 0.1 Freeware; Java Ascii Art generator for Windows, Linux, Mac OS. Reads BMP, GIF, JPG and PNG files and is able to generate HTML, RTF, TXT, BMP, PNG, JPG output ascii art.
- Pic2ASCII Freeware; Transforms bitmaps to text (even analyzes symbol fonts)
- png2mirc Public domain; converts PNG images to coloured mIRC ASCII art.
- Online JPG to ASCII converter
- Another online ASCII generator
ASCII art groups
ASCII art groups are defined as organized bodies of people dedicated to the purpose of creating ASCII text based artwork.
- 123
- Chemical Reaction
- Galza ASCII artists which predominantly make use of the IBM-PC Russian ASCII codepage
- Impure ASCII [2]
- The K5 ASCII reenactment players
- The lo0p Polish ASCII art group
- Mimic ASCII [3]
- Pen15: It's pronounced "Pen Fifteen"
- Remorse ASCII [4]
- Superior Art Creations
- alt.ascii-art, a Usenet newsgroup.
ASCII artscene portals
- Boondocks - ASCII Scene Forums for PC and Amiga
- Downmix - ASCII, ANSI, & Hires Scene News & Releases
- Thuglife.org - ASCII Scene News, Releases, and Forum
Other links
- History of ASCII (Text) Art by Joan Stark (Mirror)
- ASCII Art Drawing Tutorials
- ASCII Arts Ring and Directory
- Star Wars (a 22-minute long ASCIImation movie: requires Java)
- telnet://towel.blinkenlights.nl (telnet version of the Star Wars movie)
- The.Matrix-ASCII The original Matrix film converted to ASCII animation (DVD ISO)
- More ascii art movies
- Japanese ASCII Art: requires Japanese font (available free from Windows/IE update, for Windows users)
- How to draw Mona-style AA (in Japanese)
- Illustrating software design using UnifiedModelingLanguage is discussed
- An ASCII art archive
- ASCII art cow collection
- ASCII Art Farts
- Actors' and musicians' portraits rendered in ASCII
- www.nerd-boy.net Nerd Boy, an ASCII comic strip by Joaquim Gandara.
- ASCII art dictionary Huge collection by Andreas Freise sorted by words (topics).
- ASCII art gallery by Joan Stark
- ASCII art by Sebastian Stoecker
- The ORIGINAL Ascii Airplane Collection
- Colin The Owl Several cartoons including Colin The Owl, Derren Brown's School Days, and ASCII 'interpretations' of classic video games.
- ҈ Unicode art - an extended ASCII art form ҈