🏳️Open-source tool that uses simple textual descriptions to draw beautiful UML diagrams.

Website faviconplantuml.com

Easily create beautiful UML Diagrams from simple textual description. There are also numerous kind of available diagrams. It's also possible to export images in PNG, LaTeX, EPS, SVG.

[Home](index) [What's New ?](news) [Getting Started](starting) [Online Server](https://www.plantuml.com/plantuml/uml/SyfFKj2rKt3CoKnELR1Io4ZDoSa70000) [Running](running) [F.A.Q.](faq) [Download](download) [Forum](https://forum.plantuml.net) [Theme](https://the-lum.github.io/puml-themes-gallery/themes/index.html) [Preprocessing](preprocessing) [Standard Library](stdlib) [Hitchhiker's Guide](https://crashedmind.github.io/PlantUMLHitchhikersGuide) [PDF Guide](guide)

[Sequence](sequence-diagram) [Use Case](use-case-diagram) [Class](class-diagram) [Activity](activity-diagram-beta) [Component](component-diagram) [State](state-diagram) [Object](object-diagram) [Deployment](deployment-diagram) [Timing](timing-diagram) [Regex](regex) [Network](nwdiag) [Wireframe](salt) [Archimate](archimate-diagram) [Gantt](gantt-diagram) [Chronology](chronology-diagram) [MindMap](mindmap-diagram) [WBS](wbs-diagram) [EBNF](ebnf) [JSON](json) [YAML](yaml)

[Sequence](sequence-diagram) [Use Case](use-case-diagram) [Class](class-diagram) [Activity](activity-diagram-beta) [Component](component-diagram) [State](state-diagram) [Object](object-diagram) [Deployment](deployment-diagram) [Timing](timing-diagram) [Regex](regex) [Network](nwdiag) [Wireframe](salt) [Archimate](archimate-diagram) [Gantt](gantt-diagram) [Chronology](chronology-diagram) [MindMap](mindmap-diagram) [WBS](wbs-diagram) [EBNF](ebnf) [JSON](json) [YAML](yaml)

[](/en-dark/)

[PlantUML](sitemap) [News and information](sitemap-news-and-information) [PlantUML in a nutshell](index)[](#)

  [](https://github.com/sponsors/plantuml/)  [](https://www.patreon.com/bePatron?patAmt=1&u=527450&rid=152970)  [](https://liberapay.com/plantuml/donate) [](https://plantuml.com/en/paypal)

[Edit in Dokuwiki](http://alphadoc.plantuml.com/doc/dokuwiki/en/index#0)[Edit in Asciidoc](http://alphadoc.plantuml.com/doc/asciidoc/en/index#0)[Edit in Markdown](http://alphadoc.plantuml.com/doc/markdown/en/index#0)

🌱 PlantUML at a Glance

===================================================================================================================================================================================================================================================

[Edit in Dokuwiki](http://alphadoc.plantuml.com/doc/dokuwiki/en/index#1)[Edit in Asciidoc](http://alphadoc.plantuml.com/doc/asciidoc/en/index#1)[Edit in Markdown](http://alphadoc.plantuml.com/doc/markdown/en/index#1)

🚀 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](guide).

If you are new to PlantUML, we recommend starting with our [quick start page](starting) to get up and running quickly. Should you have any questions, our [F.A.Q. page](faq) is a valuable resource. Additionally, PlantUML can be seamlessly integrated with [a variety of other tools](running) to enhance your workflow.

[Edit in Dokuwiki](http://alphadoc.plantuml.com/doc/dokuwiki/en/index#2)[Edit in Asciidoc](http://alphadoc.plantuml.com/doc/asciidoc/en/index#2)[Edit in Markdown](http://alphadoc.plantuml.com/doc/markdown/en/index#2)

🧩 Supported UML Diagrams

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

With PlantUML, you can create well-structured UML diagrams, including but not limited to:

*   [Sequence diagram](sequence-diagram)

*   [Usecase diagram](use-case-diagram)

*   [Class diagram](class-diagram)

*   [Object diagram](object-diagram)

*   [Activity diagram](activity-diagram-beta) _(Find the [legacy syntax here](activity-diagram-legacy))_

*   [Component diagram](component-diagram)

*   [Deployment diagram](deployment-diagram)

*   [State diagram](state-diagram)

*   [Timing diagram](timing-diagram)

[Edit in Dokuwiki](http://alphadoc.plantuml.com/doc/dokuwiki/en/index#3)[Edit in Asciidoc](http://alphadoc.plantuml.com/doc/asciidoc/en/index#3)[Edit in Markdown](http://alphadoc.plantuml.com/doc/markdown/en/index#3)

📈 Supported Non-UML Diagrams

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Beyond the traditional UML diagrams, PlantUML also supports the creation of various other diagram types, such as:

*   [JSON data](json)

*   [YAML data](yaml)

*   [EBNF diagram](ebnf)

*   [Regex diagram](regex)

*   [Network diagram (nwdiag)](nwdiag)

*   [UI mockups (salt)](salt)

*   [Archimate diagram](archimate-diagram)

*   [Specification and Description Language (SDL)](activity-diagram-beta#sdl)

*   [Ditaa diagram](ditaa)

*   [Gantt diagram](gantt-diagram)

*   [Chronology diagram](chronology-diagram)

*   [MindMap diagram](mindmap-diagram)

*   [WBS diagram](wbs-diagram)

*   [Mathematics with AsciiMath or JLaTeXMath notation](ascii-math)

*   [Information Engineering (IE) diagram](ie-diagram)

*   [Entity Relationship (ER) diagram](er-diagram)

[Edit in Dokuwiki](http://alphadoc.plantuml.com/doc/dokuwiki/en/index#4)[Edit in Asciidoc](http://alphadoc.plantuml.com/doc/asciidoc/en/index#4)[Edit in Markdown](http://alphadoc.plantuml.com/doc/markdown/en/index#4)

📣 Additional Features

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Enhance the dynamism and informativeness of your diagrams with these additional features:

*   [Hyperlinks and tooltips](link) to provide extra context and interactivity

*   [Rich text formatting, emoticons, Unicode, and icons with Creole](creole) for a visually appealing presentation

*   [OpenIconic icons](openiconic) for enhanced visual representation

*   [Sprite icons](sprite) to add custom symbols

*   [AsciiMath mathematical expressions](ascii-math) for precise mathematical representation

[Edit in Dokuwiki](http://alphadoc.plantuml.com/doc/dokuwiki/en/index#5)[Edit in Asciidoc](http://alphadoc.plantuml.com/doc/asciidoc/en/index#5)[Edit in Markdown](http://alphadoc.plantuml.com/doc/markdown/en/index#5)

📥 Input Formats

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

PlantUML allows you to generate diagrams from various source input formats:

*   [Source input data: _How and where diagrams can be written_](sources)

You can choose from different internal encodings:

*   [PlantUML Text Encoding](text-encoding)

[Edit in Dokuwiki](http://alphadoc.plantuml.com/doc/dokuwiki/en/index#6)[Edit in Asciidoc](http://alphadoc.plantuml.com/doc/asciidoc/en/index#6)[Edit in Markdown](http://alphadoc.plantuml.com/doc/markdown/en/index#6)

⚙ Layout Engines and Options

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

PlantUML allows you to use several different [layout engines](layout-engines):

*   [Graphviz](graphviz-dot) is the default engine. Relies on an external program;

*   [Smetana](smetana02). _(Use `!pragma layout smetana` in the file or `-Playout=smetana` on the command-line.)_ A port of Graphviz to Java. Tends to make slightly straighter arrows;

*   [VizJs](vizjs) uses JavaScript. _(Use `-graphvizdot vizjs` on the command line.)_ Tends to space out nodes more, resulting in a bigger diagram;

*   [ELK (Eclipse Layout Kernel)](elk). _(Use `!pragma layout elk` in the file or `-Playout=elk` on the command-line.)_ Supports only orthogonal layout, and doesn't cover all features.

[Sequence diagrams](sequence-diagram) have 2 engines:

*   _Puma_ is the older and still default engine;

*   [Teoz](teoz) _(Use `!pragma teoz true` in the file or `-Pteoz=true` on 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](https://isgb.otago.ac.nz/infosci/mark.george/Wiki/wiki/PlantUML%20GraphViz%20Layout) by Mark George at University of Otago for more advice._

[Edit in Dokuwiki](http://alphadoc.plantuml.com/doc/dokuwiki/en/index#7)[Edit in Asciidoc](http://alphadoc.plantuml.com/doc/asciidoc/en/index#7)[Edit in Markdown](http://alphadoc.plantuml.com/doc/markdown/en/index#7)

📤 Output Formats

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Export your diagrams in a variety of formats to suit your needs, including:

*   PNG for easy image sharing

*   [SVG](svg) for scalable vector graphics

*   [LaTeX](latex) for high-quality typesetting

*   [EPS (Encapsulated PostScript )](eps) for used with LaTeX

*   [ASCII art](ascii-art) _(available only for sequence diagrams)_ for a text-based representation

[Edit in Dokuwiki](http://alphadoc.plantuml.com/doc/dokuwiki/en/index#8)[Edit in Asciidoc](http://alphadoc.plantuml.com/doc/asciidoc/en/index#8)[Edit in Markdown](http://alphadoc.plantuml.com/doc/markdown/en/index#8)

🎉 Enjoy

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Get started today and elevate your diagramming capabilities with **PlantUML**. Transform your ideas into clear and professional diagrams effortlessly 🎉!

* * *

[Privacy Policy](https://g.ezoic.net/privacy/plantuml.com)      [Advertise](https://plantuml.com/direct-sales.html)