Drag a state to move it. Double-click empty space to add one. An arrow marks the start state; a double ring marks an accepting state.
Definition
Type target states separated by commas. Leave a cell empty for no transition.
Test a string
Test many strings
Explore the language
Convert the automaton in the editor
Each step shows the new diagram, its table, and an exact check that it accepts the same language as the source. Send any result back to the editor to keep working with it.
Regular expression to ε-NFA
Thompson's construction. Use | for union, * zero or more, + one or more, ? optional, and ε or ∅ for the empty string and empty language. Put \ before a symbol that looks like an operator.
Automaton to regular expression
State elimination on the automaton currently in the editor. It works for DFAs, NFAs and ε-NFAs. The result is checked against the original.