From mediawiki.org
MediaWiki extensions manual
OOjs UI icon advanced-invert.svg
Release status: unmaintained
Implementation Parser function
Description Allows to add UML diagrams
  • Arnoud Roques,
  • Pieter J. Kersten,
  • Wolfgang Fahl,
  • Frédéric Planchon
Latest version 0.7.0 (2017-10-03)
MediaWiki 1.26+
Database changes No
License GNU General Public License 2.0 or later
Example sandbox.semantic-mediawiki.org
  • $wgPlantUmlUseCloud
  • $wgPlantUmlDebug
  • $wgPlantUmlCloudURI
  • $wgPlantUmlJarFile
  • $wgPlantUmlFormat

The PlantUML extension allows to easily add UML diagrams into Wiki using a simple text description.

Reporting issues[edit]

Diagrams supported[edit]

The following diagrams are available:

  • sequence diagram,
  • use case diagram,
  • class diagram,
  • activity diagram,
  • component diagram,
  • state diagram

The language is explained in this document: Language Reference Guide.pdf


Just put a PlantUML model description between the <uml></uml> tag.


force diagram to be redrawn by deleting cached image.


Example 1[edit]

Alice -> Bob: Authentication Request
Bob --> Alice: Authentication Response

Example 2[edit]

skinparam usecaseBackgroundColor DarkSeaGreen
skinparam usecaseArrowColor Olive
skinparam actorBorderColor black
skinparam usecaseBorderColor DarkSlateGray
skinparam usecaseActorFontName Courier

User << Human >>
:Main Database: as MySql << Application >>
(Start) << One Shot >>
(Use the application) as (Use) << Main >>

User -> (Start)
User --> (Use)
MySql --> (Use)

Example 3[edit]

package "Classic Collections" #DDDDDD
Object <|-- ArrayList

package net.sourceforge.plantuml
Object <|-- Demo1
Demo1 *- Demo2

Example 4 - new features of 0.6[edit]

Using umlauts and international characters and modifying the format per uml tag is now possible

<uml format='png'>
hide circle
class ÄÖÜäöüßéÈô東京都 {


This extension depends on the GraphViz extension (now obsolete for security reasons). You should install it first.

Then the code of the PlantUML extension is available here.

  • On 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 process.
  • If using WAMP (and possibly other stacks) on Windows, you must set the "wampapache" service to "Allow service to interact with desktop".

In order to install this plugin, please follow the steps below.

  1. Go to the extensions folder of your MediaWiki installation.
    cd extensions
  2. Git clone the PlantUML sources
    git clone https://github.com/pjkersten/PlantUML.git
  3. Choose your usage style. You can either process images locally (on the server where MediaWiki was installed) or in the cloud. The local version supports SVG-images and embedded urls, at the cost of local processing. The cloud version is lightweight for your server, but does not support embedded urls (yet) and is (still) stuck with PNG-images. Default local processing is expected. If you want to use the cloud, please edit the PlantUML.php file and change $usecloud to true.
  4. When using local processing: get the plantuml.jar from SourceForge and put it in your extensions/PlantUML/ directory.
    wget https://downloads.sourceforge.net/project/plantuml/plantuml.jar
  5. (Optional) Change the Format from svg to png.
    Edit your LocalSettings.php and add the variable $wgPlantUmlFormat to your preference e.g.

    You can also change the format of the uml rendering using the "format" attribute of the uml tag e.g. with
    <uml format='png'>
    Mind that SVG produces the superior graphics, but that only PNG-images and image maps are "rock solid". If you use the cloud, it will always generate PNG images. Local processing defaults to SVG.
  6. (Optional) Adapt the getUploadPath and getUploadDirectory to your preference if you want these different from MediaWiki's standard settings. Mind that these directories must be writeable by the system user who runs MediaWiki.
  7. Put the following line near the end of your LocalSettings.php in MediaWiki's root folder to include the extension:
    wfLoadExtension( 'PlantUML' );
  8. When using SVG, check your mediawiki SVG settings
  9. When using the cloud, make sure that httpd can submit HTTP-requests.
  10. Reload http server


To turn on debugging log messages you might want to add:

$wgPlantUmlDebug = true;

to your LocalSettings.php.

See also[edit]