StarUML
StarUML is a simple yet complete free UML design tool.
- It supports the concept of Models ποΈ
- It supports more than 20 types of diagrams π
- It supports many symbols/elements for each diagram π
- It has many plugins πΉοΈ ; although some are not updated
- UML to OpenAPI (An API Specification)
- UML to Code (C#, SQL, Python, TypeScript, Java, C++...)
- Code to UML (C#, Java, C++...)
- ...
- ...
But it also has some bugs, including some annoying ones π.
Once you have installed the software, run it. To start from a clean environment, click on "Model" and select "Delete From Model".

π StarUML projects files are .mdj files (models + diagrams).
Editor Overview

π‘ The editor (5) is available after selecting an element, either from the view (4) or the model (1).
The editor is divided into five windows.
-
Model Explorer π±: a model is a collection of diagrams. You can reuse something from a diagram in another diagram.
-
Working Diagrams π: all recently opened diagrams
-
Toolbox πͺ: UML elements available for the opened diagram
-
View πΌοΈ: the opened UML diagram. Click on an element from the toolbox and click somewhere in this window to add it.
-
Editor π§βπ³: you can manipulate UML elements properties or add additional information such as documentation.
β‘οΈ In the Model Explorer, "Untitled" is the project name.
Random Notes
Export Diagram
You can export a diagram using File > Export Diagram As. The main drawback is that diagrams have an Unregistered background.
You can still take a screenshot of a diagram for a fast solution.
You could also use the SVG trick: export your diagram to SVG, remove all the UNREGISTERED, and convert it to PNG.
Do not trust the view
You can delete an element, but it will remain in the model, meaning:
- πͺ² If we use the model explorer to select an element, for instance, to edit it, then we may pick the wrong one
- π» If we want to reuse an element in another diagram, we may inadvertently use the wrong element
- π© You will still have them in the generated code
The model is the only one you can trust. Ensure it is up-to-date.