I'm looking for a vector graphics editing program that will easily let me create and maintain diagrams in specific diagramming techniques.

The diagrams I need support for are all network diagrams: images consisting of shapes from a fixed repertoire, connected by connectors.

By a diagramming technique, I mean: a specific repertoire of two-dimensional shapes and connectors that can be used, and a bunch of further constraints on how they can be combined to form a diagram. Examples: flowcharts, ER models, state machines, AVL trees, Petri nets, 3-colored cubic planar graphs, etc. etc. etc.

This imposes the following concrete requirements on the application:

  1. It must create vector graphics. (Paint.NET doesn't.)
  2. It must be a WYSIWYG editor for diagrams. (Graphviz isn't.)
  3. It must support templates of shapes and connectors. (Inkscape templates don't.)
  4. It must allow me to add my own custom editing operations. (Dia doesn't.)
  5. It must allow me to add my own custom post-editing operations, i.e. operations that automatically run after the user changes the diagram. (Inkscape doesn't.)

The only application I know that meets these requirements is Microsoft Visio.

However, I have a few additional requirements:

  1. It must run on Windows and (Ubuntu) Linux. (Visio doesn't, unless it runs on Wine.)
  2. It would be nice if it runs on Apple devices as well.
  3. It must be inexpensive. (Visio isn't.)
  4. It would be nice if it's free.
  5. It would be nice if it is open source.
  6. It must allow me to save the diagrams locally. (Web applications are fine as long as they meet this.)
  7. It must not impose any restrictions on the size of the diagrams.
  8. It would be nice if it doesn't work with fixed pages of fixed size on which the diagrams are supposed to fit. I want to determine a page size only when printing or exporting, thank you.

I'm well aware that this is a lot to ask for, but … do you know anything that meets these requirements, or that can be made to meet them with relatively little effort?

2 Answers 2


Take a look at Pencil: http://pencil.evolus.vn

It runs on Linux, Windows, and Mac. It's in the repos for most of the popular Linux distributions (so sudo aptitude install pencil or sudo yum install pencil should work).

You can export to SVG, PNG or PDF (and others). It's pretty flexible, I generally use it for flow diagrams and the like, but it's also quite good as a GUI designer for programmes and websites and the like. It's WYSIWYG, has templates, and is easily customised.

  • Thanks a lot! The pencil distributed with Ubuntu 12.04 is far too old (no templates, actually appears to be a different piece of software) but the package available on the site looks promising. It has Templates, Actions and Behaviors, but it's not very clear how to define your own. This will be a long-term project ... Sep 25, 2014 at 9:19

One line of solutions is JavaScript diagram editors - I'm posting this answer to collect my finds; feel free to improve on this:

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.