Take the 2-minute tour ×
Graphic Design Stack Exchange is a question and answer site for Graphic Design professionals, students, and enthusiasts. It's 100% free, no registration required.

6 Answers 6

up vote 13 down vote accepted

Free online options

For something quick, there are a growing number of (usually SVG-powered) free online flow chart tools. Here's a few that don't require log-in, all pretty basic but user-friendly:

  • Draw.io (free) - straightforward, allows saving straight to Google Drive or Dropbox
  • Gliffy (free up to 5 public diagrams, then pay-for) - clean layout, has a 'Confluence' plugin for wikis
  • Other answers on this page recommend LucidChart (freemium) and Cacoo (freemium)

For mac / iOS

Omnigraffle is popular for that sort of thing, if what you want is to make connected-block arrow-heavy flow diagrams quickly.

I don't use it myself, but I know a few information designers who swear by it as a simple way to put together an outline for a diagram, organise their thoughts and get the layout, content and structure right. They then export to Adobe Illustrator to design the presentation of the final product - you could skip this final step if you're just making simple diagrams like that.

enter image description here

For PC

I've heard vague but positive things about Visio, and people sometimes describe Omnigraffle as 'Visio for Mac' so I think they're fairly equivalent.

You can also browse software alternative lists like this one.

enter image description here

share|improve this answer
I've used Visio a few times for UML diagrams, these sort of graphs are definitely doable using it. –  JohnB Mar 13 '13 at 14:36
Omnigraffle is not 'Visio for the mac'. Omnigraffle is actually fun to use. :) –  DA01 Oct 5 '14 at 16:53

I like Dia which is a free open source diagramming tool available for Windows, Mac OSX and Linux. Its been around for years and is popular with both software and electronic engineers.

Dia screenshot

share|improve this answer
Nice answer! Welcome to GD.SE :) –  Yisela Oct 24 '13 at 1:33

yEd is good at this, is free and has Windows, Mac and Linux versions:


yED Example

share|improve this answer

A great online solution, one that integrates well with Google Drive is Lucid Chart.

There are paid plans, but it's mostly free. I've created tonnes of diagrams for it and this is a typical implementation.

enter image description here

share|improve this answer

My favourite software for this is actually a web-based editor, Cacoo.

It's very good at most linked diagram styles (both your examples are quite easy to make with Cacoo), and is much more user-friendly than Visio (though not as in-depth). It's also cross-platform due to it being web-based, and seems to have an offline mode, though I don't use that personally.

The reason I settled on Cacoo was actually because of its collaboration feature, that allows multiple users to be working on the same diagram at once. Obviously this doesn't work so well in offline mode, but is surprisingly effective when you want to show someone an idea or make quick changes.

I pair Cacoo with MindMeister for mind-mapping, and have all my diagramming needs covered.

share|improve this answer

I don't know if its suitable here, but there are also ways with not WYSIWYG-programms. In my example the tikz-package of LaTeX. Normally TeX is used for texts and professional scriptum, but also good looking vector graphics are possible, with a little effort. Other great examples can be found in tex.SX or behind this link. :)

enter image description here

Source code:

block/.style    = {draw, thick, rectangle, minimum height = 3em, minimum width = 3em},}
\begin{tikzpicture}[auto, thick, >=triangle 45,fill=blue!20]
\node at (0,0)[circle,draw,inner sep=0pt,minimum width=3mm,name=n1,label={225:$-$},fill=blue!20] {};
\node[block,right of= n1,node distance=2cm,fill=blue!20] (con) {Controller};
\node[block,right of= con,node distance=3cm,fill=blue!20] (sys) {System};
\node[block,below of=con,xshift=1cm,node distance=2cm,fill=blue!20] (mea) {Measurement};
\draw[<-] (n1.west) to node[midway,above] {$r$} (-1,0);
\draw[->] (n1.east) to node[midway,above] {$e$} (con.west);
\draw[->] (con.east) to node[midway,above] {$u$} (sys.west);
\draw[->] (sys.east) to node[midway,above] (y) {$y$} ++(1,0);
\draw[->] (y.south) |- node[midway,above] {} (mea.east);
\draw[->] (mea.west) -| node[near end] {$y_m$} (n1.south);
\draw[<-] (sys.north) to ++(0,1) node[above] {Disturbances};
share|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.