Finite State Machine Simulator
One transition per line, e.g. q0,0,q0 or q0 -0-> q0 or q0 0 -> q1. NFA targets may be several, written {q1,q2} or q1|q2; epsilon may be e, eps, epsilon, ε or @.
Machine type:
Input format:
Start state:
Accept states:
Test string:
Strings to test:
Alphabet:
Max length:
Trace:
Transition table:
:
Separator:
Calculation Result
Download CSV
| No. | Result | State | Details |
|---|
Introduction to the tool and how to use it
An online finite state machine (FSM) simulator: paste a transition table into the input box to run DFA and NFA machines, returning both a result table and plain text you can copy or export as CSV.
Input format (one transition per line, three notations supported, auto-detected by default):
1.
2.
3.
Key parameters: choose DFA or NFA as the machine type. NFA transitions may have several targets, written as
Results come in three parts: the normalized transition table (one row per state and symbol pair, with all targets listed), the step-by-step trace (NFA states shown as sets) and the test result (accepted or not, plus the final state set). A summary block reports the state set, alphabet, start state, accept states, a determinism check and a reachability analysis.
Two things to note: when the same state and symbol lead to several targets the machine is not a DFA and the tool says so explicitly instead of silently taking the first target; an undefined transition is treated as falling into a dead state and clearly flagged, and a symbol outside the alphabet is reported separately.
Input format (one transition per line, three notations supported, auto-detected by default):
1.
q0,0,q0 (comma separated);2.
q0 -0-> q0, q0 -a-> q1 (arrow notation, the symbol may be empty);3.
q0 0 -> q1 (space plus arrow).Key parameters: choose DFA or NFA as the machine type. NFA transitions may have several targets, written as
{q1,q2} or q1|q2. The start state defaults to the source state of the first transition. List accept states separated by commas; leave empty for none. Provide a single test string, or pick "enumerate all short strings" to generate them from the alphabet and a maximum length. Epsilon transitions may be written as ε, eps or @.Results come in three parts: the normalized transition table (one row per state and symbol pair, with all targets listed), the step-by-step trace (NFA states shown as sets) and the test result (accepted or not, plus the final state set). A summary block reports the state set, alphabet, start state, accept states, a determinism check and a reachability analysis.
Two things to note: when the same state and symbol lead to several targets the machine is not a DFA and the tool says so explicitly instead of silently taking the first target; an undefined transition is treated as falling into a dead state and clearly flagged, and a symbol outside the alphabet is reported separately.
Message board
All messages →-
No one has spoken up yet — want to go first?