PlantUML is open source software used to draw UML diagrams, using a simple and human readable text description.
It uses Graphviz software to lay out its diagrams. It has been used to allow blind students to work with UML.
PlantUML also helps blind software engineers to design and read UML diagrams.
Key Features
- Simple and intuitive language.
- Allows to quickly write:
- Sequence Diagrams – a form of interaction diagram which shows objects as lifelines running down the page, with their interactions over time represented as messages drawn as arrows from the source lifeline to the target lifeline.
- Use Case Diagrams – captures the requirements of a system. Use cases are a way of communicating with users and other stakeholders what the system is intended to do.
- Class Diagrams shows the building blocks of any object-orientated system.
- Activity diagrams – displays the sequence of activities.
- Component diagrams – illustrates the pieces of software, embedded controllers, etc., that will make up a system.
- State Machine Diagrams – models the behaviour of a single object, specifying the sequence of events that an object goes through during its lifetime in response to events.
- Object diagrams – use a subset of the elements of a class diagram in order to emphasize the relationship between instances of classes at some point in time.
- Deployment diagrams – models the run-time architecture of a system.
- Timing diagrams – used to display the change in state or value of one or more elements over time.
- non-UML diagrams are also supported:
- Wireframe graphical interface.
- Archimate diagrams.
- Specification and Description Language (SDL).
- Ditaa diagrams.
- Gantt diagrams.
- Mathematic with AsciiMath or JLaTeXMath notation.
- Generate images in PNG, SVG, and LaTeX formats. Users can also create ASCII art sequence diagrams.
- Salt – a subproject included in PlantUML that may help you to design a graphical interface.
- Creole engine have been integrated into PlantUML to have a standardized way of defining text style.
- Minor preprocessing capabilities are included in PlantUML, and available for all diagrams.
- As the software is written in Java, it’s cross-platform.
Website: plantuml.com
Support: FAQ, Forums, GitHub code repository
Developer: Arnaud Roques
License: GNU General Public License v3 or later. The software is also licensed under LGPL license, Apache license, Eclipse Public license, and MIT license. The PlantUML syntax has no license.
PlantUML limits image width and height to 4096.

PlantUML is written in Java. Learn Java with our recommended free books and free tutorials.
Related Software
| Unified Modeling Language tools | |
|---|---|
| Eclipse Papyrus | Edit models based on UML and related languages |
| PlantUML | Draw UML diagrams from simple textual description |
| Mermaid | Generate diagrams from markdown-like text |
| Umple | Create UML models textually |
| Modelio | UML and BPMN modeling environment |
| Gaphor | Simple UML and SysML modeling tool |
| Umbrello | UML Modeller based on KDE technology |
| UMLet | Java-based UML tool |
| JetUML | Sketch software design ideas with a minimum of fuss |
| Violet | Designed for people who need to produce simple UML diagrams |
| Dia | GTK+ based diagram creation software |
| ArgoUML | UML modeling tool |
| crystal-facet-uml | Desktop UML and SysML modeling application |
| UML Designer | UML tool based on Sirius and Eclipse |
Read our verdict in the software roundup.
Explore our comprehensive directory of recommended free and open source software. Our carefully curated collection spans every major software category.This directory is part of our ongoing series of informative articles for Linux enthusiasts. It features hundreds of detailed reviews, along with open source alternatives to proprietary solutions from major corporations such as Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk. You’ll also find interesting projects to try, hardware coverage, free programming books and tutorials, and much more. Discovered a useful open source Linux program that we haven’t covered yet? Let us know by completing this form. |

