Transform Obsidian Canvas into a powerful mind mapping tool.
- Keyboard-driven editing — Add, delete, and navigate nodes entirely from the keyboard
- Auto-layout — Contour-based tree layout packs nodes tightly with left/right branch support
- Map outline — Sidebar panel with groups, search, drag-and-drop, inline rename, and bidirectional highlight sync
- Node referencing — Copy clickable links to any node; paste in notes or other canvases for instant navigation
- Insert between nodes — Alt+click a connection point to insert a new node between parent and child
- Forest layout — Arrange multiple trees within a group into a clean grid
- Branch coloring — Each top-level branch gets a distinct color automatically
- Subtree drag — Dragging a node moves its entire subtree; hold
Altto move a single node - Auto-resize — Nodes resize to fit their content as you type
- FreeMind import — Import
.mmfiles directly into Canvas - Non-Latin keyboard support — Physical key fallback for Arabic, Hebrew, Cyrillic, and other layouts
- Install the plugin and open any Canvas
- Click the brain icon in the canvas toolbar to enable mindmap mode
- Create a text node — this is your root
- Use the command palette (
Ctrl/Cmd+P) to add child nodes, siblings, navigate, and more - Assign your own hotkeys in Settings > Hotkeys for faster workflow
- The Map outline panel appears in the right sidebar for navigation
- Open Settings > Community plugins
- Search for Mindvas
- Click Install, then Enable
Manual installation
- Download
main.js,manifest.json, andstyles.cssfrom the latest release - Create a folder
mindvasin your vault's.obsidian/plugins/directory - Copy the downloaded files into that folder
- Enable the plugin in Settings > Community plugins
All commands are available from the command palette (Ctrl/Cmd+P). Assign your own hotkeys in Settings > Hotkeys.
| Command | Description |
|---|---|
| Edit selected node | Start editing the selected node |
| Add child node | Create a new child node (selected text moves to child) |
| Add sibling node | Create a sibling node below the current one |
| Delete node and focus parent | Remove the current node and select its parent |
| Flip branch to other side | Move a branch to the opposite side of its parent |
| Toggle balanced layout | Distribute children evenly on both sides, or collapse to one side |
| Navigate right/left/up/down | Move selection spatially through the tree |
| Re-layout mind map | Recalculate and apply layout to the entire canvas |
| Layout forest | Arrange trees within the selected group into a grid |
| Detach subtree | Disconnect a branch into an independent tree |
| Resize & re-layout subtree | Resize nodes in the subtree to fit content and re-layout |
| Resize all nodes to fit content | Resize every node in the canvas to fit its content |
| Apply branch colors | Manually trigger branch color assignment |
| Toggle mindmap mode | Enable or disable mindmap mode for the current canvas |
| Import FreeMind file | Import a .mm mind map file into the current canvas |
| Action | Result |
|---|---|
| Alt+click connection point | Insert a new node between parent and child |
| Alt+click a node | Select the entire tree |
| Ctrl+click a node | Zoom to fit the branch |
| Right-click a node | Copy node link (for cross-canvas referencing) |
| Right-click a group | Layout forest, copy group link |
Settings
| Setting | Description | Default |
|---|---|---|
| Default mindmap mode | Whether canvases open in mindmap mode by default | On |
| Auto-layout | Automatically arrange nodes after adding/deleting | On |
| Auto-color branches | Assign distinct colors to top-level branches | On |
| Horizontal gap | Space between parent and child nodes (px) | 80 |
| Vertical gap | Space between sibling nodes (px) | 20 |
| Default node width | Width of newly created nodes (px) | 300 |
| Default node height | Height of newly created nodes (px) | 60 |
| Max node height | Maximum height before a node scrolls (px) | 300 |
| Navigation zoom padding | Extra space around the target node when zooming (px) | 200 |
Found a bug or have a feature request? Open an issue.
If you find this plugin useful, consider buying me a coffee.
[!NOTE] This plugin is desktop-only (Canvas is a desktop feature). It does not make network requests, collect telemetry, or access files outside your vault.
