Generate an ASCII Image of the Mandelbrot Set

MANDELBROT_ASCII is a C program which generates an ASCII image of the Mandelbrot set using two lines of C code.

The Mandelbrot set is a set of points C in the complex plane with the property that the iteration

        z(n+1) = z(n)^2 + c
remains bounded.

All the points in the Mandelbrot set are known to lie within the circle of radius 2 and center at the origin.

To make a plot of the Mandelbrot set, one starts with a given point C and carries out the iteration for a fixed number of steps. If the iterates never exceed 2 in magnitude, the point C is taken to be a member of the Mandelbrot set.

The MANDELBROT_ASCII program makes an image of the Mandelbrot set using ASCII graphics, sometimes called "typewriter graphics". Moreover, the entire program consists of a pair of cryptic lines of text:

main(n){float r,i,R,I,b;for(i=-1;i<1;i+=.06,puts(""))for(r=-2;I=i,(R=r)<1;

Working out how the program can do what it does is a true puzzle!


MANDELBROT_ASCII is available in a C version.

Related Data and Programs:

ASCII_ART_GRAYSCALE, a data directory of examples of grayscale "ASCII Art" files, in which images are created using printable characters.

MANDELBROT, a C program which generates an ASCII PPM image of the Mandelbrot fractal set;

MANDELBROT_PPM, a C program which generates a binary PPM image of the Mandelbrot fractal set;

PIG_LATIN, a C program which converts its input to Pig Latin; a winner of the International Obfuscated C Code Competition in the "Most Humorous" category, by Don Dodson.


  1. Alexander Dewdney,
    A computer microscope zooms in for a close look at the most complicated object in mathematics,
    Scientific American,
    Volume 257, Number 8, August 1985, pages 16-24.
  2. Heinz-Otto Peitgen, Hartmut Juergens, Dietmar Saupe,
    Chaos and Fractals - New Frontiers in Science,
    Springer, 1992,
    ISBN: 0-387-20229-3,
    LC: Q172.5.C45.P45.

Source Code:

Examples and Tests:

You can go up one level to the C source codes.

Last revised on 13 October 2011.