DEV Community

Walker Harrison
Walker Harrison

Posted on

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

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:

Top comments (32)

Collapse
 
treehouse profile image
Chris

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.

Collapse
 
aptituz profile image
Patrick Schönfeld

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.

Collapse
 
gernotstarke profile image
Dr. Gernot Starke

especially since they offer an offline version...

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

Collapse
 
alephthoughts profile image
Abhishek Sharma

+1

Collapse
 
jesselang profile image
Jesse Lang

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.

Collapse
 
kalyankesana profile image
Kalyan

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.

Collapse
 
crescojeff profile image
Jeff Creswell • Edited

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

Collapse
 
walker profile image
Walker Harrison

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!

Collapse
 
ben profile image
Ben Halpern

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?

Collapse
 
mdabek profile image
Marek Dabek

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.

Collapse
 
skofgar profile image
Roland 🐺

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

Collapse
 
nottylerjames profile image
Tyler Healey • Edited

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

Collapse
 
jjude profile image
Joseph Jude

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.

Collapse
 
dothtm profile image
dotHTM • Edited

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.

Collapse
 
bizzibody profile image
Ian bradbury

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.

Collapse
 
walker profile image
Walker Harrison

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

Collapse
 
ben profile image
Ben Halpern

Omnigraffle looks great!

Collapse
 
mrmig profile image
Alexey Migutsky

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/

Collapse
 
structed profile image
Johannes Ebner ☁🎮

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.

Collapse
 
wosi profile image
Christopher Wosinski

Mermaid is awesome with the corresponding plugin for Visual Studio Code: marketplace.visualstudio.com/items...

Collapse
 
jlhcoder profile image
James Hood

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

Collapse
 
courier10pt profile image
Bob van Hoove

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.

Collapse
 
anonjr profile image
Mark Bussell Jr • Edited

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.

Collapse
 
martin profile image
Martin Beentjes

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!

Collapse
 
dserodio profile image
Daniel Serodio

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