Generate synthetic noise textures (white, Perlin, fBM) OR upload an image and add real-time noise effects. Control intensity, scale, octaves, and seed.
Procedural noise is the foundation of modern computer graphics, used to generate natural-looking textures, terrains, clouds, fire, and even planetary surfaces. Unlike bitmap textures, noise functions are mathematically defined and infinite, scalable, and deterministic given a seed. This tool implements three essential classes: White Noise (uncorrelated randomness), Perlin Noise (smooth gradient noise), and fractal Brownian motion (fBM) – a self-similar accumulation of Perlin noise at multiple scales.
The Perlin noise function N(x,y) produces a smooth value between -1 and 1 using:
N(x,y) = Σi=0..n-1 wi · interpolate( gradient(floor(x·2i), floor(y·2i)) )
Where gradients are random unit vectors and interpolation uses a quintic curve (6t⁵ - 15t⁴ + 10t³) for C² continuity.White noise assigns independent random values to each pixel. It has a flat power spectrum — all frequencies contribute equally. While visually "static", white noise is crucial for dithering, Monte Carlo integration, and as a building block for more advanced textures.
Developed by Ken Perlin in 1983 (Oscar-winning technique), Perlin noise produces continuous, band-limited noise ideal for natural phenomena. The algorithm: define a grid of random gradient vectors; for any point, compute dot products with surrounding gradients, then interpolate using a smoothstep function. The result is organic, cloud-like, and infinitely tileable if implemented correctly.
fBM is created by summing multiple octaves of Perlin noise with decreasing amplitude (persistence = 0.5) and increasing frequency (lacunarity = 2). The self-similarity produces rough, mountain-like patterns and is widely used in terrain generation, procedural planets, and marble textures.
Indie studio "NebulaForge" used our noise generator to prototype heightmaps for an open-world RPG. By combining fBM (scale=8, octaves=5) with a simple erosion filter, they reduced asset production time by 70%. The orthocenter of art direction met procedural generation: each biome used a distinct seed and noise type, yielding 200+ unique landscape tiles without manual painting. The tool’s interactive feedback allowed instant tuning of roughness and feature size — a perfect demonstration of fBM's creative power.
From a signal processing perspective, Perlin noise acts as a band-limited noise source, whereas white noise is unbounded. The frequency spectrum of fBM follows a 1/fβ law (β = 2 × persistence × octave contribution). The scale parameter (frequency) directly controls the wavelength of features: low scale = large, sweeping structures; high scale = fine, detailed texture. Our implementation uses a permutation table of size 512 (based on the input seed) and precomputed gradient vectors to ensure deterministic and repeatable results across browsers.