I'm looking for a tool for drawing UML class diagrams and flow diagrams. I want to be able to sketch things casually, and not have to satisfy some heavy-handed model conformance checker.

Multi-platform (Windows and Mac) is desired. I use Windows but I want people developing on Mac to also be able to easily refer to them.

It would be great if the file format was friendly toward incremental diffs. I have used UMLet up to now, and one thing I like about it is that I can check the drawings in to git along with source code and they are small and have incremental changes (being saved as XML text and not rearranging everything when saving after adding or editing an element).

For the Class diagrams, I make heavy use of "qualification" labels to document keyed collections (e.g. a std::map), and have also generalized the use of solid and white diamonds to use different colors to indicate the type of ownership:

enter image description here

Having the quantity box change color too was not intentional, but I'm fine with it that way.

I was using UMLet for Class Diagrams, but as of version 14 they are deprecating all the old element types, and the new arrow shape can only draw the qualification tag with no arrow type or the plain -> arrow on that same end; not the diamond.

As the elements used, in general, in my drawings have been deprecated and it doesn't automatically update the usage, I would need to redraw everything anyway. So it's a good time to look for a new program.

For sequence diagrams, I tried using Visio. The main problem with that is the cost. The advantage is that this is more sketch like than a formal diagram, so it's good to be able to just draw what I want. I found 3rd party shapes that are OK for this (unlike the supplied UML stuff which insists on only drawing formal diagrams with error checking), but it's less than ideal. Arrow ends only snap to specific snap points rather than anywhere along the visible border, an enclosing box captures things and the shapes within it no longer work as they did in the open, etc.

  • 1
    You can use Star UML. It is available for Windows, Mac and Linux too. staruml.io Commented Feb 27, 2016 at 11:30

3 Answers 3


Take a look at yEd - Graph Editor, either via Wikipedia , or via its Product Site. Here is a quote about it (from this last link):

yEd is a powerful desktop application that can be used to quickly and effectively generate high-quality diagrams.

Create diagrams manually, or import your external data for analysis. Our automatic layout algorithms arrange even large data sets with just the press of a button.

It is cross-platform (Mac, Linux, Windows) and has the ability to snap to just about anywhere on the visible border.


You can have a look at dia as a desktop solution (though it's far from ideal) — it's sometimes handy to draw all sorts of diagrams. It stores data as XML as well and is able to export to pdf, png, svg and some other formats (even LaTeX is declared as a supported one). Dia works in both windows and Linux (not sure for Mac), but it is a typical GNOME application with non-native e.g. file Dialog.

You can also look at draw.io if you're OK with online services: it stores its data in some of the cloud storages most of that naturally allow to restore old file versions, under your account. This service seems to me more user-friendly than dia.

  • Are those both known to have the colored arrows etc.? I mean, is this a recommendation based on my specific requirements or "just what I use" in general?
    – JDługosz
    Commented Mar 2, 2016 at 0:44
  • These are more of general-purpose diagraming tools that include UML icon set. I'm not aware of colored arrows for any of these (although you may manually change color of anything in dia, but its pointless). Sorry, I missed the part, where you require the colors and noticed only that where you say that "you're fine with it that way". Re-reading your post, I'd say the tools I mentioned are more like last resort to your needs.
    – gluk47
    Commented Mar 2, 2016 at 1:04

I found Graphviz to be a wonderful solution, especially since you don't have to worry about where things are (though you can), you just worry about the information that it conveys.

The only catch is it's not very easy to install on windows (and to be honest GVEdit isn't that great). The best workaround is to use a different tool compatible with the "dot" language, as anything compatible with the dot language probably uses one of the utilities Graphviz provides under the hood anyway.

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.