---
name: "plantuml"
section: "1"
platform: "linux"
package: "plantuml"
version: "1:1.2020.2+ds-6"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/plantuml"
---

# plantuml(1)

generate UML diagrams from a text description

## NAME

plantuml - generate UML diagrams from a text description

## SYNOPSIS

**plantuml** \[*options*\] *files/dirs*...

## DESCRIPTION

*PlantUML* is used to draw UML diagrams using a simple and human readable text description.

Note that **graphviz** is required to be installed for generation of all diagrams except sequence diagrams.

When files/directories are given, they are processed in batch mode. Otherwise, a GUI window appears. It allows user to browse directories and view diagrams generated from suitable files (must have one of the following extensions: *.txt*, *.tex*, *.java*, *.htm*, *.html*, *.c*, *.h*, *.cpp*).

You can use the following wildcards in files/dirs:

- **\*** means any characters but '/'

  - **?** one and only one character but '/'

  - **\*\*** means any characters (used to recurse through directories)

  ## OPTIONS

- **-t***format*

  Generate images in one of the following formats:

  - **png** PNG image (default)

    - **svg** SVG image

    - **eps** EPS image

    - **pdf** PDF image

    - **vdx** VDX image

    - **xmi** XMI file for class diagram

    - **scxml** SCXML file for state diagram

    - **html** HTML file for class diagram

    - **txt** ASCII art

    - **utxt** ASCII art using Unicode characters

    - **latex** LaTeX/TikZ format

    - **latex:nopreamble** LaTeX/TikZ format without preamble

    - **-output** *dir*, **-o** *dir*

  Generate images in the specified directory.

- **-config** *file*

  Read the provided config file before each diagram.

- **-charset** *encoding*

  Use a specific encoding (default is UTF-8).

- **-exclude** *pattern*, **-x** *pattern*

  Exclude files that match the provided pattern.

- **-metadata**

  Retrieve *PlantUML sources from PNG images.*

- **-version**

  Display information about *PlantUML and Java versions.*

- **-verbose**, **-v**

  Be more verbose.

- **-quiet**

  Don't print error messages.

- **-keepfiles**

  Do NOT delete temporary files after process.

- **-help**, **-h** Display a help message.

  - **-testdot** Test the installation of **graphviz**.

  - **-graphvizdot** *path* Specify the **dot** executable path.

  - **-pipe**, **-p** Use stdin for *PlantUML* source and stdout for PNG/SVG generation.

  - **-computeurl** Compute the encoded URL of a *PlantUML* source file.

  - **-decodeurl** Retrieve the *PlantUML* source from an encoded URL.

  This list of options is not exhaustive. For more information, run **plantuml -help**.

For more documentation, see the *PlantUML*'s website: \<https://plantuml.com/command-line\>.

## ENVIRONMENT

- *DISPLAY*

  If not set or empty, uses Java's headless mode to run *PlantUML*.

- *GRAPHVIZ\_DOT*

  Similarly to **-graphvizdot**, can be used to specify the path to the **dot** executable. If both *GRAPHVIZ\_DOT* and **-graphvizdot** are used, the command-line setting takes the precedence.

## NOTES

The Debian package for *PlantUML* comes without Easter eggs, XEarth diagram support or inbuilt FTP server, Telnet server or a Sudoku game.

## SEE ALSO

**graphviz**(1)

## AUTHOR

*PlantUML* was written by Arnaud Roques \<plantuml@gmail.com\>.

This manual page was written by Ilya Paramonov \<ivparamonov@gmail.com\> and updated by Andrej Shadura \<andrewsh@debian.org\>, for the Debian project (and may be used by others).
