All generators

How it works

From a seed to a picture

Every image on this site is a pure function of five things: generator, seed, settings, width and height. Here is what that means and why it is useful.

The seed

A seed is any text: k3f9a2, your name, wallpaper-2026. It is hashed with a 128-bit string hash into the starting state of sfc32, a small, fast pseudo-random generator. The same seed gives the same stream of numbers in every browser, every time. When you press Roll, the new seed comes from your browser’s cryptographic random source. That is the only moment true randomness enters.

One stream per control, which is what makes locks work

Each setting draws its value from its own stream, derived from the seed and the setting’s name. Locking one setting and rolling therefore changes every other setting without shifting anyone else’s randomness, and rolling back through the history restores exactly what you saw. Drawing (shape positions, tile choices, star fields) uses a separate stream derived from the seed and the generator.

The link is the save file

The address bar holds the generator, seed and size, plus only the settings that differ from what the seed alone would produce. That keeps links short and makes them complete: open one on another device and the same image is drawn. Change only w and h and the same image is drawn at the new size.

The engines

  • Noise: gradient (Perlin family), simplex, value and Worley noise, combined in fBm, ridged and turbulence octaves, with optional domain warp. Gradient, value and Worley noise can wrap their lattice for seamless tiling.
  • Gradients: linear, radial and conic ramps blended in linear light; mesh gradients by inverse-distance weighting through a noise warp; aurora by additive Gaussian clouds with tone-mapping.
  • Geometry: Bowyer–Watson Delaunay triangulation (low poly), Catmull–Rom splines converted to Béziers (blobs), Truchet and other tilings (patterns), mirrored grids (sprites, identicons).
  • Scenes: 1-D fractal ridgelines with aerial perspective (landscapes), noise-field particle tracing (flow fields), rule-based compositions (abstract art).
  • Colour: harmony schemes with an even lightness ladder in OKLCH, gamut-mapped back into sRGB by reducing chroma.

Vector engines write SVG, which the browser rasterises at the exact output size. Raster engines compute each pixel at the output size in row bands, pausing between bands so the page stays responsive. Nothing is upscaled from the preview.

No AI, no uploads

None of the generators uses a machine-learning model. They are ordinary algorithms that run in milliseconds. The page needs no server to do its work: once it has loaded, generating and downloading happen entirely on your device. Read the privacy page for what the site does and does not collect.

Limits worth knowing

  • PNG, JPEG and WebP exports are 8 bits per channel, the canvas’s native depth.
  • Raster exports are capped at 8,192 px per side and about 16.7 million pixels, which every current browser’s canvas can hold. SVG has no such cap.
  • Text in avatars and placeholders uses a common system font (Helvetica or Arial), so letter shapes can differ slightly between operating systems.
  • Safari cannot encode WebP from a canvas; the site tells you and saves PNG instead.