b2KIT

Cellular Automata Simulator

Run 1D elementary automata (all 256 rules) and 2D Conway Game of Life. Draw patterns, step through, or run continuously.

Tested tool guide Tested browser tools Checked August 16, 2026

What Cellular Automata Simulator does, with a checked example

Choose a one-dimensional elementary rule from 0 through 255 or switch to the two-dimensional Conway Game of Life, set the starting cells, and advance the system one generation at a time or continuously. The simulator is useful for seeing how a small local rule produces stripes, repetition, motion, or apparent disorder. The key detail is that each generation is synchronous: every new cell is determined from the same previous generation, not from cells already updated during the current step.

Worked example

A concrete input and expected output from the current implementation.

Input

Select 1D mode, enter Rule 30, set the initial row to 0001000, and advance one generation.

Expected output

0011100

In Rule 30, the neighborhoods 001, 010, and 100 produce a live center cell. Those neighborhoods occur around the original center cell, while every other position in this example has neighborhood 000 and remains inactive.

How the result is produced

1

Elementary rule encoding

A one-dimensional elementary automaton has two cell states and examines a cell together with its left and right neighbors. A rule number encodes the eight outputs for neighborhoods 111, 110, 101, 100, 011, 010, 001, and 000. The numbers 0 through 255 therefore cover all possible output mappings for this three-cell neighborhood.

2

Conway Life updates

In the two-dimensional mode, each cell has eight surrounding neighbors. A live cell remains live when it has two or three live neighbors, and a dead cell becomes live when it has exactly three. Every other cell is dead in the next generation. Stepping exposes each discrete update; continuous running repeatedly applies the same rule.

Good uses

  • Compare Rule 30, Rule 90, and other elementary rules from the same single-cell seed.
  • Draw a Life still life, oscillator, or moving pattern and verify its evolution one step at a time.
  • Explore how changing a few starting cells alters symmetry, repetition, growth, or extinction.

Limits and checks

  • A rule number does not determine a complete result by itself; the initial cells and number of generations are also required.
  • Behavior near the displayed boundary may affect a pattern once activity reaches an edge, so do not automatically treat a finite view as an infinite grid.
  • The 1D mode covers binary, radius-one elementary rules, not automata with additional states, larger neighborhoods, or independently customized transitions.

Common questions

Why does Rule 30 produce three live cells from one live cell?

With isolated input 010, the three relevant overlapping neighborhoods are 001, 010, and 100. Rule 30 assigns output 1 to each of them, producing 111 beneath the original live cell. Positions farther away see 000, whose Rule 30 output is 0. Later rows depend on all neighborhoods created by the preceding row.

Can the 2D mode simulate HighLife or arbitrary Life-like rules?

No. The described two-dimensional mode applies Conway's specific birth and survival conditions. A pattern designed for another Life-like rule, such as one with an additional birth count, can evolve differently even when its starting grid looks identical. Use the 1D rule selector only for elementary one-dimensional automata; its numeric rules do not configure the 2D mode.

References and verification

The example and behavioral notes were checked against the browser implementation. Standards and primary references below define the relevant format, formula, or platform behavior.

Related Tools