Is there any good tool or tool-chain that allows UML images in the .svg format to be created from a textual source file? The reason for this question is that I want to automate the generation of these images to avoid having to manually create and update this set of images.
9 Answers
I've created a list of tools that accept a textual model description as input here:
http://modeling-languages.com/uml-tools-textual-notations-define-uml-models/

- 10,735
- 1
- 31
- 44

- 8,058
- 2
- 33
- 39
-
Is it normal that SQL keywords are printed in upper case on the webpage? (I guess they are SQL keywords, but I'm not sure.) – leemes May 26 '12 at 21:53
-
It´s not, I fixed this in the main UML tools page referenced there. Why this happened is something I´m still not completely sure – Jordi Cabot May 27 '12 at 05:19
PlantUML is a good tool which converts text into standardized uml diagrams.
you have this as a plugin for confluenze

- 22,600
- 28
- 79
- 90

- 131
- 2
- 3
-
2PlantUML is available as a standalone java application, and also has plugin versions for [a bunch of wikis, editors and IDEs](http://plantuml.sourceforge.net/running.html). By default it seems to produce png files, but can output to svg with the appropriate flags. – Alan May 12 '13 at 20:09
-
3A definite +1 for PlantUML, especially for sequence diagrams - much less finicky than the pic macros in UMLGraph, the little GUI app autoupdates and shows you your diagram every time you save, and the error messages are much more helpful. – Adrian Jul 10 '15 at 12:31
UMLGraph is a program for generating UML diagrams (primarily Class Diagrams and Sequence Diagrams) from text based descriptions. It is intended to be used with java source code, but with some alterations, C++ style source code can also be used as described by this blog entry.
Quote from the UMLGraph website:
The GNU plotutils pic2plot program can then process the sequence diagram to create a PNG, PNM, (pseudo)GIF, SVG, AI, Postscript, CGM, FIG, PCL, HPGL, Regis, or TEK drawing.

- 6,387
- 3
- 29
- 29
-
1Tried this for sequence diagrams ; found it to be incredibly finicky (the sequence diagrams are done with pic macros, not Java - I could get the samples to work, but my own macros failed despite being valid as far as I could tell), and the sample output looks terrible as bitmaps or SVG (on Ubuntu 14.04 with pic2plot 2.6). For sequence diagrams I would avoid... – Adrian Jul 10 '15 at 11:32
-
You should checkout http://www.zenuml.com . It is an online to converting TEXT into Sequence Diagram instantly. – Devs love ZenUML Aug 09 '17 at 04:05
There is another tool called as JS Sequence Diagrams, to allow generation of UML sequence diagrams from simple text.
It uses underscore.js
and Raphaël
to build the diagrams.
It is Simplified BSD licensed and the source code available at GitHub

- 8,469
- 6
- 38
- 48
I know this is an old thread but still, I'd like to share one more tool which I find extremely helpful and user-friendly: https://www.websequencediagrams.com/
This is an online tool that will get you up and running in no time.
It also features a variety of pretty nice layouts out of the box.
Here are two for example:

- 2,954
- 1
- 25
- 32
For sequence diagrams, I really like Mscgen. Simple text format in, lovely diagrams out.
"Mscgen is a small program that parses Message Sequence Chart descriptions and produces PNG, SVG, EPS or server side image maps (ismaps) as the output" -http://www.mcternan.me.uk/mscgen/
e.g. Input of the form:
# MSC for some fictional process
msc {
hscale = "2";
a,b,c;
a->b [ label = "ab()" ] ;
b->c [ label = "bc(TRUE)"];
c=>c [ label = "process(1)" ];
c=>c [ label = "process(2)" ];
...;
c=>c [ label = "process(n)" ];
c=>c [ label = "process(END)" ];
a<<=c [ label = "callback()"];
--- [ label = "If more to run", ID="*" ];
a->a [ label = "next()"];
a->c [ label = "ac1()\nac2()"];
b<-c [ label = "cb(TRUE)"];
b->b [ label = "stalled(...)"];
a<-b [ label = "ab() = FALSE"];
}
Produces output like this:

- 15,462
- 9
- 79
- 80
Enterprise Architect does quite a good job in creating diagrams automatically, from source code (in various languages) as well as from databases or other sources.

- 36,896
- 2
- 55
- 65
If you like JS Sequence Diagrams, you should also check out UMLet which has a similar premise (being able to define diagrams via text, similar to a graphviz description) and let the tool figure out the graph and positioning.
IMHO, this approach hasn't gotten enough publicity or traction. Full round-trip source analysis is difficult, and in many cases "too much work" for simple design conversations or quick documentation. The complexity of layout in enterprise tools prevents all but the biggest docs from using them. And Agile suffers from no-doc because the price is too steep.
For those reasons, I'd like to see more tools take this approach.

- 889
- 2
- 8
- 18
the free UML tool JUDE allows UML diagrams to be created from Java source code. I don't know if it does for other languages.

- 20,612
- 18
- 79
- 126
-
Hey Jorn, JUDE is now called 'Astah' (http://astah.net/editions/professional) and diagrams can be created from Java source code and C++ and C# using free plugins (http://astah.net/features/plugins). – Satomi Sep 08 '14 at 05:18