← All tools

Finite Automaton Simulator

Build a finite automaton — deterministic (DFA) or nondeterministic (NFA) with epsilon transitions — and run input strings through it. Define states, an alphabet, a transition table, a start state, and accept states, then step through any input and watch the state trace and accept/reject verdict. NFAs track the set of possible current states with epsilon-closure. Everything runs locally in your browser.

States
Alphabet
Start state
Accept states

Transitions (src, symbol, dst — ε for epsilon; multiple dsts space-separated)

Input string

State diagram

A finite automaton is a simple machine with a finite set of states, reading one input symbol at a time and changing state according to a transition function. A string is accepted if, after consuming all symbols, the machine is in an accept state. In a DFA every state/symbol pair has exactly one transition, so the run is deterministic; an NFA may have several transitions for the same symbol (the machine tracks the set of all possible current states) plus ε-transitions taken without consuming input — handled here by epsilon-closure. DFAs and NFAs recognize exactly the regular languages, the same class as regular expressions. Transitions are written src, symbol, dst (use ε for epsilon; put multiple destinations separated by spaces). Pairs with the Regex Tester and Topological Sort tools. Everything runs locally — nothing leaves your browser.