plantuml - Man Page
manual page for PlantUML version 1.2025.9 (Mon Sep 08 15:56:38 UTC 2025)
Examples (TL;DR)
- Render diagrams to default format (PNG):
plantuml diagram1.puml diagram2.puml - Render a diagram in given format (e.g.
png,pdf,svg,txt):plantuml -t format diagram.puml - Render all diagrams of a directory:
plantuml path/to/diagrams - Render a diagram to the output directory:
plantuml -o path/to/output diagram.puml - Render a diagram without storing the diagram's source code (Note: It's stored by default when the
-nometadataoption isn't specified):plantuml -nometadata diagram.png > diagram.puml - Retrieve source from a
plantumldiagram's metadata:plantuml -metadata diagram.png > diagram.puml - Render a diagram with the configuration file:
plantuml -config config.cfg diagram.puml - Display help:
plantuml -help
Description
plantuml - generate diagrams from plain text
Usage
java -jar plantuml.jar [options] [file|dir]... java -jar plantuml.jar [options] --gui
Description
Process PlantUML sources from files, directories (optionally recursive), or stdin (-pipe).
Wildcards (for files/dirs)
- *
any characters except '/' and '\'
- ?
exactly one character except '/' and '\'
- **
any characters across directories (recursive)
Tip: quote patterns to avoid shell expansion (e.g., "**/*.puml").
General
-h, --help ...................... Show help and usage information
--help-more ................. Show extended help (advanced options)
--version ................... Show PlantUML and Java version
--author .................... Show information about PlantUML authors
--gui ....................... Launch the graphical user interface
--dark-mode ................. Render diagrams in dark mode
-v, --verbose ................... Enable verbose logging
--duration .................. Print total processing time
--progress-bar .............. Show a textual progress bar
--splash-screen ............. Show splash screen with progress bar
--check-graphviz ............ Check Graphviz installation
--http-server[:<port>] ...... Start internal HTTP server for rendering (default port : 4242)
-p, --pipe ...................... Read source from stdin, write result to stdout
-D<var>=<value>,
--define <VAR>=<value> ...... Define a preprocessing variable (equivalent to '!define <var> <value>')
Execution control
--check-syntax .............. Check diagram syntax without generating images
--stop-on-error ............. Stop at the first syntax error
--check-before-run .......... Pre-check syntax of all inputs and stop faster on error
--no-error-image ............ Do not generate error images for diagrams with syntax errors
Metadata & assets
--extract-source ............ Extract embedded PlantUML source from PNG or SVG metadata
--skip-fresh ................ Skip PNG/SVG files that are already up-to-date (using metadata)
- --sprite <4|8|16[z]> <file>
Encode a sprite definition from an image file
Output format (choose one)
- -f <name>, --format <name> ...... Set the output format for generated diagrams
(e.g. png, svg, pdf, eps, latex, txt, utxt, obfuscate, preproc...)
Available formats
--eps ....................... Generate images in EPS format
--latex ..................... Generate LaTeX/TikZ output
--obfuscate ................. Replace text in diagrams with obfuscated strings to share diagrams safely
--png ....................... Generate PNG images (default)
--preproc ................... Generate the preprocessed source after applying !include, !define... (no rendering)
--svg ....................... Generate SVG images
--txt ....................... Generate ASCII art diagrams
--utxt ...................... Generate ASCII art diagrams using Unicode characters
Examples
# Process all .puml recursively java -jar plantuml.jar "**/*.puml"
# Check syntax only (CI) java -jar plantuml.jar --check-syntax src/diagrams
# Read from stdin and write to stdout (SVG) cat diagram.puml | java -jar plantuml.jar --svg -pipe > out.svg
# Encode a sprite from an image java -jar plantuml.jar --sprite 16z myicon.png
# Use a define java -jar plantuml.jar -DAUTHOR=John diagram.puml
# Change output directory java -jar plantuml.jar --format svg --output-dir out diagrams/
Exit codes
- 0
Success
- >0
Error (syntax error or processing failure)
See also
java -jar plantuml.jar --help-more Documentation: https://plantuml.com
(GPL source distribution) Java Runtime: OpenJDK Runtime Environment JVM: OpenJDK 64-Bit Server VM Default Encoding: UTF-8 Language: en Country: null
PLANTUML_LIMIT_SIZE: 4096
Error: Dot executable does not exist Error: only sequence diagrams will be generated