Open-source project
Developer-Mike/obsidian-advanced-canvas avatar
Developer-Mike/obsidian-advanced-canvas

Advanced Canvas: an Obsidian canvas plugin that keeps its metadata

⚡ Supercharge your canvas experience! Graph view integration and unlimited styling options empower flowcharts, dynamic presentations, and interconnected knowledge.

1,566 stars96 forksTypeScriptGPL-3.0

At a glance

What is it?
Advanced Canvas is a GPL-3.0 Obsidian plugin that turns the built-in canvas into something closer to a diagram tool, adding an extended JSON Canvas format, graph view and backlink integration, node and edge styling, presentation mode, portals and PDF annotation. The trade-off is a canvas file that other tools will not fully understand.
Who is it for?
Adopt Advanced Canvas if you build flowcharts, slide decks or interconnected notes in Obsidian and want the canvas to be part of your graph rather than a separate space. Do not adopt it if your canvases must stay readable by other JSON Canvas tools, since the extended format and the added node properties are yours alone, and do not adopt it if you want the built-in canvas, because every feature can be switched off but the file format changes stay.
Can I use it commercially?
Yes, with conditions. GPL-3.0 is a copyleft licence: if you distribute software that includes it, you must release that software's source code under the same licence. Running it internally without distributing it does not trigger that obligation.
Is it still maintained?
Yes. The repository last received commits 26 days ago.
What is it written in?
Mainly TypeScript, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on October 20, 2026, and from our analysis. They are not legal advice.

Editorial analysis

The plugin is a superset of the built-in canvas

Advanced Canvas is described as enhancing the Obsidian canvas with a wide array of features, and the feature list is long enough that the better way to read it is in groups.

The core group changes what a canvas file is. Standardized Format makes the file compatible with the JSON Canvas format while introducing the Advanced JSON Canvas format for enhanced features. Full Metadata Cache Support integrates canvases with Obsidian's graph view, outgoing links and backlinks, which is the piece that makes a canvas part of your vault rather than a drawing on top of it. Frontmatter Support adds custom properties to canvas files, and Auto File Node Edges creates edges between file nodes based on those properties.

The second group is workflow. Single Node Links and Embeds let you link or embed one node from a canvas into a markdown file, Canvas Commands give a suite of commands for manipulating a canvas, and Native-Like File Search searches for text across the whole canvas with an interface that mimics the native file search. Encapsulate Selection moves selected nodes into a new canvas and links back, and groups can be created independently of the nodes they contain.

The third group is the one that goes furthest from what Obsidian ships: Portals embed other canvases inside the current one, Presentation Mode turns a canvas into slides you navigate, PDF Annotation lets you annotate a PDF file directly in the canvas, and Focus Mode blurs everything but the node you are looking at.

Node styling, edge routing and zoom-dependent rendering

Node Customization is where the plugin stops looking like an Obsidian feature and starts looking like a diagram tool. Node Styles brings flowchart shapes, border styles and text alignment. Node Templates let you save a styled node and reuse it. Auto Node Resizing makes nodes adapt to their content. Z-Ordering Control manages the stacking order of nodes, and Custom Colors adds your own entries to the colour picker.

Two of these are unusual. Variable Breakpoints controls content rendering based on zoom level, so a node can show more detail when you zoom in and less when you zoom out. Alternative Text Rendering fixes inconsistencies between how a node renders in edit mode and in reading mode, which is the kind of bug that only appears in one of the two and drives people to give up on a plugin.

Edges get the same treatment. Edge Styles covers path styles such as dotted and dashed lines, arrow styles, and pathfinding methods, so you choose how a connection is routed rather than accepting whatever the default router does. Floating Edges automatically adjust which side of a node an edge attaches to, and Flip Edge reverses the direction of an edge in one action.

The interaction additions tie it together: Edge Highlight highlights the edges of the selected node, Edge Selection selects the edges connected to the selected nodes, and Collapsible Groups make a group expandable and collapsible. On top of that, Custom Styles adds CSS-based styling to nodes and edges, and Canvas Events exposes canvas events for use in other plugins, which is the hook a developer would build on.

Install from the community list or by hand

The primary route is the standard one. Open the Community Plugins tab in Obsidian settings and search for Advanced Canvas, which is the same plugin entry the README links to.

There are two alternatives for people who cannot use the community list or who want a specific build. The first is BRAT, the plugin that installs from a GitHub repository. The second is a manual installation, which the README describes in three steps: create a folder named advanced-canvas inside your vault's plugins folder, download main.js, styles.css and manifest.json from the latest release, and put them in that folder. The vault path is written as <vault>/.obsidian/plugins/, and the plugin is then enabled under Settings, Community plugins, Installed plugins.

The three files are worth naming explicitly, because they are the whole plugin:

bash
main.js
styles.css
manifest.json

That arrangement also tells you how the plugin is built. The package.json scripts show esbuild doing the bundling and eslint doing the linting, with a postinstall step that runs patch-package, and the runtime dependencies include html-to-image for the image export and sass for the styles:

json
"dev": "node esbuild.config.mjs",
"build": "node esbuild.config.mjs production",
"lint": "eslint src/ --ext .ts,.tsx"

The package.json lists obsidian at version 1.13.1 or newer as a development dependency, along with the Obsidian public typings package, so the plugin is developed against a recent Obsidian API.

The terminology the README insists on

A short glossary in the README is more than pedantry, because the plugin's feature names are built on it. The canvas view is the view in which nodes and edges are displayed. A node is a single element that can contain text, files or links, and the README notes that some people call it a card or an element but asks that you always use node. There are four kinds: a text node with text, a file node holding a link to another file, a group node containing other nodes, and a link node displaying a website. An edge is a connection between two nodes in a canvas.

This matters for a practical reason. The node kinds are the vocabulary the feature list is written in, so a feature that mentions a group node or a file node is telling you which of the four it applies to. Auto File Node Edges, for instance, is about file nodes specifically, and it works by reading their frontmatter properties, so it does nothing for a canvas of text nodes.

A second point about the format follows from the same section. Because a canvas file is JSON and the plugin extends it, the file remains readable by other tools, but a file written by Advanced Canvas carries properties that the plain JSON Canvas specification does not define. That is a real consideration for anyone whose canvases are shared or processed by other software.

Where the plugin is the wrong tool

The first wrong-tool case is a vault that must stay interoperable. The plugin is deliberately compatible with JSON Canvas, but it also introduces an Advanced JSON Canvas format for enhanced features, and the frontmatter and node properties the plugin adds are not part of the standard. A canvas authored here and opened in another canvas tool may lose styling, break on the extra properties, or at best open as an unstyled diagram. For a personal vault that is a fair trade; for a shared one where other people use other tools, it is not.

The second is a need for a proper diagram editor. Flowchart shapes, pathfinding methods, path styles and arrow styles are a substantial set of options, but the target here is a note-taking canvas, with nodes that hold vault content. If the deliverable is a diagram to publish, this is the wrong shape of tool, and the effort of redrawing it elsewhere is the cost.

The third is a plugin-light environment. The repository carries its own conventions, an AGENTS.md, a CONTRIBUTING.md, an eslint config with an obsidianmd plugin rule set, a Nix flake for the development environment and a patch-package step. A vault that avoids third-party plugins, or an organisation that has a policy about them, will not want this.

GPL-3.0, version 7.1.0, and a busy release cadence

The plugin is licensed GPL-3.0, with the LICENSE file at the repository root, and the README asks for support either by starring the repository or by donating through Ko-fi, where the author states that there are many hours of work behind the plugin.

The release history shows an active project with a major version that is climbing. Version 7.1.0 was released on 2026-09-27, 7.0.1 on 2026-09-20 and 7.0.0 on 2026-08-26, so there was a major version break in late August 2026 and a patch release a month later. The last push was on 2026-09-27, the same day as 7.1.0.

That cadence has a practical consequence. A plugin at version 7 with releases every few weeks is changing its canvas format and its settings keys faster than most documentation can follow, and Obsidian users are used to plugins that ship often and break occasionally. The saving grace is that every feature can be enabled or disabled in the settings, so a user who is affected by a change can turn the responsible feature off rather than waiting for a fix.

For contributors, the repository has the expected scaffolding, with an esbuild configuration, an eslint configuration, a TypeScript configuration, a Nix flake for a reproducible development environment and a package-lock file pinning the dependency tree.

Editorial conclusion

Adopt Advanced Canvas if you build flowcharts, slide decks or interconnected notes in Obsidian and want the canvas to be part of your graph rather than a separate space. Do not adopt it if your canvases must stay readable by other JSON Canvas tools, since the extended format and the added node properties are yours alone, and do not adopt it if you want the built-in canvas, because every feature can be switched off but the file format changes stay. Before you commit, open a canvas with the plugin enabled and check the file in a plain text editor, and read the README note that every feature can be disabled in the settings so you can turn the extras back off one at a time.

Frequently asked questions

How do I install Advanced Canvas for Obsidian?

Open the Community Plugins tab in the settings and search for Advanced Canvas. The README also lists BRAT as an alternative and a manual route, which is to create a folder named advanced-canvas in the vault's .obsidian/plugins folder and copy main.js, styles.css and manifest.json from the latest release into it.

What does Advanced Canvas add to the graph view and backlinks?

The Full Metadata Cache Support feature integrates canvases with the graph view, outgoing links and backlinks, so canvas content participates in the vault's link structure. Frontmatter Support adds custom properties to canvas files, and Auto File Node Edges creates edges between file nodes based on those properties.

Can I use Advanced Canvas with other JSON Canvas tools?

The plugin is compatible with the JSON Canvas format and adds an Advanced JSON Canvas format for enhanced features, so files stay readable by other tools but carry extra properties that only this plugin uses.

What are portals and presentation mode in Advanced Canvas?

Portals embed other canvases within the current canvas. Presentation Mode creates and navigates slide-like presentations from a canvas. Both sit in the interaction and workflow group of features, along with PDF annotation, focus mode, edge highlight and the canvas commands.

Can I turn individual Advanced Canvas features off?

Yes. The README states that all features can be enabled or disabled in the settings, which means you can isolate the one causing a problem and leave the rest of the plugin in place.

Official sources

  1. Developer-Mike/obsidian-advanced-canvas on GitHub
  2. Issues
  3. License: GPL-3.0
  4. README
  5. Releases
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/developer-mike-obsidian-advanced-canvas.svg)](https://hysenlabs.com/projects/developer-mike-obsidian-advanced-canvas)

Was this useful?