joeytoday5k downloadsSupercharge your canvas experience! Create presentations, flowcharts and more!
Think visually in Obsidian Canvas. Build mind maps, keep notes beside your canvas, and turn ideas into diagrams.
📖 Usage Guide · 📋 Changelog · 🐛 Report Issue · 简体中文
Obsidian Canvas is great, but it leaves gaps. Canvas Enhance fills them — without changing the native experience:
.canvas into the graph view, backlinks, and outgoing linksEnable the features you need in settings. The plugin interface supports English and 简体中文, including settings, commands, menus, and export options.
Get started with the English guide.
https://github.com/user-attachments/assets/5a87278b-2d0e-4ab1-8bb0-7b85d7193645
Zoom out and nodes become unreadable. Overview Mode automatically replaces card content with large titles:
# Title)https://github.com/user-attachments/assets/9d0a7240-75b7-4c5c-bc42-cfba88a1e9f9
With a single card selected and not being edited, Tab creates a child node, Enter creates a sibling, Space edits the selected node, and Alt+Arrow navigates between nodes. The first three shortcuts can be changed in Obsidian under Settings → Hotkeys. Child nodes inherit the parent's color. New nodes are placed following the hierarchy order.
Rearrange all keeps ordinary mindmap branches together and places shared cards once, aligning related cards where spacing allows. Visible text cards fit their content; hidden cards, cards with a fixed aspect ratio, and cards in cycles keep their sizes. Repeated rearrangement stays stable when the input is unchanged, and the layout can be undone in one step.
Groups move together with their cards, preserving internal positions, sizes, and collapsed states. Nested or overlapping groups and cards crossing a group border move as one region. Floating connections retain their directed hierarchy while attachment sides adjust automatically. Canvases containing portals are not yet supported; they show a notice and keep their existing layout.
Enable Card heading and choose a Card heading level to start new text cards with an H1/H2/H3 heading, with the caret right after the prefix.
https://github.com/user-attachments/assets/c78a55e6-309e-4150-92ee-d68c80d1d015
Choose a template under Settings → Canvas Enhance → Basic → File template to create file nodes with pre-filled content.
Click a file card's title, or right-click it and choose Open in sidebar. The file opens in a pane beside the canvas, so you can read or edit the note while keeping the bigger picture visible.
Further files open as tabs in the side pane. Opening the same file again reuses its existing tab. Enable this under Settings → Canvas Enhance → Basic → Open file cards in split.
https://github.com/user-attachments/assets/1c76f084-aa48-4336-b689-d1c193a4204f
See the template and side-pane walkthrough.
Flowchart shapes (terminal, process, decision, database…), border styles, text alignment, 8 arrow types, path styles (solid/dotted/dashed), and automatic obstacle-avoiding edges — all from the right-click menu.
| Feature | Description |
|---|---|
| Metadata Cache | .canvas files join the graph view, backlinks, and outgoing links |
| Frontmatter | Custom properties for canvas files (tags, aliases, CSS classes) |
| Single-node Links | Link or embed individual nodes via [[canvas#node-id]] |
| File Templates | Create file nodes pre-filled with a chosen Obsidian template |
| In-canvas Search | Cmd/Ctrl+F to search text inside a canvas |
| Collapsible Groups | Collapse/expand group nodes |
| Focus Mode | Blur unselected nodes to highlight the current one |
| Portals | Embed another canvas view inside a canvas |
| Image Export | Export to PNG/SVG on desktop, with a transparent-background option for PNG |
| Layer Order | Adjust node stacking order from the right-click menu |
| Floating Edges | Edges auto-adjust connection side; support unattached edges |
| Auto-resize Nodes | Node height adapts to content, with configurable max height and vertical padding |
| 20+ Commands | Create, navigate, clone, expand, flip, swap, and more |
Define custom style attributes for nodes and edges via CSS snippets with YAML comments:
/* @canvas-enhance-node-style
key: validation-state
label: Validation State
options:
- label: None
value: null
icon: circle-help
- label: Approved
value: approved
icon: circle-check
*/
See example CSS file.
Requires Obsidian 1.13.0 or later.
Search Canvas Enhance in Obsidian → Settings → Community Plugins → Browse.
canvas-enhance folder inside your vault's .obsidian/plugins/main.js, styles.css, and manifest.json from Releases and place all three files in that folderFor an English interface, go to Settings → Canvas Enhance → Basic → General → Interface language → English. The language changes immediately, without restarting Obsidian. Auto (follow Obsidian) selects Chinese for a Chinese Obsidian interface and English otherwise.
Four tabs:
If Canvas Enhance helps you, consider giving it a ⭐ Star. It's the biggest encouragement and helps others discover the plugin.
Based on Advanced Canvas by Developer-Mike. Canvas Enhance continues development with a rename, refactoring, and new features.
Thanks to Miroff (@m1roff) for adding English translations and interface language switching in PR #6, making Canvas Enhance more accessible to English-speaking users.