Sometimes I have a picture of a software design in my head and I just want to draw it. If I don't need to collaborate with anyone remotely I might just draw it freehand. For collaborations and for diagrams I might want to iterate on, a tool like LucidChart can be really handy.
But sometimes I just want to list concepts as I hear them, fill in the connections between them, and let a computer worry about layout. That's what the tools below are all about. The particulars of each tool differ, but all of them let you enter a simple text description, e.g.:
And they will turn it into a visual diagram, like so:
(This diagram was generated by nomnoml).
I poked around at several of these tools, and here's what I found. I'm listing these in order of how much I liked them, favorites first.
Beautifully slick interface, autocompletion, ultra-simple syntax, some nice options to adjust the generated layouts. I really like gleek. Types of diagrams: graphs only.
nomnoml has a gorgeously spare and clean UI and a really pleasant user experience. Types of chart: graph only.
As the name suggests, this site is strictly for creating sequence diagrams. It generates them in a fun, informal, hand-drawn style, and has a servicable interactive editor.
A messier, less pleasant and less powerful UI than gleek or nomnoml. But yUML can generate class diagrams, activity diagrams, and use case diagrams. It also has an option for generating either “slick” or “scruffy”, hand-drawn-style images.
PlantUML is software that you download and use locally; the website is mostly just ads. PlantUML is interesting because it can be embedded into other text documents like Markdown or Emacs org-mode, and there are various editor extensions for it.
And now, in video form
Here's a video of a recent stream in which I explored all of these tools:
I hope you find this rundown useful. What's your favorite diagramming tool?