UMLet is an open-source Java-based UML tool designed for teaching the Unified Modeling Language and for quickly creating UML diagrams. It is a drawing tool rather than a modelling tool as there is no underlying dictionary or directory of reusable design objects. UMLet is distributed under the GNU General Public License.
UMLet has a simple user interface that uses text-formatting codes to modify the basic shapes with decorations and annotations, so there is no forest of icons or parameter list dialogs in the user's way. This does require the user to learn yet another text markup language, but the effort is small and the markup obvious to the experienced UML designer.
UMLet can export diagrams to pictures (eps, jpg), drawing formats ( SVG), document formats ( PDF). The clipboard can be used to copy-paste diagrams as pictures into other applications. It is possible to create custom UML elements.
The basic drawing objects can be modified and used as templates which allows users to customize the app to their needs. This requires programming of the elements in Java.
The most important UML diagram types are supported: class, use case, sequence, state, deployment, activity. Support for UML 2.0 features is not yet available, though the customization feature could be used to do this. It supports concepts like Martin Fowler's UmlAsSketch. Its design goals are described in the paper "Flyweight UML Modelling Tool for Software Development". Another paper compares UMLet to Rational Rose.
The app's native file format is UXF, an extension of XML intended for exchanging UML models.
UMLet runs stand-alone or as Eclipse plug-in on Windows, OS X and Linux.