Watch a snowflake grow atom by atom using Diffusion-Limited Aggregation on a hexagonal grid. Six-fold symmetry emerges naturally as particles randomly walk and stick, forming unique crystal branches.
DLA: random-walking particles attach when they touch the growing crystal. The hexagonal grid enforces 6-fold symmetry. Branching occurs because tips grow faster — they're more exposed to incoming particles.
Adjust temperature (affects branching) and sticking probability. Lower temperature produces more dendritic (branched) crystals; higher temperature makes compact hexagonal plates.
No two snowflakes are alike because each crystal follows a unique path through the atmosphere, encountering different temperatures and humidity. A single crystal can contain 10¹⁸ water molecules.
This simulation grows a snow crystal one cell at a time using Diffusion-Limited Aggregation (DLA) on a hexagonal grid. Particles wander randomly along the crystal's frontier and freeze in place with a temperature-dependent sticking probability; every frozen cell is mirrored across six axes of rotational symmetry, so the familiar six-fold snowflake form emerges automatically. You watch the crystal expand from a single seed in real time, with live readouts for the number of frozen cells, the crystal radius and the growth step count, and you can colour-age the branches from deep blue (oldest) to icy white (newest).
Real snow crystals form because water molecules naturally bond in a hexagonal lattice, and their final shape is dictated by the temperature and humidity each crystal passes through as it falls. The branching seen here reflects a genuine physical instability: protruding tips capture incoming water vapour more readily than the recesses behind them, so they grow faster and sharpen — the Mullins–Sekerka instability. Lower temperatures favour spiky dendrites and ferns, while warmer conditions near the melting point produce compact hexagonal plates, which is exactly why this model lets you switch between plate, stellar, dendrite and fern presets.
What is Diffusion-Limited Aggregation (DLA)?
DLA is a model in which particles move on a random walk and irreversibly stick when they touch a growing cluster. Because the cluster's protruding tips intercept wandering particles before they can reach the interior, DLA naturally produces branched, fractal structures — the same process behind frost, mineral dendrites, lightning paths and electrodeposition.
Why does the snowflake have six-fold symmetry?
Water molecules bond at angles set by their hydrogen bonds, locking ice into a hexagonal crystal lattice. This simulation enforces that physics by mirroring every frozen cell across six 60-degree rotations, so a branch that grows in one sector appears identically in all six — just as the six arms of a real snowflake grow in near-identical conditions.
Why are no two snowflakes alike?
Each crystal traces a unique path through the atmosphere, meeting a different sequence of temperatures and humidities that subtly steer its branching at every moment. With roughly 10¹⁸ water molecules and countless possible arrangements, the chance of two crystals following identical histories is effectively zero.
In this model, colder settings raise the effective sticking probability and let walkers freeze anywhere on the frontier, producing fractal, dendritic branches. Warmer settings bias growth toward the outermost cells, smoothing the form into a compact hexagonal plate — mirroring how real morphology shifts between plates, columns, dendrites and ferns across the temperature range.
It sets how likely a wandering walker is to freeze when it reaches the crystal's edge rather than wander on. A high sticking probability fills in gaps and rounds the crystal, while a low probability lets walkers probe deeper before attaching, sharpening tips and exaggerating the branching.
The colour encodes the age of each cell. Cells that froze early in the growth are drawn in deep blue, and the most recently added cells appear in bright icy white, so you can read the crystal's growth history at a glance and see which branches formed first.
It captures the essential physics — random vapour diffusion, preferential tip growth and hexagonal symmetry — but it is a simplified 2D model. Real crystal growth also involves faceting, surface tension, attachment kinetics and full three-dimensional structure, which advanced physical models (such as those by Kenneth Libbrecht) simulate in much greater detail.
It controls how many random-walking particles are released each animation frame. More walkers per frame make the crystal grow faster so you reach a finished snowflake sooner, while fewer walkers slow the growth down so you can watch the branching process unfold in detail.
It is the physical principle that a growing interface fed by diffusion is unstable: any small bump that pokes ahead of the front sits in a richer supply of material and therefore grows even faster, amplifying the bump into a branch. This positive feedback is what turns a smooth seed into the elaborate arms of a snowflake.
The simulation halts growth once the crystal's radius reaches roughly 40 percent of the viewport, so the finished snowflake stays fully visible and framed. Press "New Crystal" to clear the canvas and grow a fresh, unique crystal from a single seed.