Mathematics Stack Exchange is a question and answer site for people studying math at any level and professionals in related fields. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm looking for a program or utility to help construct DFA/NFA/PDA etc. and the like.

The main reason I'm interested in this, is because I want to be able to move the various states around without breaking their component connections, or having to redraw all the connections to their new place (otherwise I'd be doing this by hand! :P )

Please let me know if there's a better SE site for this.

share|cite|improve this question
Mind defining the abbreviations for non-specialists like me? – J. M. Nov 22 '10 at 14:48
@JM: DFA=deterministic finite automata, NFA=nondeterministic finite automata, PDA=pushdown automata. That said I am not sure if this is the right/best place for this question. – Timothy Wagner Nov 22 '10 at 14:51
@Raven: By construct do you mean draw? – Timothy Wagner Nov 22 '10 at 14:53
@J.M. -- Timothy has the right of it. Like I said, if there's a better place for this question, I'm all ears. However, the only computer science site I know about is theoretical computer science which is way beyond the scope of a question like this. – Raven Dreamer Nov 22 '10 at 14:54
@Timothy Wagner -- yes, I'm just looking for a program to draw out the automata. – Raven Dreamer Nov 22 '10 at 14:54
up vote 3 down vote accepted

JFlap is a pretty useful tool.

I have also used Grapher which may be downloaded from here:

share|cite|improve this answer
Grapher is perfect, thank you. – Raven Dreamer Nov 22 '10 at 15:30
  • If you want to construct and test and play with your automata, you might find JFlap usefull.

  • If you want to produce images and are familiar with LaTeX then TikZ is great (TikZ automata examples)

  • If you want to produce images maybe a vector drawing tool like Inkscape

share|cite|improve this answer
+1 for TikZ automata examples. – user1869 Dec 20 '10 at 20:20

If I were attempting to draw a DFA or NFA, I would probably use Graphviz.

share|cite|improve this answer

If you already have access to Mathematica, you can also use it to make images of DFAs. The recent versions have the ability to draw graphs.

share|cite|improve this answer
I get Mathematica free through my university. This is good to know, thanks. – Raven Dreamer Nov 22 '10 at 17:28
GraphPlot[] and GraphPlot3D[] are really nice. :D – J. M. Nov 22 '10 at 23:18

Have a look into the dot file format. It is a quasi-standard for graph descriptions. Once you have written down your graph, you can generate an SVG from it using e.g. graphviz and edit the result in Inkscape.

share|cite|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.