What's the best software for creating flowcharts and other visuals to document application logic?

twitter logo github logo ・1 min read

I'm looking to create some flowcharts, but I'm only aware of the obvious solutions like PowerPoint or Keynote. Does anyone have any suggestions?

Here's an example of a decently complex flowchart, via Slack:

twitter logo DISCUSS (33)
markdown guide
 

the best one's missing :-)
Draw.io - draw.io

A browser-based, feature rich (stencil lib, visio im-/export, etc), well maintained, free and open source diagram editor. Has UML stencils for your use case.

Available as a free software as a service, as an oflline app (Chrome App in the Chrome store) or as web app for self-hosting. They earn money from selling a draw.io Confluence plugin (which is based on the open source draw.io, but is not not open source by itself). I highly recommend it if you use Confluence as the company wiki.

I would alwyas prefer draw.io over gliffy, Visio Online, etc.

 

Yeah, I second that recommendation, too.

Draw.io is not perfect and has some rough edges (e.g PDF export requiring contact to an external server) but has a quiet impressive featureset and is just helpful in getting things done.

 

Draw.io is definitely the best choice if you want only handful of charts without any super sophisticated features 😊 .For a developer like me this tool is more than enough.

 

especially since they offer an offline version...

fancy export facilities, to png, svg and other formats.

 
 

I'll second for draw.io. I'd much rather be coding than drawing, and draw.io is a slick tool that gets me back to the work I love ASAP.

 

Free/open-source
For a text->graphics approach, GraphViz and PlantUML are neat.
StarUML v1 is useful if you don't mind missing the snazzier features of commercial modeling programs

Free for non-commercial use
Astah Community Edition slightly more complex and featureful than StarUML above.

Free Trial
go.js produces some really nice interactive graphs. Some of its example programs are already miniature UML tools, and theoretically you could us it to write the best tool for your use-case

Commercial
Microsoft Visio is pretty much the enterprise standard
LucidChart comprehensive suite of cloud-based UML tools.
StarUML v2 slightly more mature-looking upgrade to the open-source version above

Relevant Stackoverflow questions
Linux UML tools
General UML tools

 

now this is a thorough answer! Currently only thinking about a handful of diagrams, so would probably stay with the free tier. Coincidentally, another dev user posted about PlantUML just yesterday. I'll give that and GraphViz a shot and let you know how it goes. Thanks!

 

Wow, great list. For commercial purposes (so would be willing to pay a reasonable amount) which would you recommend for someone who prefers an intuitive UX over fully-featured-but-steep-learning-curve-and-kind-of-crazy, if you know what I mean?

 

Unfortunately, Visio (at least up to 2013) is indeed enterprise standard, but it has some annoying features and bugs.
One of the most irritating thing is brainless rearranging of diagram when adding new element. Sometimes it cannot be reverted. I've seen this not getting fixed for the past 10 years. Other one is that in 2013, UML took a step back and it is less intuitive.

 

I personally like LucidChart a lot. Very versatile, great capabilities & templates and they keep improving it.

 

Draw.io is a pretty decent, free, online diagramming tool that offers a variety of different diagram types including flowcharts and UML

 

If you are on Mac, you can use Omnigraffle. I have been using it for 5 years and I'm happy with it for all kinds of visual creations (from screenmocks, wireframes, flowcharts, process diagrams etc).

Recently I started using Sketchapp. Though it is for creating wireframes and like, you can still use it for process documentations.

 

I personally can't stand Omni Group's products, but they have made the best app for making a magnetically attachable arrow diagramming app with added vector drawing functionality.

I think Graffle's key power feature is being able to quickly select objects of similar shape, color, or style to then apply new or uniform styles.

But, I don't draw carts anymore with software, so I use Sketchapp for vector work.

 

interesting, someone else also suggested omnigraffle to me and showed some mockups she'd done that looked pretty crisp. I'm partial to free software...but their pricing does seem reasonable

 
 

Over the years I've tried many tools. On the Mac - definitely the best is OmniGraffle. On Windows - MS Vizio.

My preference is always 'Graffle.

 

There is an open-source Markdown-like language for diagrams (albeit limited), called Mermaid.

You can try it here: knsv.github.io/mermaid/live_editor/

 

Mermaid is really great for "coding" diagrams. I mainly use it fro sequence diagrams.

The beauty is, you can embed it everywhere you can run JavaScript.

 
 

+1 for yEd and Draw.io. I also like websequencediagrams.com for documenting messaging flows between components.

 

Show me your flowcharts and conceal your tables, and I shall continue to be mystified. Show me your tables, and I won’t usually need your flowcharts; they’ll be obvious. - Frederick Brooks (Mythical Man Month)

For modelling the database, my go to is always MySQLWorkbench.

 

In college we used SmartDraw, which was (and likely still is) an awesome tool. The big catch is the cost - it was expensive then, which is why I didn't use it much after college, and it's even more expensive now...

I haven't had nearly as much need for these sorts of tools in the last few years, but for some one-off type stuff I've use Dia and Pencil, both are FLOSS projects.

Dia was a little clunky, but it handled a fairly complex chart well. Pencil is primarily a UI prototyping tool that also happens to have the assets to be used for this purpose - which leaves it's options a little more on the simplistic-but-easy-to-learn side.

 

yEd is another tool that I haven't seen mentioned. I use the desktop version. You can make neat looking drawings and render / save as graphml.

 

For Mac users who love ASCII diagrams (and who doesn't?), I highly recommend Monodraw.

 

I have been using PlantUML for all my thesis figures almost. Besides that, at work we use Gliffy as a plugin to Confluence. Furthermore, draw.io is a good alternative which is free.

The big advantage I found about PlantUML is the automatic routing and layout it generates. And as it just writing the PlantUML language, it works quite fine!

 

Anybody know of an interactive flowchart software where you could step through the flow?

 

I really like the ease of use for devs on code2flow.com flow charts are created by writing pseudo code. The looks could be improved but for quick explanations or discussions it's perfect.

 
 

Sparx Enterprise Architect is perfect for UML. Not so to document physical data models.

 

When I need something prettier than Dia, I resort to PowerPoint. I love Dia for being cross-platform.

 
 

I first started with Astah but found it completely useless, then I discovered draw.io and it's a big improvement. It's far from perfect, but it's great for collaborating.

Classic DEV Post from May 29

Is generalization killing creativity in the software industry?

As software gets more and more integrated into our lives, the industrialization of its crafting process becomes inevitable. But the over-generalization of software engineering can be crushing the creative side of programming.

Walker Harrison profile image
Graduate student in statistics at Duke University. Former dev.to employee. I like to blog about data science on my Medium publication, perplex.city, and on dev.to