Chaos Theory Lab

Watch order turn into chaos. Seven modes cover the logistic map with its cobweb plot, the bifurcation diagram, the Lorenz attractor, seven more strange attractors, the butterfly effect with a live Lyapunov exponent, and the Mandelbrot and Julia sets.

Visualizer Numbers & Math Updated Oct 3, 2026
How to Use
  1. Pick a mode along the top: Logistic map, Bifurcation, Lorenz attractor, Strange attractors, Butterfly effect, Mandelbrot or Julia set.
  2. Drag the sliders under the mode buttons. Each mode starts from its own defaults: r = 3.2 and x₀ = 0.2 for the logistic map, σ = 10, ρ = 28 and β = 2.667 for Lorenz.
  3. Read the line at the foot of the canvas and the readouts under it: the behaviour (fixed point, period-n cycle or chaotic) and the Lyapunov exponent λ, or the step where two trajectories split.
  4. Lorenz and the strange attractors draw themselves. Use Pause and Reset, and the system menu for Rössler, Aizawa, Halvorsen, Thomas, Hénon, Clifford or De Jong.
  5. In Mandelbrot, click any point to open the Julia set for that c. Right-click the canvas to save the picture.
Controls
Plot
Behaviour
—
Growth rate
—
Lyapunov exponent
—
Period
—

Worked Example

A 2-cycle at r = 3.2. The logistic map opens at r = 3.2 and x₀ = 0.2. Within a few steps the cobweb settles into a rectangle that bounces between x = 0.513 and x = 0.799, the two roots of x = (r + 1 ± √((r + 1)(r − 3))) ÷ 2r. The slopes there, r(1 − 2x), multiply to 0.16, so the readout gives “period-2 cycle” and λ = ln(0.16) ÷ 2 = −0.916: stable.

The butterfly effect at r = 3.9. Butterfly effect starts two trajectories at 0.4 and 0.4 + 10⁻⁸. For the first 20 steps the gap stays under 0.001, less than half a pixel on the plot; then it passes 0.1 at step 29 and the two lines go their own ways. λ = 0.489. Move r to 4 and the split comes at step 24, with λ = 0.693.

The common mistake: starting at x₀ = 0.5 when r = 4. The cobweb runs 0.5 → 1 → 0 → 0 … and sits at 0, which looks like a stable fixed point. It is not: r = 4 is fully chaotic, with λ = ln 2 = 0.693, and the readout (which uses its own start of 0.401) still says chaotic. 0.5 is one of the few starts that land exactly on the unstable point 0; move x₀ to 0.501 and the orbit wanders over the whole interval.

Show Work

Pick a mode and move a slider to see the iterates, the period test, the Lyapunov exponent or the equations with your numbers.

Formulas

Logistic map
xn+1 = r·xn·(1 − xn), fixed point 1 − 1/r
Lyapunov exponent
λ = (1/n)·Σ ln|r(1 − 2xi)|
Feigenbaum ratio
δ = lim (rn − rn−1) ÷ (rn+1 − rn) = 4.669…
Lorenz system
ẋ = σ(y − x), ẏ = x(ρ − z) − y, ż = xy − βz
Hénon map
x′ = 1 − 1.4x² + y, y′ = 0.3x
Logistic r to Mandelbrot c
c = r(2 − r) ÷ 4: r = 3 → −0.75, r = 4 → −2

How Chaos Was Found

Henri Poincaré saw in the 1890s, while studying the three-body problem, that small changes in a starting position could lead to very different orbits. Edward Lorenz met the effect on a computer in 1961: restarting a weather run from a printout, he typed 0.506 instead of 0.506127, and the new run soon bore no resemblance to the old one. He published his three-equation model in 1963 as “Deterministic Nonperiodic Flow” and in 1972 gave the talk that named the butterfly effect.

Tien-Yien Li and James Yorke used the word “chaos” in their 1975 paper “Period Three Implies Chaos”. Robert May’s 1976 article in Nature showed how much the logistic map can do, and Mitchell Feigenbaum found the constant 4.669 in 1975, publishing it in 1978. Otto Rössler and Michel Hénon both published strange attractors in 1976, two of the simplest known; both are in this lab.

About This Tool

This lab puts seven views of chaos on one canvas: the logistic map as a cobweb or time series, the bifurcation diagram, the Lorenz attractor with live σ, ρ and β, seven more strange attractors, two diverging logistic trajectories, and the Mandelbrot and Julia sets. The logistic readouts are computed, not just drawn: the period is found by testing cycles up to 16, and λ is averaged over 4,000 steps after 600 settling steps. The continuous attractors are integrated with fourth-order Runge–Kutta; the Hénon, Clifford and De Jong maps are iterated point by point. For deep zooms into the Mandelbrot set, use the Fractal Explorer.

Everything runs in your browser; nothing is uploaded.

Related tools: Fractal Explorer, Differential Equation Solver, and Double Pendulum Chaos Lab.

Frequently Asked Questions

What makes a system chaotic?

It is deterministic, so the same start always gives the same result, yet tiny differences in the start grow exponentially. In the Butterfly effect mode at r = 3.9, the starts 0.4 and 0.4 + 10⁻⁸ track each other and then differ by more than 0.1 at step 29. The Lyapunov exponent there is 0.489, so the gap grows by about e^0.489 = 1.63 times a step; at that rate 10⁻⁸ would need ln(10⁷) ÷ 0.489 ≈ 33 steps to reach 0.1.

How does the logistic map go from order to chaos?

For r below 3, x settles on the fixed point 1 − 1/r (0.643 at r = 2.8). At r = 3 it splits into a 2-cycle (0.513 and 0.799 at r = 3.2), at 1 + √6 = 3.449 into a 4-cycle, then 8 at 3.544 and 16 at 3.564. The splits pile up at r ≈ 3.5699, where chaos begins. Inside the chaos there are windows of order: a period-3 cycle opens at 1 + √8 = 3.828.

What is the Feigenbaum constant?

The ratio of the gaps between successive period doublings. The first gaps of the logistic map are 0.4495, 0.0946, 0.0203 and 0.0044, giving ratios of 4.751, 4.656 and 4.668, closing in on δ = 4.669. Mitchell Feigenbaum found that the same number appears for every smooth map with a single rounded (quadratic) hump, which is why it is called universal.

What does the Lyapunov exponent tell me?

λ is the average of ln|f′(x)| = ln|r(1 − 2x)| along the orbit: negative means nearby points converge, positive means they separate. At r = 3.2 the tool reads −0.916, which is ln(0.16) ÷ 2, because the two slopes of the 2-cycle multiply to 0.16. At r = 3.9 it reads 0.489, and at r = 4 it reads 0.693 = ln 2: errors double every step on average.

What is the Lorenz attractor?

The solution of Edward Lorenz’s 1963 convection model: dx/dt = σ(y − x), dy/dt = x(ρ − z) − y, dz/dt = xy − βz. With σ = 10 and β = 8/3, the two wing centres at (±√(β(ρ − 1)), ±√(β(ρ − 1)), ρ − 1) become unstable once ρ passes σ(σ + β + 3) ÷ (σ − β − 1) = 24.74. At the classic ρ = 28 the centres are at (±8.485, ±8.485, 27) and the trajectory loops round them for ever without repeating.

How do I use the Chaos Theory Lab?

Simply type your numbers and read the result, which refreshes the instant you change something. There is nothing to submit and nothing to wait for.

Is it free? Does it work without internet?

Yes to both. It is free with no sign-up, and once the page has loaded it keeps working even with no internet.

Where does my data go?

Nowhere — every calculation runs on your own device. Nothing you enter is uploaded, logged, or stored.

Common Use Cases

Period doubling

Slide r from 2.8 to 3.566 and watch cycles of 1, 2, 4, 8 and 16 appear.

The butterfly effect

A 10⁻⁸ difference grows past 0.1 by step 29 at r = 3.9.

Windows of order

At r = 3.83 the chaos gives way to a stable period-3 cycle.

Forecast limits

Lorenz’s 3-variable weather model shows why small errors ruin long forecasts.

Generative art

Seven strange attractors, from Rössler to De Jong, draw themselves live.

Last updated: