skillfed

plantuml-markdown

A PlantUML plugin for Markdown

plantuml-markdown v3.11.2 940.5K downloads/30d#4,682 on PyPI226
Permissive license Active released

What it is and what it does

This package extends Python-Markdown to recognize PlantUML diagram blocks and render them as images. You write diagram syntax in a Markdown code block using a special `::uml::` or ` ```plantuml ` delimiter, and the plugin converts it to an embedded PNG, SVG, or text representation in the final HTML. It supports both local PlantUML binaries (requiring Java and Graphviz) and remote rendering via PlantUML or Kroki servers, with options for image dimensions, CSS classes, alt text, and external file inclusion.

The plugin is a pure-Python wheel with no runtime dependencies, making it lightweight to install. Configuration is optional but recommended—you specify which rendering backend to use (local or remote), caching preferences, default image format, and other metadata. It integrates directly into the markdown_py command-line tool or Python-Markdown API.

Use it for:

  • Generate architecture and sequence diagrams automatically from Markdown documentation without manual image creation.
  • Embed UML diagrams in technical specifications or design documents that are version-controlled as plain text.
  • Render diagrams in static site generators (Jekyll, Hugo, Sphinx) that use Markdown as input.
  • Create interactive SVG diagrams with navigable links in HTML output when using svg_object or svg_inline formats.
  • Include external PlantUML files in Markdown via the source parameter for modular diagram management.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

A Markdown extension that converts PlantUML diagram syntax into rendered images (PNG, SVG, or text) embedded in HTML documents, using either a local PlantUML binary or a remote server.

Yes, if you use Markdown for documentation and want to embed UML diagrams without manual image creation. Install is frictionless and the package is actively maintained. Requires either a local PlantUML setup (Java + Graphviz) or network access to a remote server—factor that into your workflow before committing. No security issues reported.

Install

plantuml-markdown on PyPI

pip

pip install plantuml-markdown

uv

uv add plantuml-markdown

poetry

poetry add plantuml-markdown

Installing plantuml-markdown

Before you install

Low friction: pure Python wheel with no runtime dependencies. Active maintenance—last commit 2026-04-18, 226 repository stars. Requires external PlantUML binary or remote server access to function; not a standalone tool.

License in practice

Permissive license (BSD). No restrictions on commercial or private use; safe to include in proprietary projects.

Quickstart

pip install plantuml-markdown

markdown_py -x plantuml_markdown mydoc.md > out.html

In mydoc.md:
::uml:: format="png"
  Alice -> Bob: Hello
  Bob --> Alice: Hi
::end-uml::

Requires PlantUML binary installed locally (with Java and Graphviz) or a configured remote PlantUML/Kroki server URL; Markdown processing requires Python-Markdown.

Verify before relying

  • Whether the package works with current Python-Markdown versions and any version constraints beyond 'requires_python >= 3.0'.
  • Performance characteristics when rendering large diagrams or many diagrams in a single document.
  • Whether caching (mentioned in config) actually improves rendering speed in typical workflows.

Package facts

License not declared (permissive)
Python support supports the current Python release (>=3.0)
Install friction low — pure-Python wheel
Runtime dependencies none
Maintenance actively maintained — 118 days since the last release
Last repo commit
First released
Downloads 940,487/month — #4,682 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: plantuml_markdown-3.11.2-py3-none-any.whl

Keywords: Markdown, typesetting, include, plugin, extension

Development Status :: 5 - Production/StableLicense :: OSI Approved :: BSD LicenseOperating System :: OS IndependentProgramming Language :: PythonTopic :: Software Development :: DocumentationTopic :: Software Development :: Libraries :: Python ModulesTopic :: Text Processing :: FiltersTopic :: Text Processing :: Markup :: HTML

Tags

markdown plantuml diagram renderingconvert uml diagrams markdownplantuml markdown extensionembed diagrams in markdownmarkdown uml plugindiagram to image markdownplantuml server markdown
markdown-extensiondiagram-renderingdocumentation

More Python Modules packages

idna

Converts domain names between Unicode and…

permissive · top 100 on PyPI

setuptools

Setuptools is a Python build backend and…

permissive · top 100 on PyPI

PyYAML

PyYAML parses and emits YAML 1.1 data format,…

permissive · top 100 on PyPI

pydantic

Pydantic validates Python data structures…

permissive · top 100 on PyPI

annotated-types

Provides reusable metadata objects for use with…

permissive · top 100 on PyPI

typing-inspection

Provides runtime tools to inspect and…

permissive · top 100 on PyPI

plantuml

Generates UML diagrams from text markup by…

permissive · top 15,000 on PyPI

sphinxcontrib-plantuml

Adds PlantUML diagram rendering to Sphinx…

permissive · top 15,000 on PyPI

markdown-inline-graphviz-extension

A Markdown extension that converts inline…

permissive · top 15,000 on PyPI

markdown-graphviz-inline

A Markdown extension that converts inline…

permissive · top 15,000 on PyPI

markdown-pdf

Converts markdown text to PDF files, with…

agpl · top 15,000 on PyPI

essentials-openapi

Generates OpenAPI v2 and v3 documentation in…

permissive · top 15,000 on PyPI

mkdocs-plugin-inline-svg

A MkDocs plugin that replaces SVG image…

permissive · top 15,000 on PyPI

mkdocs-material-extensions

Provides emoji and SVG icon extensions for…

permissive · top 5,000 on PyPI

markdown-to-confluence

Converts Markdown files to Confluence Storage…

permissive · top 5,000 on PyPI

mkdocs-kroki-plugin

A MkDocs plugin that converts Kroki diagram…

permissive · top 15,000 on PyPI