MediaWiki extensions manual
OOjs UI icon advanced.svg
Release status: beta
Implementation Tag
Description Display various types of diagrams rendered from text within wiki pages.
Author(s) Sam Wilson (Samwilsontalk)
Latest version 0.11.0 (2022-12-20)
Compatibility policy Master maintains backward compatibility.
MediaWiki >= 1.34.0, <= 1.40
Database changes No
Composer samwilson/diagrams
License MIT License
<graphviz>, <mscgen>, and <uml>

The Diagrams extension displays GraphViz, Mscgen, PlantUML, and Mermaid diagrams in a wiki. It can be configured to use a small web service to render the images.

It replaces the GraphViz , PlantUML , and Mermaid extensions in some ways, but does not (yet) support all features of all of them. The primary reason for creating a new extension was to not store the rendered images as wiki files, but it has developed to aim to become a general diagramming extension.


  • Download and place the file(s) in a directory called Diagrams in your extensions/ folder.
  • Add the following code at the bottom of your LocalSettings.php :
    wfLoadExtension( 'Diagrams' );
  •   Done – Navigate to Special:Version on your wiki to verify that the extension is successfully installed.

Note that you have to install graphviz, mscgen and plantuml on the computer running the web server, if you do not use the external rendering. On Debian or Ubuntu systems, this can be done for example by

sudo apt-get install graphviz mscgen plantuml

Optional external renderingEdit

This extension can also be configured to use an external rendering web service to generate the actual diagrams files. This is useful if you do not want the rendered files to be stored in the wiki, or if you have security requirements that make it more convenient to have the external rendering commands run somewhere other than on the web server.

Earlier versions of this extension required this service, but since 0.4.0 it's been optional.

There are two implementations of the service:

  1. A PHP (Symfony) based serviceinstallation instructions
  2. A Python based serviceinstallation instructions, demo

Once you have the servicing installed and running correctly, add the following to your LocalSettings.php:

// The URL at which you installed the Diagrams Service.
$wgDiagramsServiceUrl = 'https://diagrams.example.com/subdir';


This extension adds four tags: <graphviz>, <mscgen>, <uml>, and <mermaid>.

See alsoEdit