← All tools

Turing Machine Simulator

Build a Turing machine — an infinite tape, a read/write head, and a finite-state transition function — and watch it execute. Define states, a tape alphabet (with a blank symbol), a transition table δ(state, read) → (write, next state, move L/R), plus start, accept, and reject states. Step or run any input and see the tape, head position, current state, and full execution history. The classic model of universal computation, and the next step up from finite automata. Everything runs locally in your browser.

States
Alphabet
Start state
Blank symbol
Accept states
Reject states

Transitions (state, read, write, next, L|R) — one per line

Initial tape

Max steps
state: head: step: 0

History

A Turing machine is a minimal model of computation: a one-dimensional tape of cells each holding one symbol (initialized with the input, blanks elsewhere), a head reading the current cell, and a finite state. Each step the transition function δ(state, read) → (write, next state, L|R) writes a symbol, changes state, and moves the head one cell left or right. The machine halts when it reaches an accept or reject state, or when no transition applies; it runs forever otherwise (bounded here by a max-steps cap). Turing machines can compute anything a finite automaton can and far more — they recognize the recursively enumerable languages, including non-regular ones like aⁿbⁿ. Pairs with the Finite Automaton Simulator (one rung down the Chomsky hierarchy) and the Regex Tester. Everything runs locally — nothing leaves your browser.