Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I use MS Visio for most of my design/architecting work when I need to be able to save the diagram somewhere and edit it later. I'm not the biggest fan of Visio, but it gets the job done (and it's free at work).

I was wondering if there were any good alternatives to the fairly expensive Visio software, maybe something even better, that you guys have used in the past and were comfortable with. I'd certainly like to have that program in my toolbox!

share|improve this question

closed as off-topic by gnat, MichaelT, GlenH7, Kilian Foth, mattnz Aug 25 '13 at 9:01

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions asking us to recommend a tool, library or favorite off-site resource are off-topic for Programmers as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it." – gnat, Community, GlenH7, Kilian Foth, mattnz
If this question can be reworded to fit the rules in the help center, please edit the question.

If you removed the word "favorite" from the title then this might make a good question - despite it being a "list of X" question. What you need to do is emphasis what features you are looking for. – ChrisF Jun 4 '11 at 9:52
I purposefully left the question as open ended as possible to get a broad range of answers and potentially discover new solutions. Thanks for the feedback though, I see where you're coming from, Chris. – Alexandr Kurilin Jun 4 '11 at 20:10
I found this question to be useful because it asks for opinions. It's too bad that the policy is to mark asking for opinions as "off topic". – Brian Takita Aug 21 '15 at 20:22
Just in case anyone doesn't know - in the five years since this question was first asked, we now have a new site where such questions are better suited - – Mawg Apr 1 at 11:43
up vote 26 down vote accepted

I use yEd. It's freely available for all major platforms and has neat tools for automatic diagram layouts.

a free of charge general-purpose diagramming program with a multi-document interface.

It is a cross-platform application written in Java that runs on Windows, Linux, Mac OS, and other platforms that support the JVM.

yEd can be used to draw many different types of diagrams, including flowcharts, network diagrams, UML diagrams, BPMN diagrams, mind maps, organization charts, and Entity Relationship diagrams. yEd also allows the use of custom vector and raster graphics as diagram elements.

yEd loads and saves diagrams from/to GraphML, an XML-based format. The application can print diagrams including very large diagrams that span multiple pages...

share|improve this answer
Thanks for this. It's nice to find something I can use on Linux. – Amy Anuszewski Jun 4 '11 at 14:21
+1 Thanks for the recommendation. This one looks to be pretty easy to use – Jon Jun 4 '11 at 15:11
Looks good, trying out now. – Alexandr Kurilin Jun 4 '11 at 20:11
Just downloaded and played with it a little. Feel a need to upvote! – Codism Jun 9 '11 at 19:08
thanks a lot for sharing, i will going to give a try – Forhad Oct 16 '15 at 6:32

I use Enterprise Architect (

Everyone has their own priorities, but to me these are the good ones for a tool such as this:

  • is simple enough to be used out of the box
  • can generate code from class diagrams and vice versa.
  • is able to generate sequence diagrams from a running application. I used it from .NET by attaching a running process and it works just fine.
  • it has a neat model that can be used through a COM interface to automate some of the operations.
  • can store the models in CVS and SVN
  • multiple users can work on the same model at the same time
  • it is not expensive at all
share|improve this answer
EA is really good. I wish the runtime sequence diagram generator wasn't so buggy though. – Tamás Szelei Jun 9 '11 at 20:57
I've always liked EA too (registered user for circa 10 years). In the unhappy event I actually had to produce UML diagrams, it would be my choice. But my favourite diagramming tools are pencil and paper, or marker and whiteboard. – nbt Jun 9 '11 at 21:09

UMLet is a free open-source tool for UML diagram design. I have used it occassionally, it's cumbersome to use (or at least was some time ago, maybe they've polished it out since then), but gets the job done. You won't get diagrams as pretty as in Visio, so that might be an issue if they are meant for a more public presentation.

There's also astah*, the community edition is free. I didn't use it though.

share|improve this answer

I use inkscape. OpenClipart has a fairly wide selection of copyleft technical SVGs for use in technical diagrams, and I keep a folder full of additional symbols that I've created. It's certainly not as feature-rich as visio, but I find that generally when I need to make diagrams I just want something simple that gets the point across anyway, and inkscape does that without getting in my way.

share|improve this answer
Note that Inkscape is actually a full featured vector drawing software. It can be used as a diagramming software, though, thanks to the "connector" tool. – barjak Jun 4 '11 at 9:58
@barjak: yeah, inkscape is quite nice as an illustration tool, when I said it wasn't feature rich I was speaking to it's technical diagramming capabilities. It is nice though to have a full set of vector drawing tools when you need to make really shiny diagrams to impress a non-technical audience though. – Cercerilla Jun 4 '11 at 10:14
I agree Inkscape cannot compete with Visio as a diagramming tool. The point of my comment was to explain why. Your answer is perfectly valid, anyway. – barjak Jun 4 '11 at 10:40

I used CADE a couple of times. I found it much more intuitive than Visio but ran into a couple of problems, so it depends on your needs.

  • It didn't save to any usable format, so I had to use CutePDF to print it into a PDF file to distribute the diagram
  • It fell apart when I remoted into my desktop with a different resolution
  • If you've moved a group of objects from one place to another, it can sometimes be very difficult to change one object in that group without messing up your layout (not so bad if it's one group but I had 7 copies of the same group)
share|improve this answer

ModelMaker, my favorite feature is code / model integration, you can generate code from model and vice versa.

btw. I probably should mention that code / model integration works only with C# and Delphi

share|improve this answer
would you mind explaining more on what it does and why do you recommend it as answering the question asked? "Link-only answers" are not quite welcome at Stack Exchange – gnat Aug 29 '13 at 7:58

My favourite swiss army knife for all diagrams is Microsoft Visio 2007 or 2010. Most of my architectural diagrams are not at code level and doesn't strictly follow UML. The diagrams are at conceptual level or component / system integration type. I use simple shapes like squares, rectangles, ellipses, screen shots, various symbols and icons. Visio has tons of them and you can download free shapes from 3rd party for UML, SOA etc. Another advantage is hardware vendors like Dell, Sun,Cisco etc has all there gear in Visio templates.

That said I do use Sparx Enterprise Architect for more code level diagrams using UML. I have also used the architectural diagrams in Visual Studio 2010 Ultimate and they have a niche as well.

share|improve this answer

I've tried Argo, Star, Bouml and a couple of others, but my favourites tended towards greater simplicity because they allowed me to sketch ideas quickly without too much fuss:

My fave is this:

But I also have a soft spot for this:

share|improve this answer
would you mind explaining more on what these resources do and why do you recommend these as answering the question asked? "Link-only answers" are not quite welcome at Stack Exchange – gnat Sep 6 '13 at 16:50
First, this question is over two years old, and second, because it provides the same kind of functionality the op desires, but for free. – sunwukung Sep 7 '13 at 10:20

Not the answer you're looking for? Browse other questions tagged or ask your own question.