🌱 PlantUML at a Glance
🚀 Getting Started
PlantUML is a highly versatile tool that facilitates the rapid and straightforward creation of a wide array of diagrams.
Utilizing a simple and intuitive language, users can effortlessly draft various types of diagrams. For a detailed exploration of the language's capabilities and syntax, please refer to the PlantUML Language Reference Guide.
If you are new to PlantUML, we recommend starting with our quick start page to get up and running quickly. Should you have any questions, our F.A.Q. page is a valuable resource. Additionally, PlantUML can be seamlessly integrated with a variety of other tools to enhance your workflow.
🧩 Supported UML Diagrams
With PlantUML, you can create well-structured UML diagrams, including but not limited to:
- Sequence diagram
- Usecase diagram
- Class diagram
- Object diagram
- Activity diagram (Find the legacy syntax here)
- Component diagram
- Deployment diagram
- State diagram
- Timing diagram
📈 Supported Non-UML Diagrams
Beyond the traditional UML diagrams, PlantUML also supports the creation of various other diagram types, such as:
- JSON data
- YAML data
- EBNF diagram
- Regex diagram
- Network diagram (nwdiag)
- UI mockups (salt)
- Archimate diagram
- Specification and Description Language (SDL)
- Ditaa diagram
- Gantt diagram
- Chronology diagram
- MindMap diagram
- WBS diagram
- Mathematics with AsciiMath or JLaTeXMath notation
- Information Engineering (IE) diagram
- Entity Relationship (ER) diagram
📣 Additional Features
Enhance the dynamism and informativeness of your diagrams with these additional features:
- Hyperlinks and tooltips to provide extra context and interactivity
- Rich text formatting, emoticons, Unicode, and icons with Creole for a visually appealing presentation
- OpenIconic icons for enhanced visual representation
- Sprite icons to add custom symbols
- AsciiMath mathematical expressions for precise mathematical representation
📥 Input Formats
PlantUML allows you to generate diagrams from various source input formats:
You can choose from different internal encodings:
⚙ Layout Engines and Options
PlantUML allows you to use several different layout engines:
- Graphviz is the default engine. Relies on an external program;
- Smetana. (Use
!pragma layout smetanain the file or-Playout=smetanaon the command-line.) A port of Graphviz to Java. Tends to make slightly straighter arrows; - VizJs uses JavaScript. (Use
-graphvizdot vizjson the command line.) Tends to space out nodes more, resulting in a bigger diagram; - ELK (Eclipse Layout Kernel). (Use
!pragma layout elkin the file or-Playout=elkon the command-line.) Supports only orthogonal layout, and doesn't cover all features.
Sequence diagrams have 2 engines:
- Puma is the older and still default engine;
- Teoz (Use
!pragma teoz truein the file or-Pteoz=trueon the command-line) is a new engine that has some unique features: anchors (named arrows/messages), duration, nested boxes...
Achieving good layout with PlantUML is sometimes non-trivial. See PlantUML GraphViz Layout by Mark George at University of Otago for more advice.
📤 Output Formats
Export your diagrams in a variety of formats to suit your needs, including:
- PNG for easy image sharing
- SVG for scalable vector graphics
- LaTeX for high-quality typesetting
- EPS (Encapsulated PostScript ) for used with LaTeX
- ASCII art (available only for sequence diagrams) for a text-based representation
🎉 Enjoy
Get started today and elevate your diagramming capabilities with PlantUML. Transform your ideas into clear and professional diagrams effortlessly 🎉!