DiamonDie's ASCII art tutorial

Table of contents

1 Introduction
2 Types of ASCII art
  2.1 Lineart
  2.2 Solid
  2.3 Grayscale
  2.4 Camelized
  2.5 Others
3 Drawing ASCII art
  3.1 Starting out
  3.2 Lineart
  3.3 Solid art
  3.4 Grayscale
  3.5 Antialiasing
  3.6 Tracing
  3.7 Aspect ratio
  3.8 Difficulties and limitations
  3.9 Perspective, 3D and isometric ASCII
  3.10 Textures and materials
  3.11 Lighting and shadow
  3.12 Uses for different characters
4 Fixed-width fonts
    4.1 Courier New
    4.2 DOS font
    4.3 Topaz New
    4.4 Lucida Console
    4.5 Fixedsys
    4.6 Arial Alternative
    4.7 MS Gothic
    4.8 Andale Mono (aka Monotype.com)
5 ASCII art software
   5.1 JavE
   5.2 FIGlet
   5.3 TheDraw/Aciddraw
   5.4 Acidview
   5.5 PabloDraw
6 Other stuff
  6.1 ASCII map
  6.2 Displaying ASCII art on web pages
  6.3 Coloring ASCII art
  6.4 Demoscene ASCII art
  6.5 ASCII art culture and etiquette

1 Introduction

ASCII is an acronym of "American Standard Code for Information Interchange". ASCII art means art made out of different characters in the ASCII map and can thus be represented in plain text format. It cannot include extended characters or text formatting such as bold or italics. ASCII art is always done on a fixed-width font like Courier New or Fixedsys, never on a proportional font like Arial or Times New Roman. It can be made in Notepad or MS-DOS Edit, but there are also some specific programs for making ASCII art. And no, I'm not talking about ASCII converters.

People often comment on ASCII art by saying "Wow, that is so amazing, I'd never have the patience to make something like that". I don't get it. Why do they think ASCII art requires so much patience? I can make a decent fullscreen ASCII in an hour (even if it sometimes takes ten hours). It takes me at least fifteen hours to draw a decent fullscreen CG picture.

ASCII art isn't easy and it does require skill, but you don't have to care about things like brush strokes or colors and usually not about shading either. In a way it is a lot like pixel art. When I started pixeling it felt very familiar due to my ASCII and ANSI experience. Pixel artists will probably experience a similar reaction when they start drawing ASCII. You don't have to have great drawing skills to be a good ASCII artist. I, for instance, suck at drawing, I can paint but I can't do the sketch like thing at all. ASCII sketching is practically something non-existant, but if this interests you, nothing stops you from trying this new style.

Some people wonder what's the point. What's the point in making art in general? I think limitations are what makes art interesting and feeds the creative mind. ASCII art probably isn't something that you encounter in an art museum (which is regrettable), it's more like everyday art. I guess it has something in common with pop art. ASCII art can be sent via email or to Usenet newsgroups, it can be used on IRC and many chatrooms (do that with caution, though). You can include ASCII art in your signature or login screen or print it out with your old matrix printer. It can be used for representing game situations, graphs or molecular models.

I've heard opinions of ASCII art not being art but graphical design, but I disagree with that. Design is usually considered to be something functional, such as advertisements or interfaces, while visual art is something you can hang on your walls. ASCII art usually isn't functional but aesthetical. I know people who have ASCII pictures hanging on their walls.

There are other ASCII tutorials, but I decided there's still room for another one. Many of the others are outdated, some are even more than 10 years old. They also feature slightly different techniques and lack some of the parts that my tutorial focuses on. This turned out perhaps more like a ASCII drawing/culture FAQ than an actual tutorial, but I hope it will still be useful.

2 Types of ASCII art

2.1 Lineart

Lineart is just what its name implies, things are represented with (usually thin) outlines, sometimes dotty, sometimes consisting mostly of slashes, underscores and pipes. Lineart also includes most FIGlet fonts and demoscene logos. Suitable for both huge images and tiny pictures.

            .-"""-.
' \
|,. ,-. |
|()L( ()| |
|,' `".| |
|.___.',| `
.j `--"' ` `.
/ ' ' \
/ / ` `.
/ / ` .
/ / l |
. , | |
,"`. .| |
_.' ``. | `..-'l
| `.`, | `.
| `. __.j )
|__ |--""___| ,-'
`"--...,+"""" `._,.-' mh

Penguin by DiamonDie (2002?)

2.2 Solid

Solid art is the "opposite" of lineart, it's not outlined but filled and flat-shaded. It's often best fit on mid-sized and large pictures, though it can also work for small pieces, such as the heart here. Often it looks better than lineart, simply for the fact that it's not as "thin". Solid art is often used for logos, ornament designs and text, but it fits almost any kind of subject. It's not very well suited for faces though.

  ,o8o, ,o8o,
,888888,888888,
888888888888888
888888888888888
`8888888888888'
`888888888'
`88888'
`8'

Heart by DiamonDie (1997)

2.3 Grayscale

Grayscale is like solid art, but it consists of many different characters that are used to portrays lighter and darker areas, making it the most suitable kind of ASCII for picturing faces. It is usually best viewed white on black, such as the example below (people using most graphical browsers can select it with a mouse or press Ctrl-A to see it in inverse color). Most converters create grayscale art, though rather messy kind with often no antialiasing. Grayscale could be considered the most difficult of all ASCII techniques.

                           .,,,yyyy@@yyyyy,,,                                  
,ytS$$CCCCCCCCCCCCCCC?III;,.
.yt$$$$$$$$CCCCCCCCCCCCCCCCIIIIII;.
,4$$$$$$$$$$$$$$SCCCCCCCCCCCCCCC?IIIII;
y$$$$$$$$$$$$$$$$$$$$CCCCCCCCCCCCCCCIIII,
,$$$$$$$$$$$$$$$$$$$$$$$$CCCCCCCCCCCCCCIIII:
l$$$$$$$$$$$$$$$$$$$$$$$$$$$CCCCCCCCCCCCIIIIi
t$$$$$$$$$$$$$$$$$$$$$$$$$$$$CCCCCCCCCCCCIIII:
.l$$$$$$$$$$$$$$$$$$$$$$$$$$$SCCCCCCCCCCCCCIIII, i
d$$$$$$$$$$$$$$$$$$$$$$$$$$$SCCCCCCCCCCCCCIIIII. ;I,
$$$$$$$$$$$$$$$$$$$$$$$$$$SSCCCCCCCCCCCCCIIIIIII .III
j$$$$$$$$$$$$$$$$$$$$$$$$$SSCCCCCCCCCCCCCCIIIIIIIi.II;
]$$$$$$$$$$$$$$$$$$$$P"' `"^?CCCCCCCCCCIIIIIIIIIIIII
l$$$$$$$$$$$$$$$$P"'' .,.. `;?CCCCCCC?IIIIIIIIII; .y%*
l$$$$$$$$$$$$SP" ,yS$$$$$$Shy..`"IICCCCCCII: :: 4C7; \
$$$$$$$$$$$SP. .;;$$$SCCCCCSSCCCCSb: ICCCCCCCII; '' liC$ClCC;;l
$$$$$$$$$$$$I::lIIIICCSSSSSSCCCCCCCCCCIICCCCCCCI ICCC$lCC??;b
P"^^^48$$$$$$SSIII' `Ii : y,"ICCCS$SCCCCCCCCCCI ICl"l "7SSbl.
: l$$8888II66 ,?$b,yySIIICC$$$$$$$$SCCCCCCCI ?CCb l JCC$il
: . ,$$$$$$CCCC$$$$$$$$$$$$$$$$$$$$$$$$$CCCCCCI ICS$li$$SCC?l
`SS",+.$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$CCCCCCI !?S$ ;I$$SCCP
"' : S$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$CCCCCCI ICSCS$$$$$I
;:6$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$CCCCCCI `?C$$$$P
`$$$$$$$$$$S$$$$$$$$$$$$$$$$$$$$$$$$$$$CCCCCCI `""""'
j$$$$$$$$$SCCS$$$$$$$$$$$$$$$$$$$$$$$$$CCCCCI
$$$$$$$$$$$$$CI$$$$$$$$$$$$$$$$$$$$$$$SCCCCCI;
j$$$$$$$$$$SS$CI$$$$$$$$$$$$$$$$$$$$$$SSCCCCCIi
7$$$$T7"`,yyiIIC$$$$$$$$$$$$$$$$$$$$$SSSSCCCC?i
"4$SC**7"""-:47$$$$$$$$$$$$$$$$$$$$$SSSSCCCCCI
7I . ,';' ";7ICS$$$$$$$$$C$S$$$$$CCCCl
: jy.,jyyjCCCCi ..i."7C$$$$$$C$CS$S$$$SCCC?' ;
: d$$$$CCC7?"""""?7CiiCS$$$$SCCCC$S$$$$CCCC; i,
.CC,]CCSSSCCSCCCIiIiICS$$$SSCCCCS$$$$SCC? .|
:`j$$$$$$$$SCCCC$$$CICS$$SCCCCCCCC$CC?; iI.
:l$$$$$$$CCCCCS$$$$C?iCCCCCCCCC7"'., .iII,
:C?"~~ ,CCC$$$IiIiCCCCCCC? ' ,IIIII
:$7 ,_,jS$$$$CIiIi?iCCC?? iI?CCCII
.; :;i:;;?S???iiIiIi?i' iII?CCCCCII.
; ';' ?lCi??i;i;; iI?CCCCCCCCIIi
: ;? ;I" iIIICCSCCCCCCCCIIl
; .,iiI?CCCC$$$$$SSCCCCCCIi I, II;
'. _,. ,i,IIII?CCCCCS$$$$$$SSSCCCCIIIIIIIII'
' ~ + =- - ' ~ ` SCCIIIIII???CCCCS$$$$$$$$$$$SCCCCCCC?I"
l$$CCCCCCCCCCCCS$$$$$$$$$$$$$$$$SCCC"`

It Figures by `nemoorange

2.4 Camelized

Camelized ASCII art isn't very popular, even though it already appeared in the book Alice in Wonderland. It is usually poetry (sometimes prose) made into the shape of an object, often an animal. There are a couple of different techniques for making the shapes. Some people use extra spacing to achieve lines of required length, others wrap words from the middle or use extra characters. JavE has a feature for camelized ASCII.

2.5 Others

There are variations of the previously listed styles, such as combination of solid and lineart (my favorite type of ASCII), "solid lineart" (made out of heavy outlines in solid style) and tiny ASCII, such as smileys and other very small pictures. ASCII animations are made for terminals or nowadays usually in JavaScript, they can be made in any of these styles, but are usually in lineart. There are also ASCII stereograms and many other wicked things. Some people list lettering, signature art, illustrated stories and 3D as their own genres, but they're usually just variations of line art (sometimes solid or grayscale).

Things that can be erroneously believed to be ASCII art include Shift_JIS art (text art using Japanese characters), typographic pictures, AOL macros (made in Arial font and often including extended characters), ANSI and most of demoscene "ASCII art". Another thing that definitely isn't ASCII art is those horrid HTML conversions that are usually composed of 1s and 0s and would have absolutely no shape with the color removed. These are sometimes called "text art" or "character art", even though both terms can be considered slightly misleading. I don't believe using a converter without any editing is really creating ASCII art. It's image manipulation.

People sometimes confuse ASCII and ANSI and call either of them "ANSII". What ANSI really is could be described as an extension to ASCII, allowing the use of extended MS-DOS characters (such as so called "raster blocks") and 16 colors. It was commonly used in the BBS (Bulletin Board system) world, but many people still keep drawing ANSI pictures, even though MS-DOS is hardly used any more and the Internet has largely killed off BBSes.

3. Drawing ASCII art

3.1 Starting out

Start up JavE or your favorite text editor. Think about what you want to draw and what could be a good subject for your first ASCII. Try not to pick anything too difficult, such as celebrities. Many people choose a house as their first picture, but I think it's a little boring subject. Others attempt a face, but that's  much harder. Animals, plants and household objects often turn out to be a good choice. You can either draw a single object or a scene, like a house, a tree and some birds.

A reference picture may be helpful. You could also use a technique called tracing which is explained later. Looking at other people's ASCIIs is just as important as drawing your own, because you'll learn a lot of different techniques just by looking at ASCII art. How do people achieve slanted lines, how do they make fur look like fur and what's the secret of smooth curves?

Also remember the rules of normal art, like that eyes are located in the middle of the head, not on the top. People are about 7-8 heads tall, unless you're drawing a comic character. Houses usually aren't placed on top of the ground, but on the ground. Perspective really improves pictures of cubic objects. A house or a box without a perspective is pretty much just a rectangle, not very interesting.

3.2 Lineart

Lineart is a good choice for an ASCII beginner. It might be a good idea to do a rough "sketch" first. Draw the outline of your object and see if it bears any resemblance to your model. Try to avoid using only straight lines and slashes, that makes your picture look dull and awkward. Instead try commas, periods, hyphens and apostrophes. It might be a good idea to sketch with periods first and then change some of them to colons or semicolons, some to apostrophes and then extend that.

Forget about shading, reflections and stuff like that. Try using as many different characters as you can without getting silly results. You can get more detail with lineart than with solid technique, but you still might have to give up some for a better result. If you're drawing a face, you don't have to draw every single wrinkle and you might skip the eyelashes too.

3.3 Solid art

Not many people start out with solid ASCII, but nothing says you can't do that. Filled pictures are no harder to make than outlined ones, it just doesn't fit for houses and faces very well. It's usually a good idea not to use outlines with solid art. Some people use a different character for every area of the picture, but I think it's better to stick with one or a few filler characters. Antialiasing is very important in solid art.

3.4 Grayscale

Grayscale ASCII is difficult to draw, not recommended for beginners, even though I know people who have started off with it with fine results. You need a good eye for light and shadow and a good reference photo is a must, you may want to increase the contrast of it. Picking the right set of characters is crucial, remember that the "lightness" of some characters varies greatly between fonts. Take a look at existing grayscale ASCII art or even converted pictures to get inspiration for good character sets. Don't start out too small, 80x25 is probably the minimum you want to attempt and 80x50 is better.

3.5 Antialiasing

Antialiasing doesn't really apply for lineart the same way it applies for solid and grayscale, but I think smooth edges are one of the most important things in a solid ASCII picture (unless you're aiming for a different impression). Often grayscale is drawn without any empty spaces in the picture, but sometimes without a background and that's when you really need antialiasing.

Simple antialiasing is actually very easy to do and can often be achieved with periods/commas and apostrophes/accents/quotation marks alone. Just add these when there's a rough corner and it looks much better. Sometimes you may want to use more characters. I use d, b and n (sometimes m) for the upper parts of objects and + for lower parts, the plus doesn't look too good, but it's the best I've found. q and p can be used to match d and b, but they hang lower. P is better, but it has no equivalent for the left side. Demoscene artists often use a wider variety of antialiasing characters, such as 7, 4, \, / and %.

    88888
88888888888
8888888888888
8888888888888
8888888888888
88888888888
88888

A filled circle without antialiasing

.nd888bn.
.d888888888b.
8888888888888
8888888888888
8888888888888
`+888888888+'
`"+888+"'

The same circle with antialiasing

3.6 Tracing

In the ancient times, people sometimes drew/copied the picture on a transparency first, which they taped on the screen to be able to trace the image as well as possible. I used this technique once, when I needed to make an ASCII out of a map and first I traced the picture from a book, but I didn't have a transparency so I used a plastic bag, perhaps needless to say the results weren't excellent.

When Netscape Composer came out, some people figured out that they could just set the image file as the page background and draw over it. Now we have JavE, which has a particular function just for this, you can set the display size and aspect ratio of the image file and apply some brightness/contrast tweaks.

3.7 Aspect ratio

Aspect ratio is something to pay attention to, particularly because of the differences between the fonts. Practically all fonts are taller than they're wide, so a picture of 10 lines and 10 columns probably won't look rectangular. Fixed-width fonts in general are of roughly the same width, but Topaz New is considerably more narrow, while Courier and its descendants are very fat. Most people have their web browsers set to use Courier, so some pictures may look unneededly fat, but this is partly unavoidable. Just pay attention to this if you're drawing ASCII for a particular purpose or if you're using Courier or Topaz to draw. One way to solve this is not to draw pictures that are supposed to be exactly circular or square and a different angle can help too. One of my ASCII pictures looks just fine in both 80x25 and 80x50 fullscreen resolutions, even though the 80x50 font is twice as wide.

3.8 Difficulties and limitations

Some things are very hard to do in ASCII, some of these are obvious and some not so obvious. Slanted, almost vertical lines are very hard and usually end up looking stupid, so it's a good idea to avoid them whenever possible. Completely straight vertical lines are often better. The same problem doesn't apply for slanted horizontal lines at all, those are very easy to do once you learn to use different characters correctly.

Things with a high resolution/detail are also hard, things like small spirals. That's why you sometimes need to drop the detail (or draw the picture in a bigger resolution). You also can't properly represent blurriness or softness, or at least that's extremely difficult. You can do some optical illusions in ASCII,  such as stereograms. Magic eye pictures are probably not possible, excluding very high resolutions.

3.9 Perspective, 3D and isometric ASCII

Some ASCII pictures feature a perspective, but it's often a very simple one and limited to lines. In a way, a lot of ASCII art could be called naivistic. Even a simple perspective improves the picture, though. A good way for creating a perspective is drawing the lines so that they would continue to this imaginary perspective point, which can be located in the middle of the picture or elsewhere. Isometric ASCII art exists too. JavE has a feature that can render 3D shapes in ASCII art, as wireframes or with a simple lighting.

.:.
.::'.
: : : '.
.' : : '.
.' : : '.
: : : '.
.: : : :
.' : : '.
.' : : :
: : : '.
.' : : '.
.' : ...:. '.
: ......::''''' '''... '.
':'' : '''... '.
'. : ''':.
'. : ...'''
'. : ...'''
'. : ...''''
'. : ...'''
':.'''

A wireframe pyramid by JavE

4.0 Textures and materials

Textures and materials aren't commonly seen in ASCII art, if you don't count brick walls and hair. Plastic, metal, wood and skin all look alike in ASCII. Hairy and spiky textures can be done and often artists use different kinds of characters for different areas, like dots for clouds and lines for more solid objects. Experimenting with textures can lead to interesting results.

4.1 Lighting and shadow

Light isn't usually present in ASCII pictures, with the exception of grayscale. Reflections sometimes work, but normal shadows often end up looking clumsy. Some artists use slight shading in their line art, usually with periods and colons. It might a good idea to forget about highlights when drawing eyes (and perhaps hair too). Just pretend that the ASCII world lives in ambient lighting without separate light sources.

4.2 Uses for different characters

!   used sometimes in lineart and solid style, but the character is very thin in some fonts and fat in some others
>  sometimes useful for lineart, but the angle varies
#    used sometimes as the filler character in solid style, not often used in lineart except for tiny images
$    a common filler character (especially in demoscene art) and common in grayscale as well, but the brightness of this characters varies in different fonts
%    I've seen it used as a filler too, but the looks it vary a lot as well, especially between DOS and Windows
&    not commonly used due to its problematic shape
'    used for all styles, the only problem is that sometimes it is a tiny straight line, sometimes more like a little slash
(    used for lineart, sometimes solid style too, the plumpiness varies a bit
)    -"-
*    used in line art and solid, but be wary as the size and placement of this character varies a lot, so it's usually not a good filler
+    not so common in line art, but I love using it in solid art because it's the only mid-sized character that doesn't reach to the bottom of the line
,    used in all styles, sometimes located higher than the period, sometimes not
-    used in most styles, has no problems associated with it
.    used in all styles
/    used mostly in lineart, the slantedness varies (especially between DOS and Windows)
0    not commonly used, the problem is that sometimes it's struck through, sometimes not, O is better
1    not commonly used
2    not commonly used
3    not commonly used
4    not commonly used
5    not commonly used
6    used in solid style, sometimes grayscale and lineart, useful for little eyes
7    useful for some shapes of lineart, sometimes solid style too
8    a great filler for solid style, not much used in lineart
9    used in solid style, sometimes grayscale and lineart, useful for little eyes
:    useful for lineart and the edges of solid style
;    useful for lineart and the edges of solid style
<    sometimes useful for lineart, but the angle varies
=    sometimes used for lines
>    sometimes useful for lineart, but the angle varies
?    mostly used in lineart
@    useful as a solid filler and often for lineart too, especially the eyes. Shape varies, but usually that doesn't cause problems
A    useful for angular shapes, sometimes has serif though
B    not commonly used, sometimes seen as a solid filler
C    useful for lineart in eyes, noses and stuff like that, sometimes seen as a solid filler
D    sometimes used in lineart
E   not commonly used
F    used in vertical lines in some line art styles
G   not commonly used
H   sometimes seen as a solid filler
I    sometimes used for vertical lines, but remember that it may be serif and thus look awkward
J    used in slanted vertical lines in some line art styles
K   used in slanted vertical lines in some line art styles
L   used for angles and sometimes in vertical lines
M   common solid style filler together with its lighter version N
N   common solid style filler together with M
O    usually the best choice for small round shapes, sometimes used in solid style
P    good for antialiasing solid style
Q   sometimes used for eyes
R   not commonly used
S    sometimes used as a solid style filler
T   sometimes used in lineart
U   sometimes used in lineart
V    used in connecting two diagonal lines, something that doesn't look too good in all fonts
W    common solid style filler
X    sometimes used as a solid style filler or for connecting diagonal lines
Y    used in connecting diagonal lines and in some styles also for vertical lines and other things
Z   not commonly used
a    sometimes used as eyes or as a solid style antialiaser
b    good for solid antialiasing (the pair is d)
c   sometimes used as eyes/noses or as a solid style antialiaser
d   a common solid style antialiaser
e   sometimes used as eyes or as a solid style antialiaser
f    sometimes used for slanted vertical lines
g   not commonly used
h    sometimes used as a solid style filler or antialiasing
i   not commonly used
j    useful for slanted vertical lines, sometimes antialiasing too
k   used in slanted vertical lines in some line art styles
l   for vertical lines in lineart, sometimes solid antialiasing too
m    good for solid antialiasing
n    good for solid antialiasing
o   for lineart and solid antialiasing
p    good for solid antialiasing (the pair is q), sometimes P is better even though it doesn't have a symmetric pair
r   sometimes used in lineart
s    sometimes used for solid antialiasing
t   sometimes used in lineart
u   sometimes used in lineart
v   sometimes used in lineart, though might suffer from the same problem as V
w    sometimes used for solid antialiasing.
x   for connecting lines in lineart
z   not commonly used

4 Fixed-width fonts

ASCII art needs to be viewed on a fixed-width font. The fonts have differences, so even though it's not a good idea to "optimize" your picture for a particular font, it's completely ok to say "best viewed with a Lucida Console, preferably a small font size and white on black". Most of the fonts I list are free of cost and TrueType/OpenType, usable on eg. Windows, Linux and Macintosh. There are also other choices for other operating systems, commercial font faces and several fonts that can only be acquired with a particular piece of software.

4.1 Courier New

Courier New is the font that looks like a typewriter. It's very wide, which can sometimes cause problems. It's not particularly aesthetical either. Most people use it as their fixed-width font for web browsing.

4.2 MS-DOS font

The 80x25 DOS font is cool, especially for solid art, or maybe it's just the white on black. The 80x50 one is less cool.

4.3 Topaz New

Topaz is the font used by the operating system of the Amiga computer and Topaz New is a TrueType version of it. It's very narrow, but quite thick and well suited for ASCII art. You can download it on the Internet.

4.4 Lucida Console

Lucida Console was introduced in Windows 98 and is nowadays the default font in Notepad. It's an ordinary sans serif font, quite decent, but may have unpleasant effects on some pictures (especially grayscale).

4.5 Fixedsys

Fixedsys is a nice sans serif font that used to be the default for Notepad. Many people use it as their ASCII viewing font and it definitely isn't bad for that. Fixedsys is a bitmap font so some Windows programs might not allow you use it.

4.6 Arial Alternative

Arial Alternative looks like Courier bred with Arial, resulting in a wide, relatively thick sans serif font, not exactly my cup of tea.

4.7 MS Gothic

MS Gothic has nothing to do with slitting wrists, it's actually meant for displaying Japanese. It is sans serif and looks quite ok, but I'm not sure if it's worth getting and installing just for ASCII art, as the file size is a whopping four megabytes.

4.8 Andale Mono (aka Monotype.com)

Andale Mono is actually a commercial font, but it was apparently bundled with some versions of Internet Explorer. This is a fixed-width font that actually looks stylish, even though it might not be the best one for viewing ASCII art.

5 ASCII art software

5.1 JavE

Jave is the Photoshop of the ASCII world, but unlike Photoshop, it's free software. It's also multiplatform because it runs on Java, so you need to download the Java runtimes to get it to work. JavE offers many kinds of painting modes, gradients, textures and brushes. Naturally it also gives you the ability to copy and paste rectangles, flip and mirror pictures and. JavE also contains a a watermark option, a picture to ASCII converter, camelizer, an ASCII 3D modeller, FIGlet and many other features. You can even make ASCII animations with it.

5.2 FIGlet

FIGlet is a derivative of the Unix program "banner" which was meant for the automated creation of crude ASCII art text logos. There are hundreds of different FIGlet fonts available, from handwriting to 3D letters. FIGlet files are plain text with some special markup for the program, so they're quite easy to make. You can also use JavE for creating FIGlet fonts.

 88888888b oo          dP            dP
88 88 88
a88aaaa dP .d8888b. 88 .d8888b. d8888P
88 88 88' `88 88 88ooood8 88
88 88 88. .88 88 88. ... 88
dP dP `8888P88 dP `88888P' dP
.88
d8888P

___ ___ ___ ___ ___ ___
/\ \ /\ \ /\ \ /\__\ /\ \ /\ \
/::\ \ _\:\ \ /::\ \ /:/ / /::\ \ \:\ \
/::\:\__\ /\/::\__\ /:/\:\__\ /:/__/ /::\:\__\ /::\__\
\/\:\/__/ \::/\/__/ \:\:\/__/ \:\ \ \:\:\/ / /:/\/__/
\/__/ \:\__\ \::/ / \:\__\ \:\/ / \/__/
\/__/ \/__/ \/__/ \/__/

Some examples of FIGlet fonts

5.3 TheDraw/ACiDDraw

TheDraw is an MS-DOS based application meant for drawing ASCII and ANSI, originating from the mid-80s.  It can be operated with a mouse, but the menus and commands are executed with the keyboard. It's fairly easy to use once you learn it and you probably won't forget them any time soon. It also features a VGA mode where you can zoom out your picture.

ACiDDraw is an improved version by TheDraw made by the legendary artgroup ACiD. I drew ASCII and ANSI with it for years and occasionally still do. Some computers have problems with running ACiDDraw, which can cause runtime errors or freezing of the program. In Windows tweaking the settings of the program often help.

5.4 ACiDView

ACiDView is a freeware Windows program, also by ACiD. It's used for viewing ASCII and ANSI files in several resolutions and can also save them as PNG, which comes in handy. There are no drawing functions.

5.5 PabloDraw

PabloDraw is another popular ANSI/ASCII editor for MS-DOS Windows, somewhat similar to ACiDDraw. I personally have no experience using it, but PabloDraw's support for multiuser drawing on the Internet is definitely an interesting feature. There's also a viewer companion to it, known as PabloView.

6 Other stuff

6.1 ASCII map

    032 [space] 048 0   064 @   080 P   096 `   112 p
033 ! 049 1 065 A 081 Q 097 a 113 q
034 " 050 2 066 B 082 R 098 b 114 r
035 # 051 3 067 C 083 S 099 c 115 s
036 $ 052 4 068 D 084 T 100 d 116 t
037 % 053 5 069 E 085 U 101 e 117 u
038 & 054 6 070 F 086 V 102 f 118 v
039 ' 055 7 071 G 087 W 103 g 119 w
040 ( 056 8 072 H 088 X 104 h 120 x
041 ) 057 9 073 I 089 Y 105 i 121 y
042 * 058 : 074 J 090 Z 106 j 122 z
043 + 059 ; 075 K 091 [ 107 k 123 {
044 , 060 < 076 L 092 \ 108 l 124 |
045 - 061 = 077 M 093 ] 109 m 125 }

6.2 Displaying ASCII art on web pages

If you want to showcase ASCII art on your web page, you can just save the images as text files and link to them. The problem with this is that if you draw loads of small pictures, you will have hundreds of files as well. Some older versions of Internet Explorer (and possibly some other browsers) might show your art in proportional font.

When embedding your art into HTML pages, always remember the <pre> tags, which tell the browser that the text is already formatted and should be displayed in a fixed-width font. You can use CSS to determine the particular font, provided that the viewer has it.

6.3 Coloring ASCII art

With HTML you can also color your ASCII pictures, but this is a tedious job to do by hand and you can use an HTML editor for it.

Other ways for coloring ASCII art include ANSI colors and mIRC colors. Both of these contain 16 foreground colors. MIRC also has as many background colors, while ANSI only offers 8. ANSI can be viewed in DOS or the DOS prompt of Windows if you have a driver called ansi.sys loaded. Alternatively you can use an ANSI viewer like ACiDView or save the pictures as GIF/PNG.

MIRC colors can only be used on IRC and not all clients support them - and some networks have a channel mode that forbids you from using colors. Some IRC clients (including mIRC) also support ANSI color, but you may have to turn on that option first.

6.4 Demoscene ASCII art

Demoscene is an underground culture based mostly on demos, which are multimedia presentations a lot like animations, but calculated in real time. They evolved from cracktros (tiny applications included with cracked software) which had mostly scrollers and some background music. Nowadays demos often look like music videos or professional 3D animations. Demoscene is also much more than that, including national and international gatherings, demoparties.

Like the infofiles of pirated software, demoscene productions (demos and intros) often have an ASCII logo in their infofile. Generally they're either so called "oldskool" ASCII or "block ASCII". Oldskool ASCII consists of logos made mostly out of slashes, pipes, hyphens and underscores. The logos appear very similar in style and hard to read for many people. They may look very easy to draw, but are more difficult than they seem.
                                  .
_ ____:____
__ _ | (_ _ __
_\ ___ __ ___ | / ___ aBHO ____ /_
/ _(___ _/ /__ _/__/__ | _ /_/__/__ __/ _ (_
__ ___/ \ (_/ / \_/ _) (_| /// _) (_/ l/ _/_ ___
\ \_ _/ / _/ ` _/ / ` _/ ___\ / /
\ /________\ ______\ ______\ _/_________\ / /_____\ /
<--\/----------\/-------\/-------\/-----------\/---------\/-->

Clever by aBHO
Some oldskool ASCIIs are made on the Amiga and contain extended characters, they're known as Amiga ASCII (compared to PC ASCII)  "Block ASCII" is not technically ASCII at all, as it utilizes extended characters, "raster blocks", as does ANSI art. There's another type of demoscene ASCII, known as "newskool ASCII". It's practically a solid style, often used in graffiti-like logos and usually uses extended DOS characters.

Besides info files, demoscene ASCII can also appear elsewhere. Some demoparties have ASCII and ANSI competitions and there are ASCII logo compos held on some IRC channels regularly. ASCII pictures are also released in "collies" (collections) and artpacks. A colly is usually just a text file with lot of logos by the same artist. An artpack is usually released by an artgroup and can have ASCII, ANSI, Ripscript and hires pictures.

6.5 ASCII art culture and etiquette

The people who belong in the demoscene related art scene often regard their scene as the "real" ASCII scene, though it's much newer and much less popular than the mainstream ASCII scene. The alt.ascii-art Usenet newsgroup has existed for a long time and is still rather active for posting ASCII pictures and requesting them. There are other newsgroups, but they receive hardly any traffic.

Usually people sign their ASCII pictures with their initials or with a short nickname. You're usually free to use ASCII art for non-commercial purposes as long as you keep those initials - it's the artist's signature.  In alt.ascii-art, people often diddle each other's pictures. That means altering the picture slightly so that it looks better - or like something totally different. Usually that means including initials from every person who has participated in the picture.

There's a certain individual in the newsgroup that makes "ASCII art farts" of other people's images - he has done that every day for several years. Don't be too offended if Tran takes a picture of yours and adds a lame joke to it.