ChatDiagram
Tools/Free DFA maker

Free DFA maker.

Describe the language a machine should accept, or paste its transition table, and get a state diagram with the start state, every transition labelled and the accepting states marked. NFAs and Mealy machines too.

State DiagramEnter to send

Free account, no card · Export SVG, PNG or PDF

See it work

DFA examples.

Same tool, four requests. Every drawing below is a real render.

What you type
A DFA over {0, 1} that accepts strings with an even number of 1s. Two states, Even and Odd; Even is the start state and the accepting state.
Then tryChange it to accept an odd number of 1sAdd a dead state for any other symbol
State diagram: Even number of 1s
State diagram · OMG UML 2.5.1 §14 + Harel (1987) statechart · schematex-state

Rather start from a finished drawing? Browse 40 state diagram templates →

The drawing

What a DFA is.

A deterministic finite automaton reads a string one symbol at a time. From every state there is exactly one arrow for each symbol, so the path is never in doubt, and the string is accepted if the path ends in an accepting state.

Drawn as a state diagram, it is the answer format automata courses expect: a start arrow, one node per state, transitions labelled with their symbols, and the accepting states marked.

Standard
OMG UML 2.5.1 §14 + Harel (1987) statechart
Engine
schematex-state
Editable
Double-click text, drag nodes
Export
SVG · PNG · PDF
State diagram: What a DFA is
Who uses it

Who draws DFAs.

State diagram: Computer science studentsComputer science students

Homework and exam practice: the language in one sentence, the automaton on the page.

State diagram: Teaching assistantsTeaching assistants

Clean diagrams for slides and answer keys, redrawn in seconds when the question changes.

State diagram: Digital designersDigital designers

Sequence detectors and controllers as Mealy or Moore machines, before writing the HDL.

How it works

How to draw a DFA in three steps.

01

Describe it

One paragraph is enough to start.

“A DFA over {0, 1} that accepts strings with an even number of 1s. Two states, Even and Odd; Even is the start state and the accepting state.”
02

See the drawing

Drawn by the right engine.

State diagram: Even number of 1s
03

Say what changes

Every edit keeps a version.

Change it to accept an odd number of 1s
V2 · DRAWN FROM V1, NOTHING RETYPED
FAQ

Common questions

What is a DFA?

A deterministic finite automaton: a set of states, an alphabet, one transition per state and symbol, a start state and a set of accepting states. It accepts a string if reading it from the start state ends in an accepting state.

What is the difference between a DFA and an NFA?

In a DFA every state has exactly one transition per symbol. An NFA can have several, or none, and may use ε-moves; it accepts if any path ends in an accepting state. Every NFA can be converted into an equivalent DFA.

Can it draw NFAs, Mealy and Moore machines?

Yes. Say which one you want. Mealy transitions are labelled input/output.

Can I start from a transition table?

Yes. Paste the table and say which state is the start and which are accepting.

How are the start and accepting states shown?

The start state has an incoming arrow from a filled dot, and each accepting state is labelled on the diagram.

Do I need an account?

Yes, a free one. No card is asked for.

Related tools

Other drawings for the same work.

Draw your automaton now.

Free account, no card. Describe the language and see it in under a minute.

Open the editor