2023-11-14 16:25:13 +00:00
# 🌱 PlantUML
2021-08-31 12:29:03 +00:00
2023-09-19 20:56:18 +00:00
Generate UML diagrams from textual descriptions.
2021-11-15 14:55:00 +00:00
2023-09-25 07:26:56 +00:00
[![Discord server ](https://img.shields.io/discord/1083727021328306236?color=5865F2&logo=discord&logoColor=white )](https://discord.gg/sXhzexAQGh)
[![GitHub Sponsors ](https://img.shields.io/github/sponsors/plantuml?logo=github )](https://github.com/sponsors/plantuml/)
[![GitHub Org's stars ](https://img.shields.io/github/stars/plantuml )](https://github.com/plantuml/plantuml/stargazers/)
[![GitHub watchers ](https://img.shields.io/github/watchers/plantuml/plantuml )](https://github.com/plantuml/plantuml/watchers/)
[![GitHub contributors ](https://img.shields.io/github/contributors-anon/plantuml/plantuml?color=blue )](https://github.com/plantuml/plantuml/graphs/contributors)
[![GitHub forks ](https://img.shields.io/github/forks/plantuml/plantuml )](https://github.com/plantuml/plantuml/network/)
[![GitHub all releases ](https://img.shields.io/sourceforge/dt/plantuml?color=blue )](https://github.com/plantuml/plantuml/releases)
[![online ](https://img.shields.io/endpoint?url=https://www.plantuml.com/plantuml/badge )](https://www.plantuml.com/plantuml)
[![rate ](https://img.shields.io/endpoint?url=https://www.plantuml.com/plantuml/rate )](https://www.plantuml.com/plantuml)
[![peak ](https://img.shields.io/endpoint?url=https://www.plantuml.com/plantuml/rate?peak )](https://www.plantuml.com/plantuml)
[![Release (latest by date) ](https://img.shields.io/github/v/release/plantuml/plantuml )](https://github.com/plantuml/plantuml/releases/latest)
[![Release Date ](https://img.shields.io/github/release-date/plantuml/plantuml?color=blue )](https://github.com/plantuml/plantuml/releases/latest)
[![GitHub commits since latest release (by date) ](https://img.shields.io/github/commits-since/plantuml/plantuml/latest )](https://github.com/plantuml/plantuml/commits/)
2023-11-14 16:25:13 +00:00
[![javadoc ](https://javadoc.io/badge2/net.sourceforge.plantuml/plantuml-gplv2/javadoc.svg )](https://javadoc.io/doc/net.sourceforge.plantuml/plantuml-gplv2)
2023-09-25 07:26:56 +00:00
[![Pre-release (latest by date) ](https://img.shields.io/github/v/release/plantuml/plantuml?color=chocolate&include_prereleases )](https://github.com/plantuml/plantuml/releases/tag/snapshot)
[![Pre-release Date ](https://img.shields.io/github/release-date-pre/plantuml/plantuml?color=chocolate )](https://github.com/plantuml/plantuml/releases/tag/snapshot)
[![GitHub last commit ](https://img.shields.io/github/last-commit/plantuml/plantuml?color=chocolate )](https://github.com/plantuml/plantuml/commits/)
[![CI ](https://github.com/plantuml/plantuml/actions/workflows/ci.yml/badge.svg?color=chocolate )](https://github.com/plantuml/plantuml/actions/workflows/ci.yml)
2023-11-15 12:52:49 +00:00
[![snapshot javadoc ](https://img.shields.io/badge/javadoc-snapshot-chocolate.svg?logo=github )](https://plantuml.github.io/plantuml/)
2013-12-11 18:24:18 +00:00
2023-09-21 09:53:05 +00:00
> [!IMPORTANT]
> [PlantUML is **not** affected by the log4j vulnerability.](https://github.com/plantuml/plantuml/issues/826)
2021-12-14 10:54:02 +00:00
2023-11-14 16:25:13 +00:00
## ℹ ️ About
2023-09-19 20:56:18 +00:00
PlantUML is a component that allows you to create various UML diagrams through simple textual descriptions. From sequence diagrams to deployment diagrams and beyond, PlantUML provides an easy way to create visual representations of complex systems.
2023-11-14 16:25:13 +00:00
### 🗃️ Supported Diagram Types
2023-09-19 20:56:18 +00:00
2023-11-14 16:25:13 +00:00
- 🧩 UML Diagrams
2023-09-21 17:02:34 +00:00
- [Sequence diagram ](http://plantuml.com/sequence-diagram )
- [Use case diagram ](http://plantuml.com/use-case-diagram )
- [Class diagram ](http://plantuml.com/class-diagram )
- [Object diagram ](http://plantuml.com/object-diagram )
- [Activity diagram ](http://plantuml.com/activity-diagram-beta )
2023-09-19 20:56:18 +00:00
- [Legacy syntax ](http://plantuml.com/activity-diagram-legacy )
2023-09-21 17:02:34 +00:00
- [Component diagram ](http://plantuml.com/component-diagram )
- [Deployment diagram ](http://plantuml.com/deployment-diagram )
- [State diagram ](http://plantuml.com/state-diagram )
- [Timing diagram ](http://plantuml.com/timing-diagram )
2023-11-14 16:25:13 +00:00
- 📈 Non-UML Diagrams
2023-09-19 20:56:18 +00:00
- [JSON data ](http://plantuml.com/json )
- [YAML data ](http://plantuml.com/yaml )
2023-09-21 09:53:05 +00:00
- [EBNF (Extended Backus-Naur Form) ](http://plantuml.com/ebnf )
- [Regex (Regular Expression) ](http://plantuml.com/regex )
2023-09-21 17:02:34 +00:00
- [Network diagram (nwdiag) ](http://plantuml.com/nwdiag )
2023-09-21 09:53:05 +00:00
- [Salt (Wireframe graphical interface or UI Mockups) ](http://plantuml.com/salt )
2023-09-21 17:02:34 +00:00
- [Archimate diagram ](http://plantuml.com/archimate-diagram )
2023-09-21 09:53:05 +00:00
- [SDL (Specification and Description Language) ](http://plantuml.com/activity-diagram-beta#sdl )
2023-09-21 17:02:34 +00:00
- [Ditaa diagram ](http://plantuml.com/ditaa )
- [Gantt diagram ](http://plantuml.com/gantt-diagram )
- [MindMap diagram ](http://plantuml.com/mindmap-diagram )
2023-09-21 09:53:05 +00:00
- [WBS (Work Breakdown Structure) ](http://plantuml.com/wbs-diagram )
2023-09-19 20:56:18 +00:00
- [Mathematical Notations (AsciiMath, JLaTeXMath) ](http://plantuml.com/ascii-math )
2023-09-21 09:53:05 +00:00
- [IE/ER (Information Engineering/Entity Relationship) ](http://plantuml.com/ie-diagram )
2023-09-19 20:56:18 +00:00
2023-11-14 16:25:13 +00:00
### 📣 Additional Features
2023-09-19 20:56:18 +00:00
- [Hyperlinks and tooltips ](http://plantuml.com/link )
- [Rich text (Creole) with emoticons, unicode, and icons ](http://plantuml.com/creole )
- [OpenIconic icons ](http://plantuml.com/openiconic )
- [Sprite icons ](http://plantuml.com/sprite )
2023-11-14 16:25:13 +00:00
### 📖 Learn More
2023-09-19 20:56:18 +00:00
For a more detailed overview, visit [PlantUML Official Website ](https://plantuml.com/ ).
2023-11-14 16:25:13 +00:00
## 🚀 Getting Started
2023-09-19 20:56:18 +00:00
Whether you're looking to use PlantUML as a standalone application or as a component in your own project, getting started is simple. Check out the official [PlantUML setup guide ](https://plantuml.com/starting ) for instructions on how to set up PlantUML on your system.
2023-11-14 16:25:13 +00:00
## ⚙️ Building from Source
2023-09-19 20:58:38 +00:00
To build PlantUML from source, you'll need to have certain prerequisites installed and follow a series of steps outlined in our build guide. Find detailed instructions in our [BUILDING.md ](https://github.com/plantuml/plantuml/blob/master/BUILDING.md ) file.
2023-11-14 16:25:13 +00:00
## 🧱 Contributing
2023-09-19 20:56:18 +00:00
PlantUML is an open-source project, and we welcome contributions of all kinds. Whether you're helping us fix bugs, improve the docs, or spread the word, we appreciate your support. See our [contributing guide ](CONTRIBUTING.md ) for more information on how to get started.
2023-11-15 19:42:22 +00:00
For comprehensive and detailed documentation on using PlantUML, refer to the [official Javadoc, available here ](https://plantuml.github.io/plantuml/ ). Please note that this documentation is a work in progress and may not be complete.
2023-11-14 16:25:13 +00:00
## 🧑🤝🧑 Support and Community
2023-09-19 20:56:18 +00:00
- [GitHub issues ](https://github.com/plantuml/plantuml/issues/ )
- [Community Forum ](https://forum.plantuml.net/ )
2023-11-14 16:25:13 +00:00
## 📃 License
2023-09-19 20:56:18 +00:00
PlantUML is licensed under several licenses; you can choose the one that suits you best:
- [GPL license ](https://www.gnu.org/licenses/gpl-3.0.html )
- [LGPL license ](https://www.gnu.org/licenses/lgpl-3.0.html )
- [Apache license ](https://www.apache.org/licenses/LICENSE-2.0 )
- [Eclipse Public license ](https://www.eclipse.org/legal/epl-2.0/ )
- [MIT license ](https://opensource.org/licenses/MIT )
For more information, please refer to the [PlantUML license FAQ ](https://plantuml.com/en/faq#ddbc9d04378ee462 ) to help determine which license is appropriate for your use case.