Boundaries carry the detail
The most intricate structures appear near the border between escaped and bounded points.
Mouse: wheel to zoom, click to recenter, drag to pan. Keyboard: arrows pan, plus/minus zoom, Enter renders, R resets.
This tool uses the escape-time algorithm. Each pixel is mapped to a complex number, then an iteration is run until the point either escapes beyond the chosen radius or reaches the iteration limit. Points that do not escape are colored as part of the set; escaped points are colored by how quickly they escaped.
| Fractal | Iteration used here | What the pixel represents |
|---|---|---|
| Mandelbrot set | z[n+1] = z[n]^2 + c, starting with z[0] = 0 |
The pixel is the complex parameter c. |
| Julia set | z[n+1] = z[n]^2 + c, with fixed c |
The pixel is the starting value z[0]. |
| Burning Ship | z[n+1] = (abs(Re z[n]) + i abs(Im z[n]))^2 + c |
The pixel is the complex parameter c. |
| Tricorn | z[n+1] = conjugate(z[n])^2 + c |
The pixel is the complex parameter c. |
Assumptions: this is an educational renderer, not arbitrary-precision math software. Very deep zooms eventually hit JavaScript floating-point precision limits.
Fractals are shapes with detail at many scales. The Mandelbrot set is one of the most recognizable examples because the simple rule z = z^2 + c produces a boundary with endlessly nested structure. The Julia set uses the same family of functions, but instead of varying c for each pixel, it fixes c and varies the starting point.
This page is designed for exploration: start with a preset, zoom into boundary regions, raise the iteration count when details become soft, and download images for notes, classroom slides, or personal artwork. All rendering is client-side, so your settings are not uploaded.
c value.External links open in a new tab. Starlight Tools is not affiliated with those sites.
You can render Mandelbrot, Julia, Burning Ship, and Tricorn fractals. Each uses a related escape-time iteration in the complex plane.
For each complex point c, the Mandelbrot set starts with z = 0 and repeatedly applies z = z^2 + c. If the sequence remains bounded, the point is considered part of the set.
A Julia set keeps c fixed and uses each pixel as the starting z value. Try changing the Julia real and imaginary fields to see how much the shape changes.
Deep zooms need more iterations and eventually exceed normal JavaScript floating-point precision. Raise iterations for modest zooms; for extreme zooms, arbitrary-precision renderers are better.
Yes. Use Download PNG to save the current canvas image. The image is generated in your browser.
Yes. Rendering, config export, and PNG download run locally. The share link stores settings in the URL hash, which you control.
The most intricate structures appear near the border between escaped and bounded points.
Palette colors show escape speed. The dark interior marks points that did not escape within the iteration limit.
Tiny changes to the fixed Julia value can move the image from connected shapes to dust-like islands.
Doubling iterations can roughly double worst-case work, especially inside dark regions and near boundaries.
The share link stores type, center, scale, iterations, palette, and Julia parameters so the view can be recreated.