zenolzx1k downloadsCreate collapsible Canvas mind maps from Markdown with seven layouts.
Turn notes into navigable mind maps, write beside your outline, or start with a blank canvas—all inside Obsidian.
English · 简体中文
Install in Obsidian · Download · User guide · Report an issue

Canvas Mind Map connects three parts of working with ideas: understanding what you already have, arranging what comes next, and writing the result. Explore an existing document in Organic, build a new one in Composer, or work with ordinary cards in Native Canvas.
This README describes 1.2.0. See the release notes for changes from 1.1.1.
| Start with… | Choose | What is saved |
|---|---|---|
| An existing Markdown, DOCX or PDF document | Organic: explore a map, read sections, or edit supported sources | Edits write to the source; PDF stays read-only |
| A new idea, outline or article | Composer: collect, arrange, write, then Create Note | An autosaved plugin draft until you create a .md file |
| A native Obsidian Canvas | Native Canvas: generate a map from a file or text card | Ordinary nodes and edges in the .canvas file |
Open a supported file as a mind map. Search headings even inside folded branches, focus on a subtree, or follow the document in reading order. Use Radial, Horizontal or Compact layouts; export the visible map as SVG or PNG.
Switch to Edit to work on Markdown or supported DOCX sections. The map holds the structure while the side editor holds the selected section's direct body. Rename headings, add siblings and children, or drag a whole section to a new place.
Create a blank draft or start from a writing template. Add branches with Enter and Tab, keep unplaced ideas in the Inbox, and drag them into the outline when ready. Search titles and bodies, group branches, add Todo nodes, and undo structural changes.
Move between Structured, Writing and Sketch. Free canvas supports saved positions, independent notes, connections and annotations. When the document is ready, Create Note previews the output and creates a Markdown file in your chosen folder, then opens it in Organic Edit.

The screenshots use sample content and the current plugin components. Capture details and replacement shots are documented in the screenshot brief.
Generate a collapsible map from a Markdown, DOCX, PDF or heading-based text card. Choose title-only or body content, then arrange the result using seven directional layouts. Focus branches, search headings, customize cards by level, and refresh from the source.
The result remains native Canvas data: edit cards, add outside connections, save and use Canvas undo. Cards remain in the file when the plugin is disabled; plugin folding and navigation controls require the plugin.
In Obsidian, open Settings → Community plugins → Browse, search for Canvas Mind Map, then install and enable it. Requires Obsidian 1.7.7 or later according to the manifest; current desktop coexistence testing is documented separately. This release has not been validated on mobile.
For manual installation, download main.js, manifest.json and styles.css from the same GitHub Release. Put all three in:
YourVault/.obsidian/plugins/canvas-mind-map/
Reload Obsidian and enable the plugin. GitHub's automatic Source code archives are not installable plugin packages.
.md, .docx or .pdf file → Open note in Organic mode. Choose View to explore or Edit to write to a supported source.These apply while the Composer map has focus. Organic editing has a few different confirmation behaviours; see the full guide.
| Key / gesture | Composer action |
|---|---|
| Enter / Tab, with a node selected | Add a sibling / child |
| F2 / double-click | Rename a node |
| Ctrl/Cmd+Enter | Open the selected node's body editor |
| Ctrl/Cmd+F | Search the draft |
| Ctrl/Cmd+Z / Ctrl/Cmd+Shift+Z | Undo / redo |
| Drag background / scroll | Pan / zoom |
0 |
Fit the map |
New installations start with Mineral Paper and a paper surface. Choose Forest mist, Terracotta, Muted lavender, Midnight Graphite or Follow Obsidian; color presets and surface materials can be changed independently. Existing saved preferences are retained.
Use stable branch colors or a single preset ink, switch heading typography, or select an image from your vault as the background. The appearance picker previews changes and restores the previous look when cancelled. English and Simplified Chinese interfaces are available in plugin settings.
| Format / workflow | Supported | Boundary |
|---|---|---|
| Markdown | Read, map, edit headings and section bodies | Heading renames do not automatically update links in other notes |
| DOCX | Map heading styles / outline levels; edit supported headings and plain-text bodies | Bodies with tables, images, fields, tracked changes or rich formatting are read-only; moving a chapter preserves its Word blocks |
| Map bookmarks and read selectable page text | Read-only; without bookmarks there is one document node; no OCR or legacy .doc support |
|
| Composer | Autosaved drafts; create Markdown with explicit export choices | “Draft saved” does not mean a Markdown file exists; free-canvas objects stay in the draft |
Composer drafts retained after note creation do not receive later edits from the created note. Undo history belongs to the editing session. External source changes are checked before writing; conflicts and unsupported sections are explained in the writing guide.
Enhanced Canvas is optional. Coexistence was tested with the official 1.0.33 source build, in both plugin loading orders, including folding, save/reopen, ordinary file-card property sync and independent unloading.
The local 1.0.29 modification with an early mind-map engine also has an explicit migration action. It preserves node IDs, content, geometry and folds, supports Canvas undo, and avoids duplicate ownership. This local modification is distinct from the official release. Title maps use text cards, so their edges do not participate in Enhanced Canvas's file-card property sync. See tested scope and limitations.
To build from source with Node.js and npm:
npm ci
npm run build
The build creates main.js; install it with manifest.json and styles.css. Use npm run dev for watch mode. npm test runs model and browser regressions; npm run lint checks source conventions. Browser checks require an available Chromium installation; set CMM_REQUIRE_BROWSER=1 to fail rather than skip when it is missing.
Composer drafts live in .obsidian/plugins/canvas-mind-map/data.json, separately from Markdown
notes. Use Continue a draft or Restore Composer Draft to export all drafts to a JSON backup
or import a backup as new copies. Back up before uninstalling, deleting plugin data or moving a
vault. Unsupported draft data is preserved in exports. Vault synchronization settings determine
whether plugin data travels between devices; concurrent draft edits are not merged.
Before the first DOCX write in an editing session, the plugin saves an original copy next to the
source with .cmm-backup- in its name. A failed backup prevents the write. Close the editing
session and inspect the copy in Word before restoring it. Paragraphs containing bookmarks,
comments, references, fields, section breaks or unknown XML remain read-only. Avoid simultaneous
editing in Word or a synchronization tool.
Import limits: DOCX archives 32 MiB, expanded content 64 MiB / 4096 entries, main XML parts 8 MiB; PDF 1000 pages. Split larger files before importing. PDF section text is a page-based preview; bookmarks on the same page can show overlapping text. Plugin business logic does not actively upload documents or send telemetry; remote resources rendered by Obsidian may still make requests.
Open an issue with your Obsidian and plugin versions, workspace and mode, reproduction steps, and a small shareable source file if possible. Screenshots help explain layout problems; remove private content first.
Early development migrated a limited set of Canvas interface integration implementations from Enhanced Canvas. This credit concerns those early integration implementations. The current mind-map model, layouts, Organic and Composer workspaces, document editing and visual design are developed and maintained in this project.
MIT License. Original copyright notices for reused code are retained alongside this project's contributor notice.