Neural Cellular Automata Sandbox
A neural cellular automaton gives every grid cell a small state vector (color, an alive channel, a few hidden channels) and updates all cells with the same tiny network: each cell perceives itself and its neighbours through identity, Sobel-x and Sobel-y filters, feeds that through a small dense layer, and adds the result to its state — stochastically, so only a random fraction of cells fires each step. This sandbox is honest about what it is: the alive channel follows a hand-designed local growth rule, so every pattern reliably grows from the seed and heals when you click to erase a region, while the color and hidden channels evolve under randomly initialised network weights. Randomize the weight seed to explore the space of dynamics — some settle into stable textures, some churn forever, some saturate — with live stability metrics, per-channel views, and sliders for update rate, fire rate and channel count.
Runs 100% in your browser — models are trained and computed locally on your device.
Read the full guide to this tool
Notes
- The perception stage is a fixed depthwise convolution (identity + two Sobel kernels per channel); only the dense layer after it differs between weight seeds — the same architecture Mordvintsev et al. trained in "Growing Neural Cellular Automata" (2020).
- In the original work the weights are *trained* with backpropagation-through-time to grow a specific image and regrow it after damage. Training is far too slow for a browser page, so here the life channel is hand-designed (logistic neighbour growth) and the rest is an explorable random network — a sandbox of NCA dynamics, not a trained organism.
- Stochastic updating (the fire rate) stands in for asynchronous biological cells: because no global clock synchronises updates, any pattern that persists must be robust to timing noise.
- Alive masking means a cell with no living neighbour is wiped to zero — growth can only advance along a living frontier, which is exactly why erased regions heal from their edges inward.
- Runs 100% in your browser — models are trained and computed locally on your device.