Screenshots: Stand-alone: Windows - Linux
Screenshots: Eclipse-Plugin: Windows - Linux

On which platforms does UMLet run?
UMLet runs on any Java platform, eg, Windows, Linux, and OS X.

How to start UMLet (stand-alone)?
Download the UMLet zip file, unpack it, and start "umlet.jar" with a double-click.

I still have problems starting UMLet...
First, make sure that Java is installed---UMLet requires Java 1.6; you can check your Java version by typing "java -version" on your command line.
Also, make sure jar-files are associated with Java if you want to start it with a double-click. Alternatively, you can start UMLet from the command line: cd to the UMLet directory and type "java -jar umlet.jar"

How to start UMLet as Eclipse-Plugin?
Download the "com.umlet.plugin*.jar" file and copy it to Eclipse's plugin directory.

To create a new, empty UMLet diagram in Eclipse,
1. select a directory in the Eclipse resource navigator;
2. select "File/New/Other.." from the menu or the context menu; in the subsequent wizard,
3. select "UMLet/Diagram".

I get the message "Problem opening Wizard" in Eclipse...
This usually happens if your Java version is older---upgrade to Java 1.6.
Also, make sure to have a recent Eclipse version.

How to run UMLet on OS X?
Java 1.6 might not be the default Java version on your system. Open the "Java preferences" application (just find it via Spotlight), and in the "General" tab, select "Java SE 6" as default Java version.

On Ubuntu, some graphical elements look off by one pixel...
Install the Sun implementation of Java instead of other JREs (some start drawing at (1,1) instead of (0,0)).

How to start UMLet with a file argument?
You can let UMLet open a file at startup by adding the argument "-filename=someinputfile.uxf" to the command line.

How to open UMLet's uxf-files with a double-click in Windows?
You can associate uxf-files with "UMLet.exe".

How to add elements to the diagram?
Double-click on any element in the palette; it will appear in the upper left corner of the main diagram window.

How to duplicate elements on the diagram?
Double-click on an element to duplicate it. Alternatively, use copy/paste or Ctrl+C/Ctrl+V.

How to select multiple elements?
Hold Ctrl to select multiple elements.

How to lasso-select multiple elements?
Hold Ctrl, press the left mouse button, and select a rectangle containing the desired elements.

How to change UML elements?
Select an element and modify its attributes in the lower right text panel. Each element type has a simple markup language, eg, the text "/ClassName/" causes "ClassName" to become italic. The markup languages are best explored via the sample UML elements in the palettes.

How to enter comments in a UML element description?
UMLet supports C++-style comments---starting a line with "//", eg, "//my comment..", will let UMLet ignore that markup line.

How to change the color of UML elements?
Right-click on an element and select its background or foreground color via the context menu.
Alternatively, just type the name of the color in the element description, eg, "bg=black", or "fg=red".

How to copy the current diagram to the clipboard for graphical export, eg, to Word?
Just press Ctrl+C in UMLet, and Ctrl+V in any other application like Word---the whole diagram is copied.
(Of course, within UMLet, Ctrl+C behaves in the standard way and just copies the element.)

How to export diagrams to other file formats?
Use the menu command "File>Export as.." to export the diagram to BMP, EPS, GIF, JPG, PDF, PNG, and SVG.

How to use UMLet to batch-convert files into other formats like pdf?
Call UMLet from the command line with the following arguments (in this case, to create a jpg-file):
"-action=convert -format=jpg -filename=someinputfile.uxf"

How to create UML relations?
Double-click on a relation and then drag its end points to the borders of UML elements; they will stick there.

How to edit the relations?
Many UML tools make it time-consuming to change the type or the direction of a relation. In UMLet, simply modify the linetype, ie, by changing the line "lt=" in the element description. For example, change "lt=<." to "lt=->>" to change the direction, the arrow type, and the line's dots at the same time.

How to label relations?
Edit the name of a relation in the relation's description.
Role names can be specified using "r1=" or "r2=".
For multiplicities use "m1=" or "m2=".
Qualifiers are done with "q1=" or "q2=".

How to create sequence diagrams?
Change the current palette to "Sequence - all in one". Add the sequence diagram element to the diagram via double-click.
This element's markup language is slightly more complex. The main idea is that each lane has a name and an ID (defined by the string "_name~ID_"). The IDs can then be used to define messages between lanes, eg, "id1->id3".

How to create activity diagrams?
Change the current palette to "Activity - all in one". Add the activity diagram element to the diagram via double-click.
Here, TABs in the element description are used to define the activity forks.

Can I create code from UMLet's uxf-files?
UMLet does not provide means to create code from the model, or vice-versa. However, UMLet's uxf file format is a very simple XML format; you can easily parse it with, eg, XSLT, to process the model.
UMLet is aimed at fast UML sketching---we do not plan to support code creation or round-trip engineering in the future.

How does UMLet's uxf-format work?
UMLet's file fomat is a very simple XML format. Note: relations and their stickyness to elements are defined implicitly, ie, if a relation's end point lies on the border of an element, it is regarded as connected to that element.

How to create my own custom UML element palettes?
Just save a UML diagram in UMLet's palette folder---you can then use it as a palette via the "Palettes" menu. You can also edit the current palette with the menu command "Palettes>Edit Current Palette".

How to create my own custom UML elements?
With the menu command "Custom Elements>New from Template>..." the usual element description in the lower right gives way to three panels: an element description as usual, a Java code panel, and a preview panel. To edit the element's behavior, just change its Java code in the middle panel---it is compiled on the fly, and the preview immediately shows how the new element looks like.

The easiest example is to
- select "Custom Elements>New from Template>Default";
- change the text in the left panel and see how the preview (to the right) changes---this is the usual way UMLet handles elements;
- finally, change one line in the central code panel: from the current "y = y + textheight();" to the new "y = y + 2*textheight();" ---note how the element preview now uses more space between the lines.

How to share my custom UML elements with others?
All the information of a custom element are embedded in its parent diagram---to share custom elements, just share the uxf-files that contain them.

Where is the source code?
The source code is in the UMLet zip-file. (There is no makefile, no project file, and no ant-script.)

Who is developing UMLet?
M. Auer, J. Poelz, A. Fuernweger, L. Meyer, T. Tschurtschenthaler. Version 1.0 was released June 21, 2002.

How to get notified if a new UMLet version is available?
You can subscribe to UMLet's freshmeat mailing list here.

How to best contact us for bug reports or feedback?
Mail us:

How to support UMLet?
There are many easy and free ways to support UMLet:
- You can link to on your site;
- You can send us feedback and bug reports;
- We'd very much welcome official blurbs---along with name, position title and company name---that we can publish on our site;
- You can rate UMLet at EclipsePluginCentral and FreshMeat.

Thanks to Quality Software Engineering (QSE) at the Vienna University of Technology for supporting UMLet!