Complex Analysis

Julia Sets: The Fractals Hiding in the Mandelbrot Set

Julia Sets are the fractals you get by asking a childishly simple question about a single complex number: pick a constant c, then for every starting point z in the plane, repeat the rule z → z² + c forever and ask whether the point stays trapped or flies off to infinity. The points that stay bounded form the filled Julia set, and its infinitely detailed boundary is the Julia set proper. Change c by a hair and the shape reorganizes completely — a plump connected blob, a lightning-bolt dendrite, or a scatter of disconnected dust — and the astonishing punchline is that the Mandelbrot set is nothing but the master map of which c give a connected Julia set.
  • The mapfₑ(z) = z² + c, iterated
  • IntroducedGaston Julia & Pierre Fatou, 1918
  • Escape radius|z| > 2 ⇒ orbit → ∞ (for |c| ≤ 2)
  • Dichotomyconnected ⇔ orbit of 0 stays bounded
  • Critical pointz = 0 alone decides the whole set
  • Fractal dimension1 < dimₕ < 2 generally; up to 2 (Shishikura)

Interactive visualization

Press play, or step through manually. The visualization is yours to drive — try it before reading on.

Open visualization fullscreen ↗

Watch the 60-second explainer

A condensed visual walkthrough — narrated, captioned, under a minute.

The construction: one map, two sets

Fix a complex number c and consider the quadratic map fc(z) = z² + c. The whole theory studies what happens when you apply this map over and over, tracing the orbit z, fc(z), fc(fc(z)), … of each starting point. Two outcomes are possible: the orbit stays inside some bounded region forever, or it eventually runs away to infinity. The filled Julia set K(c) is the set of all starting points whose orbit stays bounded. The Julia set J(c) is its boundary, J(c) = ∂K(c) — the razor-thin fractal frontier separating “captured” points from “escaping” ones.

What makes this computable is a clean escape criterion. If |c| ≤ 2 and an orbit ever reaches |z| > 2, it is doomed. The proof is one line: |z² + c| ≥ |z|² − |c| ≥ |z|² − 2, and for |z| > 2 we have |z|² − 2 > |z| because (|z| − 2)(|z| + 1) > 0. So once the modulus passes 2 it strictly increases each step, and by induction it grows without bound. This turns drawing a Julia set into the escape-time algorithm: iterate each pixel up to N times, and color it by how many steps it took to cross radius 2 (or black if it never did). The bands of color trace the equipotential lines of an underlying Green's function, Gc(z) = limn 2−n log+|fcn(z)|, which measures the average rate of escape.

The zoo: why the same rule builds wildly different worlds

The map fc looks trivial, yet the parameter c is a dial that reorganizes the entire plane. The one perfectly solvable case is c = 0: then f(z) = z², points inside the unit circle spiral to 0, points outside blow up, and the Julia set is exactly the unit circle — a rare Julia set that is smooth, one-dimensional, and not fractal at all. Nudge c off zero and the circle grows teeth.

  • c = −1, the “basilica.” Here 0 → −1 → 0 is a super-attracting 2-cycle. The Julia set becomes an infinite chain of pinched-together disks — connected, but with fractal boundary of dimension about 1.27.
  • c ≈ −0.123 + 0.745i, the “Douady rabbit.” The critical point falls into a super-attracting 3-cycle, and the set sprouts an endless self-similar warren of three-eared shapes.
  • c = i, a dendrite. The orbit of 0 is pre-periodic (0 → i → −1+i → −i → −1+i → …), a so-called Misiurewicz point. The filled set has empty interior: it is a branching tree with no area, all boundary.
  • c = 0.5, Fatou dust. The critical orbit escapes, and the set shatters into an uncountable scatter of isolated points with no interior and no connections — a Cantor set floating in the plane.

Nothing about the formula changed; only the constant did. The natural question is why the outcomes fall into exactly these families.

The Fatou–Julia dichotomy: connected or dust, nothing in between

The deepest classical fact, proved independently by Gaston Julia and Pierre Fatou around 1918, is a stark either/or: a quadratic Julia set is either connected or totally disconnected (a Cantor set). There is no middle ground — no Julia set with, say, exactly seven pieces. Everything is decided by a single distinguished point, the critical point. Since fc′(z) = 2z vanishes only at z = 0, the point 0 is the one critical point in the plane, and its fate controls the global shape:

  • If the orbit of 0 stays bounded, J(c) is connected.
  • If the orbit of 0 escapes to infinity, J(c) is a Cantor set.

The mechanism is a pull-back argument. Away from infinity, fc is two-to-one, so inverting it means choosing a branch of ±√(z − c). Start with a huge disk around infinity and pull it back under these inverse branches. If the critical value c never lands inside the region being pulled back, the two branches stay cleanly separated and single-valued, and the filled Julia set emerges as a nested intersection of connected sets — hence connected. But if the escaping critical orbit forces the critical value into that region, the two square-root branches collide and cannot be separated: the pull-back splits into two pieces, then four, then eight, and iterating produces 2n disjoint pieces whose limit is a Cantor set. On that dust, fc is topologically conjugate to the full shift on two symbols — the cleanest model of chaos there is.

The Mandelbrot set is the atlas of connected Julia sets

Now flip the roles. Instead of fixing c and coloring points z, fix the starting point at the critical value 0 and color the parameter c. The Mandelbrot set is defined as M = { c ∈ ℂ : the orbit of 0 under fc stays bounded }. Compare that with the dichotomy above and the connection is immediate and exact:

c ∈ M  ⇔  orbit of 0 is bounded  ⇔  J(c) is connected.

So the Mandelbrot set is not just a fractal — it is the catalog of which parameters produce connected Julia sets. Every point c of M is an address pointing to one particular connected Julia set, and every point outside M is an address for a cloud of Fatou dust. The heart-shaped main cardioid collects the c with an attracting fixed point; each attached bulb collects c with an attracting cycle of a given period; the spiky boundary is where the qualitative behavior changes. In 1982 Adrien Douady and John Hubbard proved that M itself is connected, by building an explicit conformal isomorphism from the complement of M to the complement of the unit disk (the parameter-space analogue of Böttcher's coordinate). Whether M is also locally connected — the famous MLC conjecture, which would imply that hyperbolic dynamics is dense — remains open to this day.

Why Julia sets echo the Mandelbrot boundary

Look closely at M near its jagged edge, then look at the Julia set for a nearby c: the two often appear identical. This is not a coincidence but a theorem of Tan Lei (1990). At a Misiurewicz point c0 — a parameter where the critical orbit is strictly pre-periodic — the Mandelbrot set and the Julia set J(c0) are asymptotically self-similar and the same: as you magnify both around c0, they converge to one common limit picture (up to a rotation and scaling). Parameter space locally mimics dynamical space.

The bridge is the Böttcher coordinate. Near infinity, fc is conjugate to the pure squaring map z → z²; when K(c) is connected this conjugacy extends to a conformal map φc from the exterior of K(c) onto the exterior of the unit disk, satisfying φc(z² + c) = φc(z)². Pulling back the straight radial rays gives the external rays that land on the Julia set at prescribed angles. Douady and Hubbard ran the same construction in parameter space, and the two coordinate systems — one on the boundary of every connected Julia set, one on the boundary of M — are wired together by exactly this squaring symmetry. That shared arithmetic of angles is why the local filigree of M reappears inside the Julia sets it indexes.

Dimension, area, and genuine chaos

Most Julia sets are true fractals with Hausdorff dimension strictly between 1 and 2. The exceptions are the tame ones: the circle (c = 0) and the segment [−2, 2] (c = −2) both have dimension exactly 1. For small c, Ruelle (1982) gave a precise expansion: dimH J(c) = 1 + |c|² / (4 log 2) + O(|c|³), so the dimension lifts off 1 quadratically as you leave the origin. At the other extreme, Mitsuhiro Shishikura (1991) proved that the boundary of the Mandelbrot set has Hausdorff dimension exactly 2, and that there exist parameters whose Julia sets also reach dimension 2. Most spectacularly, Buff and Chéritat (2005) constructed quadratic Julia sets of positive area — fractal dust so dense it occupies real two-dimensional space, settling a decades-old question.

The Julia set is also the exact home of chaotic dynamics. It can be characterized several equivalent ways: as the boundary of the escaping set; as the closure of the repelling periodic points of fc; and as the set where iteration shows sensitive dependence on initial conditions. On J(c) the map is topologically transitive with dense periodic points — the textbook definition of chaos — while on the complementary Fatou set orbits are stable and predictable, draining into attracting cycles or spiraling in tidy basins. The fractal boundary is precisely the line dividing order from chaos.

History, drawing them, and open questions

The theory predates every computer that could draw it. In 1917–1920 Pierre Fatou and Gaston Julia independently built the modern theory of iterating rational maps; Julia's 1918 prize memoir gave the subject its name. For sixty years the objects were studied blind, through inequalities and normal families. Then in 1978–1980 Benoit Mandelbrot — who had coined the word fractal in 1975 — used IBM's computers to actually see them, discovering the eponymous parameter-space set, and Douady and Hubbard turned the pictures back into rigorous mathematics with their Étude dynamique des polynômes complexes.

Two algorithms dominate the drawing. The escape-time method colors each pixel by how fast it crosses radius 2 — simple and the reason for the familiar rainbow bands. The inverse-iteration method exploits the fact that J(c) is the attractor of the two inverse branches z → ±√(z − c): pick almost any starting point, apply random inverse branches thousands of times, and the orbit sprays out a dense sample of the Julia set. Beyond the pictures, the field is very much alive. The MLC conjecture and the closely tied density-of-hyperbolicity problem sit at its center, and the same z² + c dynamics reappears in the renormalization theory that explains why the period-doubling constants of one-dimensional chaos are universal. A one-line formula, still handing mathematicians open problems a century later.

One formula, six worlds: how the parameter c completely reshapes the Julia set
Parameter cOrbit of the critical point 0Julia setConnectivity & notes
c = 0fixed at 0the unit circle |z| = 1connected, smooth, dimension exactly 1
c = −1super-attracting 2-cycle 0 ↔ −1the “basilica”connected, dimension ≈ 1.27
c = −20 → −2 → 2 (fixed)the segment [−2, 2]connected, dimension exactly 1
c ≈ −0.123 + 0.745isuper-attracting 3-cyclethe Douady “rabbit”connected, three-fold branching ears
c = ipre-periodic (Misiurewicz)a dendrite (branching tree)connected but with empty interior
c = 0.5 (or |c| large)escapes to ∞“Fatou dust”totally disconnected — a Cantor set

Frequently asked questions

What is the difference between the Julia set and the filled Julia set?

The filled Julia set K(c) is every starting point whose orbit under z → z² + c stays bounded — a solid region (possibly with interior). The Julia set J(c) is just its boundary, J(c) = ∂K(c), the fractal frontier between trapped and escaping points. When the set is a dendrite or Fatou dust it has no interior, so the two coincide.

How exactly is the Julia set related to the Mandelbrot set?

They use the same map but swap what is held fixed. A Julia set fixes c and asks which starting points z stay bounded; the Mandelbrot set fixes the start at the critical point 0 and asks which c stay bounded. By the Fatou–Julia dichotomy, c lies in the Mandelbrot set exactly when the Julia set for that c is connected — so the Mandelbrot set is a directory of every connected Julia set.

Why is a Julia set always either connected or a Cantor dust?

Because the quadratic fₑ(z) = z² + c has a single critical point at z = 0, and its orbit controls everything. If that orbit stays bounded, pulling back a disk around infinity keeps the two inverse square-root branches separated and the set stays in one piece. If it escapes, the branches collide and the set splits into 2, 4, 8, … pieces, converging to a totally disconnected Cantor set.

What fractal dimension does a Julia set have?

Generically the Hausdorff dimension is strictly between 1 and 2. The circle (c = 0) and the segment (c = −2) are the tame dimension-1 exceptions; for small c, Ruelle's formula gives dimension ≈ 1 + |c|²/(4 log 2). Shishikura proved some Julia sets reach dimension 2, and Buff–Chéritat even built ones with positive area.

What is the escape criterion used to draw Julia sets?

For |c| ≤ 2, if an orbit ever reaches |z| > 2 it must diverge to infinity, because |z² + c| ≥ |z|² − 2 > |z| once |z| > 2. So the escape-time algorithm iterates each pixel up to a fixed number of steps and colors it by how quickly it crosses radius 2, leaving the bounded points black.

Why do Julia sets look like miniature copies of the Mandelbrot set?

Tan Lei proved that at Misiurewicz parameters — where the critical orbit is pre-periodic — the Mandelbrot set and the corresponding Julia set are asymptotically self-similar and identical under magnification. Both boundaries are organized by the same Böttcher coordinate and its angle-doubling symmetry, so the local detail of one reappears in the other.