PlantUML
| Company type | Free and open-source software |
|---|---|
| Industry | Software, Diagramming tools |
| Products | Diagram generation software |
| Website | plantuml |
PlantUML is a free, open-source utility designed to generate diagrams using a straightforward text-based language. Beyond supporting various UML diagram types, PlantUML accommodates several other software modeling notations such as Archimate, Block diagram, BPMN, C4, Computer network diagram, ERD, Gantt chart, Mind map, and WBD. It also enables visualization of data formats like JSON and YAML.
The language behind PlantUML is a specialized domain-specific language crafted specifically for diagram creation. In addition to its native DSL, it supports formats including AsciiMath, Creole, DOT, and LaTeX. Diagram layouts are handled through integration with Graphviz, while LaTeX compatibility is achieved via Tikz. Export options encompass PNG, SVG, LaTeX, and ASCII art. Notably, PlantUML has been utilized to enhance accessibility by assisting visually impaired users in designing and understanding UML diagrams.
Applications that use PlantUML
PlantUML is embedded in a wide range of applications through plugins and extensions, facilitating diagram generation across diverse environments:
- Atom provides a community-driven PlantUML syntax highlighter along with a preview feature.
- Confluence integrates PlantUML through plugins available for both Server and Cloud editions, enabling dynamic diagram rendering.
- Doxygen supports embedding diagrams using the startuml directive within source code documentation.
- Eclipse includes a dedicated PlantUML plugin for smooth incorporation of diagrams.
- Google Docs connects with the PlantUML.com server via the PlantUML Gizmo add-on to render diagrams.
- IntelliJ IDEA offers plugin support for embedding UML diagrams inside Markdown files as well as standalone documents.
- LibreOffice employs the Libo_PlantUML extension to insert diagrams directly into documents.
- MediaWiki features a PlantUML extension that renders diagrams as SVG or PNG images.
- Microsoft Word supports PlantUML through both a Template Add-in and the Visual Studio Tools for Office add-in known as PlantUML Gizmo.
- NetBeans, Notepad++, Obsidian, and Rider all include specialized PlantUML plugins.
- Org-mode provides PlantUML integration via org-babel for streamlined documentation workflows.
- Sublime Text offers the PlantUmlDiagrams package compatible with versions 2 and 3.
- Visual Studio Code hosts multiple PlantUML extensions on its marketplace; the most widely used is "PlantUML" developed by jebbs.
- The open-source markdown editor Vnote incorporates native PlantUML support for note-taking and documentation purposes.
- Xcode contains a community-supported Source Editor Extension that allows generation and visualization of class diagrams from Swift source code.
Text format to communicate UML at source code level
PlantUML produces diagrams from clearly structured, human-readable text code. Unlike many UML text representations, it accommodates diverse diagram styles without mandating explicit layout instructions, while still offering customization options when needed.
+--------------------------------------+
| TEDx Talks Recommendation |
| System |
+--------------------------------------+
| +----------------------------------+ |
| | Visitor | |
| +----------------------------------+ |
| | + View Recommended Talks | |
| | + Search Talks | |
| +----------------------------------+ |
+--------------------------------------+
|
|
V
+--------------------------------------+
| Authenticated User |
+--------------------------------------+
| +----------------------------------+ |
| | User | |
| +----------------------------------+ |
| | + View Recommended Talks | |
| | + Search Talks | |
| | + Save Favorite Talks | |
| +----------------------------------+ |
+--------------------------------------+
|
|
V
+--------------------------------------+
| Admin |
+--------------------------------------+
| +----------------------------------+ |
| | Admin | |
| +----------------------------------+ |
| | + CRUD Talks | |
| | + Manage Users | |
| +----------------------------------+ |
+--------------------------------------+