I would like to draw state diagrams and asm charts like these (under Win7):

State Diagram

Asm chart

Any recommendations? Can these be done with Microsoft Visio?


6 Answers 6


Visio is great. I had been using it long before Microsoft bought them. It's really a great interface. Expensive though.

On the free side, I would strongly suggest yEd:

yEd ABOUT screen

This is Java-based and is really an example of the Java Graph Visualization Library. The neat thing about this program is that it will (if you want it to) automatically arrange your diagram for you. If you look under LAYOUT in the menu bar there are different options. i use it when I'm done and have shapes all over the place.

Here is a yEd screenshot:

yEd screenshot

Good luck!

  • Looks really neat, thanks, do you think the first picture is done with Visio?
    – Anarkie
    Commented Jun 7, 2014 at 11:09

For my graduate paper work, flow charts and even circuits were all done in Visio. It has great support for these kinds of diagrams. It's the tool all of my professors recommended for the job.


I remember in University we used Dia which is an "informal" version of Visio. It definitely contains many different type of charts and you can even draw some of them by hand, so will pretty sure cover your needs.

On the downside sometimes I felt the result was kind of ugly and hard to even look decent, but that's my humble opinion

Forgot to mention that Dia is free to use and open-source


Check out Edraw. It has a free version which is very capable and should be mostly sufficient for the chart you're describing. It's very easy to use, but may not be as powerful as something like GraphViz.

I've used Edraw to make numerous organizational charts and flowcharts. While I'm not too familiar with state diagrams and ASM charts, my work looks very similar to what you've posted.

Here's one example image from the Edraw page:enter image description here



If you are not afraid of writting your State Machines diagrams, then the best option would be to use GraphViz. I used it for all the diagrams in my thesis, and it worked like a charm.

Graphviz is open source graph visualization software. Graph visualization is a way of representing structural information as diagrams of abstract graphs and networks. It has important applications in networking, bioinformatics, software engineering, database and web design, machine learning, and in visual interfaces for other technical domains.

You can see some examples of what you can achieve using GraphViz in the GraphViz gallery.

You have to write the description of the State Machine using DOT, which is a Graph Description Language. Is not difficult at all - don't let the text prevent you from making beautiful graphics. :)

  • 1
    So the state machine must be in DOT language, can it not realize VHDL? Thanks for the answer.
    – Anarkie
    Commented Jun 7, 2014 at 11:12
  • 1
    @Anarkie - By VHDL you mean Hardware Description Language? I'm not sure, as for the ASM graphs I used DOT. We will have to search in the Documentation (graphviz.org/Documentation.php). Also, this link could help as an example (ibm.com/developerworks/aix/library/au-aix-graphviz/…). I believe that you can define your own output images, but it's been a while since I used it - I just remember that it was a great tool, and made my like a lot easier while doing my thesis :) I hope this helps!
    – jimm-cl
    Commented Jun 9, 2014 at 2:52

You can also try LucidChart, which is actually a web-based application but it comes with a price although you can use the free registration and up to 25mb size for your diagrams.

Compared to Dia even Visio I think LucidChart offers the largest combination of shapes but I think are a little messed up in categories, so it requires some searching.

And also because it's web-based LucidChart is the best choice if another person or a whole team has to modify the diagram without saving file - sending file -receiving file blah blah...

Hope that helped.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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