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.2
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.2.tar.gz | 2.5 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| mkdocs_excalidraw-0.6.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 5.0 MB
Release files / mkdocs_excalidraw-0.6.2.tar.gz
| Download URL | mkdocs_excalidraw-0.6.2.tar.gz |
|---|---|
| Size | 2.5 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
89577b7577d531759097a18963953d6514de45b447e2227d7f4a9124615d3035
|
|
BLAKE2b-256 checksum How to use checksums |
758d83b0386533a4cea3653e0ea6efeaa00834c46e1b50dd7015ef2f27f957ce
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.4.1 CPython/3.12.13 Linux/6.17.0-1020-azure
|
Release files / mkdocs_excalidraw-0.6.2-py3-none-any.whl
| Download URL | mkdocs_excalidraw-0.6.2-py3-none-any.whl |
|---|---|
| Size | 2.5 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d1f69579912fffdc2e15e5ddbd7f822821c0a86db0ba7d0674f778b7e92d59ad
|
|
BLAKE2b-256 checksum How to use checksums |
8646a82be74a63a4abbbf8cf2624abc10dffa272588ee901bcfdda9f9c7767cd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.4.1 CPython/3.12.13 Linux/6.17.0-1020-azure
|