Skip to content
🌿 📖 plantuml diagrams in your markdown
Branch: master
Clone or download
Latest commit cb11b1e Jun 5, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
LICENSE Add server option Sep 27, 2018
index.js use https plantuml server as default Apr 24, 2019


npm version CircleCI build

Plugin for creating block-level uml diagrams for markdown-it markdown parser.

With this plugin you can create uml diagrams inside your markdown files:

# UML example:

Bob -> Alice : hello

See plantuml website for more details.


node.js, browser:

$ npm install markdown-it-plantuml --save

Basic usage

const md = require('markdown-it')()

See markdown-it repository for more details.

Advanced usage

const md = require('markdown-it')()
           .use(require('markdown-it-plantuml'), options);


  • openMarker - optional, defaults to @startuml. String to use as oppening delimiter.
  • closeMarker - optional, defaults to @enduml. String to use as closing delimiter.
  • generateSource - optional, defaults to using public plant-uml server. Generates the src property of the image element.
  • diagramName - optional, defaults to uml. Name used by generateSoruce to generate diagram tags like @startuml, @startditaa, etc.
  • imageFormat - optional, defaults to svg. Format used by generateSource to generate the src of the image element.
  • render - optional, defaults to markdown-it image renderer. Renderer function for opening/closing tokens.
  • server - optional, defaults to Defines the plantuml server used for image generation.

Example: using custom URL to serve diagrams

const options = {
  generateSource: function generateSource(umlCode) {
    return `https://your.server/plant-uml/${yourEncodeFunction(umlCode)}`;

const md = require('markdown-it')()
           .use(require('markdown-it-plantuml'), options);

Example: generating ditaa diagrams

const options = {
  openMarker: '@startditaa',
  closeMarker: '@endditaa',
  diagramName: 'ditaa',
  imageFormat: 'png'

const md = require('markdown-it')()
           .use(require('markdown-it-plantuml'), options);



You can’t perform that action at this time.