I’m excited to introduce my latest Obsidian plugin that enhances Canvas functionality through automated node connections and property synchronization.
If you’re a heavy user of Obsidian Canvas and want to maintain Canvas relationships within your notes, this plugin is designed for you.
This plugin seamlessly integrates Canvas nodes with note properties by automatically managing markdown links and providing intuitive navigation features.
The plugin is now available in the Obsidian Community Plugin store - simply search for “Enhanced Canvas”.

Key Features demonstrated above:
- When a node is added to a canvas, the plugin automatically generates a ‘canvas’ property with a link to the corresponding canvas file in the note.
- When creating an edge in the Canvas, the plugin generates a property named after the canvas file (without the ‘.canvas’ extension) containing a link to the target note.
- Removing a note from the canvas automatically cleans up all canvas-related properties from the note.
Navigation feature: clicking any canvas link in your notes triggers automatic focus and zoom to the associated node within the canvas, making it effortless to locate specific notes in your Canvas.

Moreover, when opening a Canvas file, this plugin automatically updates canvas-specific properties for all file nodes. When deleting a Canvas file, this plugin removes all the property (markdown link) in all the notes.
Other than that, this plugin provides a command “Auto Connect Nodes and Adjust Edge with Shortest Path”
- Automatically establishes connections based on existing markdown links in notes
- Optimizes edge paths in Canvas for minimal distance
- Supports all node types (text nodes, group nodes, images, nested Canvases, etc.)

10 Likes
Kudos, this is really handy!
Gonna mess with it this week.
1 Like
I installed and tried it. I’ve been looking for a way to visualize logical Markdown links between notes like in Scrintal so that I can detect clusters and write storylines by identifying the gaps between those cluster. It works and I’m very happy! Thank you for your time.
2 Likes
Thank you for sharing your feedback. I’ve released a newer version of the plugin that automatically adds all relevant properties when plugin enabled. Please make sure to update to the latest version to enjoy these improvements.
The AutoResize is still too laggy.
The node automatically resizes once the left pointer is released and the user finishes editing the Canvas node (the node must exit the editing view). This is not real-time resizing. I am leveraging Obsidian’s native auto-resize function, so resizing only occurs in reading mode.
Do you have any advice on this? Perhaps I could implement it as an advanced feature.
Add 3 feature that complete the user experience of Canvas:
Split Node by Headings
Split Node by Headings instantly deconstructs a single node into a hierarchical tree based on its headings. You can try this by right-clicking on a file (text) node and selecting “Split by Headings” in Canvas.

Send Note to Canvas
With the “Send to Canvas” command, you can push your current markdown note directly to a specific Canvas. It automatically appends a “canvas” property to your note, allowing you to navigate back to the board instantly in the future.
Once you have sent a note, that Canvas becomes the “Selected.” You can then use the “Send to Selected Canvas” command on other notes to instantly add them to the same board—bypassing the file selection step entirely.

Auto-Resize Node
With this update, double-clicking the bottom edge engages “Auto-Resize.” Now, when you drag the right edge to adjust the width or update the text, the height dynamically adjusts to fit your text. No need for repeated double-clicking!
Dragging the bottom edge to manually adjust the height disables the node’s auto-resize feature.

This might be useful in some of the work I do.
Define semantic similarity and project scope. Outside of properties, what would that look like?
My only concern is the amount of clean up when notes are not appropos for the convas purpose.
1 Like