Programmatic Patterns

generative html backgrounds. no build step, no dependencies. download any file and open it in a browser.

Bubble Message Background

imessage-style pill bubbles in rows across a 1920×1080 canvas. every other row flips so the tails face opposite directions. fill, outline, or liquid glass. animated and exportable.

canvas 2D bezier curves animation 1920×1080
Cymatic Plates

n-fold standing wave interference patterns rendered with bayer ordered dithering. low frequency shows clear geometry. crank it up and it becomes film grain.

canvas 2D wave math bayer dither animation
Caustics

shimmering light patterns, like what you see on the floor of a pool. ported from a 146-character glsl shader to a self-contained webgl2 page.

webgl2 glsl animation
Glass Flame

double domain-warped fbm turbulence with surface normals for glass specular highlights and iridescent edge shimmer. three modes: flame (red/orange), glass (aqua/blue), crystal (violet/rose). warp, speed, and glass intensity controls.

webgl2 glsl fbm animation
Particle Trace

upload any image and watch particles trace its shape. brightness drives a flow field that pulls particles into the light areas. three color pickers, adjustable count, speed, and trail fade. invert toggle for dark-on-white images.

canvas 2D particle sim image upload flow field
Truchet Tiles

quarter-circle arc tiles that flip between two configs driven by animated fbm noise. large organic blobs of each config drift slowly across the grid. tube highlights and a soft glow make the lines feel lit from within.

webgl2 glsl fbm animation
Cellular

animated voronoi noise with rainbow cell coloring. n seeds wander the canvas with toroidal wrapping so nothing ever escapes off-screen. border sharpness, saturation, and hue shift are all adjustable.

webgl2 glsl voronoi animation
Gyroid

raymarched gyroid isosurface with an orbiting camera. the gyroid is a triply periodic minimal surface that looks like someone folded space into itself. phong lighting with key, fill, and rim lights. scale and shell thickness controls.

webgl2 glsl raymarching sdf
Flow Ribbons

colored ribbon waves flowing across the screen. webgl2 fragment shader with lambertian lighting, specular ridge highlights, and iridescent hue shift. light and dark mode.

webgl2 glsl animation 16:9
Lissajous

animated lissajous curves — x = sin(a·t + δ), y = sin(b·t) — morphing as the phase δ drifts over time. three-pass neon glow on a dark canvas using screen blending. change the frequency ratio and watch the figure snap to a new knot.

canvas 2D parametric curves animation math