Julia Set Generator
Generate beautiful Julia set fractals from any complex parameter c. Pan and zoom a high-resolution canvas, pick c by clicking a live Mandelbrot map, animate c along a circular orbit to watch the Julia shape morph in real time, click anywhere to trace the iteration path, and choose from eight color palettes. Includes ten famous Julia presets (Douady Rabbit, Dragon, Dendrite, San Marco, Siegel Disk, Airplane), PNG export, and shareable URLs that encode the exact c value.
For every pixel z0, run zn+1 = zn2 + c with c fixed. Color encodes how many steps until |z| > 2 — black means it never escaped.
If c is inside the Mandelbrot set, the Julia set is connected (one piece). If c is outside, the Julia set is Cantor dust. The Mandelbrot map shows you exactly where the boundary is.
Toggle 🎯 Orbit, then click any pixel. The polyline shows the trajectory of that point under the iteration — you can watch it spiral, repeat, or escape in real time.
Click ▶ Animate c. The parameter c circles around its current value, and the Julia set re-renders continuously. Tiny circular motion in c-space produces dramatic morphing in Julia space.
▦ How c shapes the Julia set — three sample c values
A theorem of Fatou and Julia (1919) says every quadratic Julia set is either fully connected or totally disconnected — there is no in-between. The connected ones live above c values that are inside the Mandelbrot set; the dust ones above c outside. The boundary case — c on the Mandelbrot boundary — produces the most delicate fractals of all, like the dendrite above.
Your ad blocker is preventing us from showing ads
MiniWebtool is free because of ads. If this tool helped you, please support us by going Premium (ad‑free + faster tools), or allowlist MiniWebtool.com and reload.
- Allow ads for MiniWebtool.com, then reload
- Or upgrade to Premium (ad‑free)
About Julia Set Generator
The Julia Set Generator is an interactive complex-dynamics studio. Pick any complex number \( c \) — by typing it, by clicking the live Mandelbrot picker, or by selecting one of ten famous presets — and the tool renders the Julia set for that c in your browser. Pan and zoom with the mouse, animate c around a small circle to watch the Julia shape morph continuously, toggle orbit mode and click any pixel to trace its iteration trajectory, and switch between eight color palettes. A shareable URL captures the exact c value down to the last digit, so you can save and revisit any fractal you find.
What Is a Julia Set?
For each complex number \( c \), the Julia set \( J_c \) is the set of starting points \( z_0 \) in the complex plane whose orbit under the iteration \( z_{n+1} = z_n^2 + c \) stays bounded forever (never grows past the radius-2 disk). Different choices of c give different — often dramatically different — Julia sets. The whole family was studied by the French mathematicians Gaston Julia and Pierre Fatou in 1918, long before computers could draw them; Julia's prize-winning 1918 memoir runs 199 pages and is essentially the foundation of the field of complex dynamics.
The Julia set is the most famous example of a parameterized family of fractals: each is built from the same simple rule, but the resulting boundary geometry shifts wildly as you nudge c around the complex plane.
How This Generator Works
Famous Julia Set Parameters
| c value | Name and shape |
|---|---|
| −0.122 + 0.745i | Douady Rabbit — three lobes meeting at a fixed point. Located in the period-3 bulb of the Mandelbrot set. Named for Adrien Douady who proved the deep theory of "polynomial-like maps" in the 1980s. |
| −0.75 + 0i | San Marco Dragon — c on the boundary between the cardioid and the period-2 bulb. Yields the classic dragon shape that adorns countless fractal posters. |
| 0 + 1i | Dendrite — c = i, sitting on the boundary of the Mandelbrot set. Pure tree-like branching with no interior; the Julia set has zero area but infinite total branch length. |
| −1.7549 + 0i | Airplane — c near the real-axis tip of the Mandelbrot antenna. Bilateral airplane symmetry. |
| −0.391 − 0.587i | Siegel Disk — near a c with a golden-mean neutral fixed point. The Julia set has concentric invariant curves; Siegel's 1942 theorem guarantees these exist for "Diophantine" c. |
| −0.7454 + 0.1130i | Lightning — c from the Seahorse Valley of the Mandelbrot set. The Julia is shot through with thin filamentary "lightning" branches. |
| −0.8 + 0.156i | Spiral Galaxy — armed spirals at every scale, like a side-on photo of a barred-spiral galaxy. |
| 0.285 + 0.01i | Feather — c from Elephant Valley. Fine feather-like tendrils branching from a central trunk. |
| −0.7018 − 0.3842i | Snowflake — crystalline near-symmetric Julia just outside the main cardioid. |
| 0.355 + 0.355i | Dust Galaxy — c outside the Mandelbrot set. The Julia set is totally disconnected — beautiful Cantor dust scattered across the plane. |
The Math Behind the Picture
Fix a complex number \( c \). For each pixel on the canvas, treat the pixel position as a starting point \( z_0 = x + iy \), then apply the iteration \( z_{n+1} = z_n^2 + c \). A famous theorem says: as soon as \( |z_n| > 2 \), the orbit is guaranteed to escape to infinity. So we iterate until either we hit the cap (we call \( z_0 \) bounded — black) or \( |z| > 2 \) (we call \( z_0 \) escaping and record the iteration count for coloring).
The smooth escape value
\[ \nu = n + 1 - \frac{\log(\log |z_n|)}{\log 2} \]
interpolates between integer iteration bands, giving a continuous gradient as you move across the Julia boundary. Black pixels (interior of \( J_c \)) reach the iteration cap without escaping; colored pixels (exterior) escape, with their color encoding how quickly.
The Mandelbrot–Julia Connection
The Mandelbrot set \( M \) is the master parameter map of the entire Julia family. The defining theorem (Fatou–Julia, around 1919) reads:
\[ c \in M \iff J_c \text{ is connected.} \]
That is, the Julia set for c is a connected single piece if and only if c is inside the Mandelbrot set. Otherwise, the Julia set is totally disconnected — a Cantor dust scattered across the plane. The little Mandelbrot picker in the corner of the canvas is therefore both a c-selector and a connectedness classifier: click anywhere on the black region and you get a connected Julia; click in the colored exterior and you get dust. Click right on the boundary and you get the most delicate fractals of all — dendrites, lightning, the rabbit, the airplane.
Why It Is Important
- Foundation of complex dynamics. The study of iterating holomorphic functions — what trajectories do under repeated application — was founded on the Julia/Fatou theory in 1918. Modern complex dynamics is now a major branch of mathematics, with the Mandelbrot set as its parameter map and Julia sets as its dynamical sets.
- Visual proof of mathematical sensitivity. Move c by one part in 10,000 and the Julia set can change from a rabbit to a dragon to dust. The Animate c feature in this tool makes this sensitivity tangible — small input variation produces enormous output variation, a hallmark of chaotic systems.
- Universal language for fractals. The same z = z² + c iteration shows up in physics (Newton's method on cubic polynomials), biology (population dynamics), and computer graphics (procedural texture synthesis). Julia sets are the simplest example illustrating how iteration produces structure.
- Aesthetic landmark. Julia and Mandelbrot images defined the visual identity of 1980s/1990s "fractal art." Today they remain standard demonstrations of "infinite complexity from a tiny formula" in math outreach.
Tips for Striking Renders
- Click near the Mandelbrot boundary. Inside the main cardioid you mostly get bland connected blobs. Outside the set you get dust. The interesting Julias live on the boundary itself, especially near "atom" attachment points between bulbs.
- Animate with a small radius first. Set the animation radius slider to 0.005–0.020 and watch the morph. Larger radii sweep through entirely different Julia families and look less continuous; tiny radii reveal the local dependence on c beautifully.
- Combine orbit mode with a connected c. Pick a Douady Rabbit, turn on orbit mode, click inside one of the rabbit lobes — you will see the orbit cycle between the three lobes (period 3), making the rabbit's combinatorial structure obvious.
- Try opposite palettes. The same Julia set looks completely different in Fire vs Ocean vs Rainbow Cycle. Save a few PNGs of the same c with different palettes for a poster set.
- Use banded coloring for periodicity. Smooth coloring is photogenic, but banded coloring lights up the period structure — every iteration band is a different time-to-escape class.
Practical Limits and the Precision Frontier
This tool uses standard JavaScript double-precision floats (IEEE 754, 64-bit), which give about 15–16 significant decimal digits. That sets a practical zoom limit at span ≈ 10⁻¹² before pixels begin to look identical due to round-off. To zoom deeper, professional fractal renderers use arbitrary-precision libraries that carry thousands of digits — at the cost of being hundreds of times slower per pixel. For Julia sets, double precision is usually plenty: the most striking views are at moderate zoom, where you can see the global shape and a few levels of self-similar branching at once.
Frequently Asked Questions
What is a Julia set?
For each complex number c, the Julia set is the set of starting points z₀ for which the iteration z = z² + c stays bounded. Each c gives a unique Julia set, so the family is infinite. The sets were defined by Gaston Julia and Pierre Fatou around 1918, decades before computers could draw them.
How is a Julia set different from the Mandelbrot set?
Same iteration z = z² + c — but in the Mandelbrot set c varies and z₀ = 0 is fixed (parameter map). In a Julia set c is fixed and z₀ varies (dynamical map). The two are linked by the Fatou–Julia theorem: c is in the Mandelbrot set if and only if the Julia set for c is connected.
How do I pick a good value for c?
Start with one of the ten famous presets — they cover the most striking shapes. Then use the Mandelbrot picker: c values just inside the boundary of the Mandelbrot set produce the most beautiful connected Julias; values on the boundary itself produce dendrites; values outside produce dust. The cardioid interior is mostly bland.
Why does the shape change so dramatically as I move c?
The Julia set is extraordinarily sensitive to c. Moving c by a thousandth can completely reshape the set, especially near the Mandelbrot boundary. The Animate c feature visualizes this — as c traces a small circle, the Julia morphs through a family of related but visually different shapes.
What is iteration depth and how should I set it?
Iteration depth (max_iter) is the maximum number of times we apply z = z² + c before giving up. Higher numbers reveal more boundary detail but render slower. 240 is fine for most c; 400–800 helps with dendrites and lightning; 1000+ for very fine boundary detail. The tool caps it at 2,000 — beyond that, double-precision floats limit usable detail anyway.
What does orbit mode do?
Orbit mode visualizes the iteration itself. Click any point z₀ on the canvas and the tool plots the sequence z₀, z₁, z₂, … as a connected polyline. You can see whether the orbit spirals into a fixed point, jumps around a periodic cycle, or escapes the |z|=2 disk. This is the fundamental object of complex dynamics, made visual.
Why are some Julia sets connected and others dust?
This is the Fatou–Julia dichotomy (1919): every quadratic Julia set is either connected (one piece) or totally disconnected (Cantor dust). The connectedness depends entirely on c: if the orbit of 0 under z = z² + c stays bounded, the Julia set is connected. That bounded-orbit condition is the very definition of the Mandelbrot set.
What are the famous Julia presets?
Douady Rabbit (c = −0.122 + 0.745i), San Marco Dragon (c = −0.75), Dendrite (c = i), Airplane (c = −1.7549), Siegel Disk (c = −0.391 − 0.587i), Lightning (c = −0.745 + 0.113i), Spiral Galaxy (c = −0.8 + 0.156i), Feather (c = 0.285 + 0.01i), Snowflake (c = −0.702 − 0.384i), and Dust Galaxy (c = 0.355 + 0.355i, outside the Mandelbrot set).
What does the animation radius slider control?
When you click Animate c, the parameter c is moved around a small circle in the complex plane. The radius slider controls the size of that circle. A small radius (0.005–0.020) shows local morphing — how the Julia set changes infinitesimally near the current c. A large radius (0.1+) sweeps through wholly different Julia families.
Why are there bands of color and how do I smooth them?
The integer escape-time count produces visible iteration bands. Smooth coloring uses the continuous escape value ν = i + 1 − log(log|z|) / log 2 to interpolate between bands, yielding a photographic gradient. Toggle Smooth off to see the classic banded look — useful for counting iteration rings and reading the period structure.
Can I save and share a particular Julia set?
Yes. Click Copy share-link to copy a URL whose query parameters encode the exact c, view center, zoom span, palette, and iteration depth. Anyone who opens that link lands on the identical fractal. Click Save PNG to download the canvas at its full internal resolution.
How deep can I zoom?
This tool uses JavaScript double-precision floats (about 15–16 significant digits), giving a usable span as small as roughly 10⁻¹². Beyond that, pixels begin to quantize because the underlying arithmetic can no longer separate them. For Julia sets, this is rarely a limit — most striking views are at moderate zoom where the global shape and a few levels of self-similar structure are visible at once.
Who invented Julia sets?
Gaston Julia (French, 1893–1978) and Pierre Fatou (French, 1878–1929) independently developed the theory in 1917–1919. Julia's 1918 memoir won the Grand Prix of the French Academy of Sciences. Their work was largely forgotten until Benoit Mandelbrot's computer renderings in 1980 made the geometry visible — and instantly famous.
Reference this content, page, or tool as:
"Julia Set Generator" at https://MiniWebtool.com// from MiniWebtool, https://MiniWebtool.com/
by miniwebtool team. Updated: 2026-05-20