PLANTUML(1)

πŸ’… PLANTUML πŸ’…

okay bestie so this is the manual page for PlantUML, version 1.2026.2 / unknown, and the build timestamp on it is literally 2026-02-28 22:22:28 UTC. yes that's a whole lot of numbers, i know. stay with me 🫢


✨ NAME ✨

PlantUML β€” the manual page for PlantUML version 1.2026.2 / unknown [2026-02-28 22:22:28 UTC]. that's the vibe. no cap.


🌸 DESCRIPTION 🌸

plantuml β€” generate diagrams from plain text. that's it. that's the whole personality. diagrams. from text. iconic πŸ’…

πŸŽ€ Usage

java -jar plantuml.jar [options] [file|dir]...  java -jar
plantuml.jar [options] --gui

πŸ¦‹ Description (yes, again, but this one is the real one)

so what it actually does: it processes PlantUML sources from files, from directories (optionally recursively, ooh), or from stdin via -pipe. love that for us.

πŸ“ Wildcards (for files/dirs)

  • * β€” any characters except / and \
  • ? β€” exactly one character except / and \
  • ** β€” any characters across directories (recursive, she goes deep πŸ’€)
Tip: quote your patterns to avoid shell expansion (e.g., "**/*.puml"). the shell will absolutely snatch your globs if you don't, and you'll be sitting there like 😭

πŸ’œ General:

🌈 General:

  • --author β€” show information about PlantUML authors (give credit where it's due, bestie πŸ‘‘)
  • --check-graphviz β€” check the Graphviz installation
  • --dark-mode β€” render diagrams in dark mode πŸ–€
  • -d, --define <VAR>=<value> β€” define a preprocessing variable (equivalent to !define <var> <value>)
  • --duration β€” print total processing time ⏱️
  • --gui β€” launch the graphical user interface
  • -h, --help β€” show help and usage information
  • --help-more β€” show extended help (advanced options, for the girlies who want more)
  • --http-server[:<port>] β€” start the internal HTTP server for rendering (default port :8080)
  • -p, --pipe β€” read source from stdin, write result to stdout (the classic pipe moment)
  • --progress-bar β€” show a textual progress bar
  • --splash-screen β€” show splash screen with progress bar
  • -v, --verbose β€” enable verbose logging (she's chatty, we love her)
  • --version β€” show PlantUML and Java version

πŸ”₯ Execution control:

  • --check-before-run β€” pre-check syntax of all inputs and stop faster on error
  • --check-syntax β€” check diagram syntax without generating images
  • --no-error-image β€” do not generate error images for diagrams with syntax errors
  • --stop-on-error β€” stop at the first syntax error (no mercy πŸ’€)

🧚 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, --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, she's the main character πŸ‘‘)
  • --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 (fancy ✨)

πŸŽ€ EXAMPLES πŸŽ€

okay these are the real ones, copied exactly, no editing, go off:

# 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 πŸŽ‰
  • 50 β€” no file found
  • 100 β€” no diagram found in file(s)
  • 200 β€” some diagrams have syntax errors 😭

πŸ¦‹ See also:

java -jar plantuml.jar --help-more

Documentation: https://plantuml.com

(GPL source distribution) β€” yes she's open source, we stan πŸ’–


🌈 the little details at the bottom (iykyk)

  • Build Version: 1.2026.2
  • Git Commit: unknown
  • Compile Time: 2026-02-28 22:22:28 UTC
  • Java Runtime: OpenJDK Runtime Environment
  • JVM: OpenJDK 64-Bit Server VM
  • Default Encoding: ANSI_X3.4-1968
  • Language: en
  • Country: US
  • PLANTUML_LIMIT_SIZE: 4096
Error: Dot executable does not exist Error: only sequence diagrams will be generated

like... graphviz said "not today" and now you only get sequence diagrams. tragic but forewarned 🫢


okay that's the whole page, bestie. PlantUML version 1.2026.2 / u..., dated February 2026, page PLANTUML(1) β€” go make some diagrams, slay, periodt πŸ’…βœ¨πŸŽ€

πŸ“¦ where this page comes from