Multilingual Wiki Documentation

You are currently using syntax.
In an attempt to improve PlantUML documentation...
Please do not use this website for your own diagrams.
You can click here and use the online server here for your own documentation.

Recent changes    Wiki Toc    View page history    Add new chapter    Reorder page    Raw

Important note about version

PlantUML should be working with any version of Graphviz, starting with 2.26.3

The following versions have been tested, and are known to work:

  • 2.26.3
  • 2.28
  • 2.30.1
  • 2.34
  • 2.36
  • 2.38

The following version is known to have a lot of issues with PlantUML, so please do not use it:

  • 2.40.1

However, it is possible that some cases with some versions have issues:

If you compile Graphviz by yourself, you have to build it with libexpat in order to work with PlantUML.

If you find something wrong, thanks for sending us a note or posting a message on the forum.


By default, the dot executable should be:

  • Windows :
    • Firstly in: c:\Program Files\Graphviz*\bin\dot.exe
    • Then in: c:\Program Files (x86)\Graphviz*\bin\dot.exe
  • On Linux/Mac OS-X :
    • Firstly in: /usr/local/bin/dot
    • Then in: /usr/bin/dot

You can also specify the environment variable GRAPHVIZ_DOT to set the exact location of your GraphViz executable.

Note for Mac users

You can easily install GraphViz by installing brew on your Mac machine. This could fix issues if you have installed GraphViz as .dmg package.

brew install libtool
brew link libtool
brew install graphviz
brew link --overwrite graphviz


To have information about where PlantUML expects to find dot, you can use the command line:

java -jar plantuml.jar -testdot

You can also use this special diagram description:


Sequence Diagram

First, you should focus only on Sequence Diagrams. Even if you are not interested in sequence diagrams, since they are working without Graphviz, it is somehow simplier to let them work. And if they do not work, other diagrams will probably also not work.

You should then test Sequence Diagrams using the command line, and not in the target tool you want to install (Eclipse, Word, Mediawiki...) :

java -jar plantuml.jar -verbose sequenceDiagram.txt

In the sequenceDiagram.txt file, you can have a very simple test:

Alice -> Bob: test

The -verbose flag is used to generated some logs that you can send to us, if no image is generated.

Under Unix, you must have X11 librairies installed (which is done by default). Otherwise, you will have some HeadlessException. You may have to add a flag -Djava.awt.headless=true in the command line.

If this is working, but not in your tool, it is probably due to a specific tool issue:

On MediaWiki & Windows, you must set the read & execute permissions on C:\Windows\system32\cmd.exe for the account the PHP web service extension is running under. PHP needs those permissions to "fork" other processes.

Others Diagrams

Once sequence diagrams are working fine, you can focus on others diagrams.

If Graphviz is not installed on your system, you have to install it first.

Under Linux, try to launch dot command into a command shell. You may have to finalize the installation by typing dot -C.

You may have to set GRAPHVIZ_DOT variables if you have not chosen the default installation directory of Graphviz.

To test the installation of Graphviz, you can use the command line:

java -jar plantuml.jar -testdot

You can also use this special diagram description:


Once again, you should test using the command line and the -verbose flag:

java -jar plantuml.jar -verbose classDiagram.txt

The classDiagram.txt file can be very simple:

A <|-- B

If you still have issues, then you can send us a mail.

Please report any bugs to or here.
This website is still in beta testing.