rmoff266 downloadsExport canvas files to HTML, Excalidraw, Mermaid, D2, and PDF.
An Obsidian plugin that exports .canvas files to multiple formats:
.excalidraw) — editable diagrams.mmd) — text-based flowcharts.d2) — declarative diagramsOpen a .canvas file, then use the Command Palette (Cmd/Ctrl+P):
Canvas Export: Export to HTML (light)Canvas Export: Export to HTML (dark)Canvas Export: Export to ExcalidrawCanvas Export: Export to Mermaid (.mmd)Canvas Export: Export to D2 (.d2)Canvas Export: Export to PDFCanvas Export: Export current canvas... — multi-format picker modalCanvas Export: Re-export with last settingsYou can also right-click a .canvas file in the file explorer and select Export Canvas....
If the output file already exists, you'll be prompted to overwrite, save with a numbered name, or skip.
Canvas files follow the JSON Canvas spec and can contain four types of nodes: text, groups, file embeds, and link embeds. Not all of these translate equally to every format.
| Feature | How it's handled |
|---|---|
| Text nodes | Exported with basic Markdown rendering (headings, bold, italic, links, lists) |
| Groups | Rendered as containers with labels |
| Edges (arrows) | Preserved with correct anchoring and direction |
| Node colors | Mapped to each format's color system (Obsidian's 6 preset colors + custom hex) |
| YAML frontmatter in text nodes | Stripped automatically (used by plugins like Canvas Candy) |
| Images / file embeds | Shown as a placeholder with the filename (e.g. 📄 diagram.png) — images are not embedded |
| Link embeds (iframes) | URL is displayed as text/link — iframe content is not rendered |
<a> tags with target="_blank".excalidraw JSON (opens in Obsidian's Excalidraw plugin in compatibility mode, or in excalidraw.com)label (https://...)) since Excalidraw only supports one link per elementflowchart TD diagramsubgraph blocksstyle directivesdirection: down diagramgroup.node).link propertystyle blocksprintToPDFmain.js, manifest.json, and styles.css from the latest release.obsidian/plugins/canvas-export/ in your vaultThis plugin uses Electron APIs for PDF export and is desktop-only.