X range-
Y range-
Draw axes:
Draw grid:
Color mode:
Color options:H: S: V:


The function should be the body of a valid JavaScript function; it is passed three arguments: z, x, y, where z = x + iy.
z is a Complex object -- see the source for details. Virtually any expression can be written, though it can get rather convoluted; for example, 1/(z - 1) + 1/(z + 1) would be z.minus(1).pow(-1).plus(, and e-z2 would be z.pow(2).negative().exp().


Written for personal use after I couldn't find one online. Available for free use in the public domain without warranty. It definitely could be faster (it's painfully slow if you go too far above res=0.1), but I haven't had the time or inclination to look at that.

There are two color modes -- "HSV" is one I cooked up that uses the argument as the hue, and the modulus as the brightness -- both linearly, though you can control the scale. The "cube" mode was taken from here; it uses a 'color cube' (see site for details).