Mkdocs Excalidraw
✨ A simple mkdocs plugin to easily embed your excalidraw drawings into your docs
See it in action here
🎯 Features
- Embed your drawings as you would an image by converting your excalidraw drawings to svg on the fly
- Dark mode compatibility for mkdocs and mkdocs-material themes
- Lightbox support when used with mkdocs-glightbox (fullscreen on click)
- Select which frame of the drawing to display
📦 Installation
Install the package
pip install mkdocs-excalidraw
Add it to your mkdocs.yaml
site_name: MkDocs Excalidraw
plugins:
- excalidraw
- glightbox # if you want lightbox (see below)
🚀 Usage
You can use this project's docs as an example , lets break down how we do it.
- Create an excalidraw drawing and save the file (I recommend using the vscode extension)
- Add a reference to it in your markdown file as you would for an image

- Thats it , the extension renders it as an svg in your browser
🧩 Integrations
🌓 Dynamic Theme
This extensions supports dynamic light/dark theme with the following mkdocs themes:
- material-mkdocs
- mkdocs (base)
This means that , when you switch the the between light and dark , the excalidraw drawings will change their theme accordingly
🖥 GLightbox - fullscreen and slideshow
Simply install and setup mkdocs-glightbox as descibed here. once done your mkdocs drawing will be clickable , and available in the slideshow of the page.
🪟 Frame based rendering
Excalidraw introduced the notion of frame. You can select a part of your drawing to be part of a frame ,a drawing can hold several frames. But an object can only belong to one frame.
to render not the whole drawing but a specific frame , you can do the following :

This feature pairs nicely with glightbox (just above) and enables you to turn an mkdocs page into a slideshow !
🫶 Contributing
This projects welcomes contribution ! But contribution does not have to be code. Here are great ways to help this project :
- Fill in a detailed bug report (with console logs , screenshots and execution context)
- Make a feature requests
- Make a PR for the documentaion to impprove it or translating it
- Make a code PR but please link it to an issue
And if you have a few seconds to star this repo it would really help us reach more people ! We hope you like this plugin at least as much as we loved making it
Metadata
Release files for mkdocs-excalidraw 0.6.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| mkdocs_excalidraw-0.6.3.tar.gz | 2.5 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| mkdocs_excalidraw-0.6.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 5.0 MB
Release files / mkdocs_excalidraw-0.6.3.tar.gz
| Download URL | mkdocs_excalidraw-0.6.3.tar.gz |
|---|---|
| Size | 2.5 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
6f866c51192087a61589594d4c986b677cbb896e371e55b30afada78382ab8f1
|
|
BLAKE2b-256 checksum How to use checksums |
7c43c710a070f9a8e26de0fca632b63ff753c7bd33e4f311c99340f3d859bb7d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.5.1 CPython/3.12.15 Linux/6.17.0-1022-azure
|
Release files / mkdocs_excalidraw-0.6.3-py3-none-any.whl
| Download URL | mkdocs_excalidraw-0.6.3-py3-none-any.whl |
|---|---|
| Size | 2.5 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
9cd6037a72feb80b5661a16709fcb131899279c4fda0078e99b3c3fc529ccfc8
|
|
BLAKE2b-256 checksum How to use checksums |
07c56079fa9b5378b9f86abd1b3934f82897e76c7c3134387fe7443b72011853
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.5.1 CPython/3.12.15 Linux/6.17.0-1022-azure
|