← Lab

Mandelbrot & Julia Sets

Infinite complexity from one equation: z → z² + c.

Mandelbrot · Center -0.5 + 0i · Zoom · 200 iterations
Drag to pan. Double-click to zoom. Right-click to pick Julia set c value.
JULIA PARAMETERS
-0.700
0.270
EVENT LOG

What you're looking at

The equation

Everything here comes from one rule: take a complex number z, square it, and add a constant c. Repeat. If z stays bounded, the point is "in the set." If z escapes to infinity, color the point based on how fast it escaped. That's it — z → z² + c, iterated. The boundary between escape and captivity turns out to be infinitely intricate.

Julia sets

The Mandelbrot set and Julia sets are two views of the same equation. For the Mandelbrot set, each pixel is a different value of c, and z always starts at 0. For a Julia set, c is fixed and each pixel is a different starting value of z. Right-click any point in the Mandelbrot set to use that point as c and see the corresponding Julia set. Points inside the Mandelbrot set produce connected Julia sets — one piece. Points outside produce disconnected Julia sets — Cantor dust scattered across the plane.

Infinite zoom

The boundary of the Mandelbrot set has fractal dimension 2 — it's as complex as a surface, despite being a curve. Zoom in anywhere on the boundary and you find miniature copies of the full set, connected by filaments, surrounded by spirals. This self-similarity never ends. You can zoom past 1015× and still find new structure. The computation just needs more iterations to resolve finer detail at deeper zooms.

Smooth coloring

Naive coloring assigns each pixel an integer iteration count, which creates visible bands. Smooth coloring fixes this: after a point escapes, run a couple extra iterations and use the formula n + 1 - log(log(|z|²)/2) / log(2) to get a continuous value. Map that to a color gradient and the bands disappear into smooth flows of color that reveal the true structure of the escape-time field.