[Image of painting artist]

What is artist

Artist is an Emacs lisp package that allows you to draw lines, rectangles, squares, poly-lines, ellipses and circles by using your mouse and/or keyboard. The shapes are made up with the ascii characters |, -, / and \.


When a `|' intersects with a `-', a `+' is drawn, like this:
                    |        \ /
                  --+--       X 
                    |        / \
When drawing lines you can interactively see the result while holding the mouse button down and moving the mouse. If your machine is not fast enough (a 386 is a bit to slow, but a pentium is well enough), you can turn this feature off. You will then see 1's and 2's which mark the 1st and 2nd endpoint of the line you are drawing.
After having drawn a (straight) line or a (straight) poly-line, you can set arrows on the line-ends by typing < or >.
You can fill any area with a certain character by flood-filling.
Cut copy and paste
You can cut, copy and paste rectangular regions. Artist also interfaces with the rect package (this can be turned off if it causes you any trouble) so anything you cut in artist can be yanked with C-x r y and vice versa.
Drawing with keys
Everything you can do with the mouse, you can also do without the mouse.
You can set the variable artist-aspect-ratio to reflect the height-width ratio for the font you are using. Squares and circles are then drawn square/round. Note, that once your ascii-file is shown with font with a different height-width ratio, the squares won't be square and the circles won't be round.
Drawing operations
The following drawing operations are implemented:
   lines straight-lines
   rectangles squares
   poly-lines straight poly-lines
   ellipses circles
   text (see-thru)text (overwrite)
   spray-can set size for spray
   vaporizing linevaporizing lines
   erase characterserase rectangles

Straight lines are lines that go horinzontally, vertically or diagonally. Plain lines go in any direction. The shapes in the right column are accessed by holding down the shift key while drawing. You can also erase characters and rectangles.

It is possible to vaporize (erase) entire lines and connected lines (rectangles for example) as long as the lines being vaporized are straight and connected at their endpoints. Vaporizing is inspired by the drawrect package by Jari Aalto <>.

Picture mode compatibility
Artist is picture mode compatible (this can be turned off)

Artist is written by Tomas Abrahamsson. Send bug-reports and comments (and perhaps even your ascii-creations drawn with artist :-) to


Here is a nice screencast of the drawing of a singly-linked list.

Here is a screenshot showing some shapes (a text version). Here is another one showing the A from the image above (a text version).


Requirements are: Emacs 19.28 or higher. Artist has not been test with XEmacs.


Artist is distributed under Gnu General Public License. The latest version, 1.2.6, is available as a gzipped tar-file: artist-1.2.6.tar.gz (72 kB) and as single elisp-file: artist.el (192 kB) for those who want to compile it themselves.


1.2.6, 6-Aug-2004
1.2.5, 4-Aug-2004
1.2.4, 25-Oct-2001
1.2.3, 20-Nov-2000
1.2.2, 19-Nov-2000
1.2.1, 15-Nov-2000
1.2, 22-Oct-2000
1.1, 15-Aug-2000
1.1-beta1, 21-Apr-1998
New features:



1.0, 1-Mar-1998
First official release

Old versions

Older versions are available:

The tar archive: artist-1.2.5.tar.gz
The tar archive: artist-1.2.4.tar.gz
The tar archive: artist-1.2.3.tar.gz
The tar archive: artist-1.2.2.tar.gz
The tar archive: artist-1.2.1.tar.gz
The tar archive: artist-1.2.tar.gz
The tar archive: artist-1.1.tar.gz
The tar archive: artist-1.1-beta1.tar.gz
The tar archive: artist-1.0.tar.gz

Valid HTML 4.01!

$Id: index.html,v 1.26 2014/03/06 09:46:33 tab Exp $

Tomas Abrahamsson <>.