Automata Theory: NFA to DFA Converter, Regex to DFA & NFA Tool
Automata Theory is a free toolkit for automata theory and formal language courses. It has two tools:
NFA to DFA converter
Convert an NFA (nondeterministic finite automaton) to a DFA (deterministic finite automaton) using the subset construction algorithm. Draw an NFA on a free-form canvas, or generate one from a regular expression, then step through the worklist algorithm one state at a time — seeing exactly which NFA states map to each new DFA state.
Regex to NFA and DFA converter
Enter a regular expression and get both the NFA that Thompson's construction builds from it, and the DFA that subset construction produces from that NFA — each with an optional step-by-step walkthrough showing how a small NFA for each symbol is combined via union, concatenation, and star.
Frequently asked questions
How do I convert an NFA to a DFA?
Use the subset construction algorithm: each DFA state represents a
set of NFA states reachable on the input so far.
How do I convert a regex to a DFA or NFA?
A regex converts to an NFA via Thompson's construction, and that NFA
converts to a DFA via subset construction.
What's the difference between an NFA and a DFA?
A DFA has exactly one transition per symbol per state. An NFA can
have zero, one, or multiple transitions per symbol, plus free
epsilon moves, and accepts a string if any possible path leads to an
accepting state.