PlantUML
Convert any formatto PlantUML Convert from PlantUMLto any other format
PlantUML is an open-source, plain-text domain-specific language for describing diagrams as code. Instead of drawing shapes by hand, you write a compact textual description between @startuml and @enduml markers, and a renderer produces the picture. The language is declarative and line-oriented, so diagrams live in version control alongside source code and read as diffable text.
It covers the main UML diagram types (sequence, use case, class, object, activity, component, deployment, state, and timing) plus a broad set of non-UML notations: entity-relationship and information-engineering diagrams, network diagrams, Gantt charts, mind maps, work-breakdown structures, C4 models, ArchiMate, BPMN, salt GUI wireframes, and direct rendering of JSON and YAML data. Layout of graph-like diagrams (class, component, state, deployment) is delegated to Graphviz, whose DOT engine positions nodes and edges; sequence, activity and timing diagrams use PlantUML's own layout. It is written in Java, licensed GPL, and exports PNG, SVG, LaTeX/TikZ, and ASCII art.
The typical use case is docs-as-code: embedding diagrams in READMEs, wikis (Confluence), and IDEs (VS Code, IntelliJ, Eclipse), and rendering them in CI or via a gateway like Kroki. Strengths are its very wide diagram coverage, mature tooling, and text-based reviewability. Limitations are a Java and Graphviz dependency, layouts that can be hard to fine-tune, and a large but idiosyncratic syntax that varies per diagram type. Comparable text-to-diagram formats include Mermaid, D2, and Structurizr DSL.
Alternative Names: PlantUML, puml
Tools(Read & Write)
Read-only Tools
Write-only Tools
Frequently Asked Questions
What is a PlantUML Class Diagram file?
A PlantUML Class Diagram file stores a graph — its nodes, edges and attributes — in the PlantUML Class Diagram format (also: PlantUML, puml). See the feature table above for what it supports.
How do I open a PlantUML Class Diagram file?
Open it in a graph tool that supports PlantUML Class Diagram, or convert it to a format your tool reads. With GraphInOut you can convert PlantUML Class Diagram to GraphML, DOT, Connected JSON and more, right in your browser.
How do I convert a PlantUML Class Diagram file to another format?
Use the Convert from PlantUML Class Diagram link above: upload or paste your PlantUML Class Diagram file (input preset to PlantUML Class Diagram), choose a target format and download the result — free, no install.