[[Obsidian]] put out their own barebones [[Whiteboarding App]]-like feature called "Canvas" a while back. In March 2024 they rebranded to "[JSON Canvas](https://jsoncanvas.org/)". The canvas feature is a nice addition to Obsidian, but it's also a bit of a bolt-on. In order to maintain [[Modularity]], canvases are integrated heavily with notes - but notes aren't really aware of canvases _at all_. For some use cases, canvases feel misaligned with Obsidian's [[Conceptual Integrity]]. In March 2024 I published a plugin called “[Semantic Canvas](obsidian://show-plugin?id=semantic-canvas)” which makes Obsidian Canvases and Obsidian Note Properties aware of one-another. See my note about the [[Semantic Canvas]] plugin. Canvas files are stored using a custom-build (but [[Open Source]]) file format "`.canvas`". It's simple [[JSON]], with a [[Graph Database]]-like structure. It's a map of `nodes` and `edges`, like most any [[Graph]]s. # Example `.canvas` File ```JSON { "nodes":[ {"id":"8edd2eb18bb22633","x":-725,"y":-460,"width":970,"height":1115,"color":"6","type":"group","label":"Embedding Scopes"}, {"id":"6f4485d073444120","type":"text","text":"# Test.","x":-125,"y":100,"width":250,"height":60}, {"id":"6ecb3caca2f6574f","x":-300,"y":-440,"width":400,"height":400,"type":"file","file":"Graphical Project Tracking.md"}, {"id":"630672e28940268f","x":-160,"y":365,"width":385,"height":270,"type":"file","file":"Graphical Project Tracking.md","subpath":"#^fa9d7d"}, {"id":"49cf666e52e28e24","type":"file","file":"Graphical Project Tracking.md","subpath":"#Tooling","x":-705,"y":230,"width":405,"height":200}, {"id":"68099e202ff80fcf","type":"text","text":"# Buffalo","x":345,"y":-240,"width":250,"height":60}, {"id":"774bb198ad025035","type":"file","file":"canvases/Exercise Canvas.canvas","x":395,"y":165,"width":400,"height":400}, {"id":"1a7ec32d55357ee4","type":"text","text":"# Canvas Recursion","x":395,"y":-65,"width":400,"height":70}, {"id":"282f505b11ff8cdc","type":"text","text":"### Search Target","x":470,"y":-440,"width":250,"height":60}, {"id":"e33af1bf78938351","x":795,"y":-295,"width":484,"height":171,"type":"text","text":"# A More Substantial Card\nContains some stuff under the header. Including:\n- [x] A completed task!"} ], "edges":[ {"id":"9b8c442ebca200ed","fromNode":"1a7ec32d55357ee4","fromSide":"bottom","toNode":"774bb198ad025035","toSide":"top","label":"Works!"}, {"id":"0d86052150747f56","fromNode":"282f505b11ff8cdc","fromSide":"bottom","toNode":"68099e202ff80fcf","toSide":"top","label":"Sadly doesn't work"}, {"id":"9f19d3cd2e18fa5f","fromNode":"6f4485d073444120","fromSide":"top","toNode":"6ecb3caca2f6574f","toSide":"bottom","color":"3","label":"Embed to note"}, {"id":"0b38f06899b34ca9","fromNode":"6f4485d073444120","fromSide":"left","toNode":"49cf666e52e28e24","toSide":"top","color":"4","label":"Embed to Heading"}, {"id":"e0018e1d95a85f0a","fromNode":"6f4485d073444120","fromSide":"bottom","toNode":"630672e28940268f","toSide":"top","color":"5","label":"Embed to Block"} ] } ``` # Canvas Pros & Cons ## Pros 💪 - Like seemingly everything in Obsidian - canvas is **fast**. - You can embed items into your canvas that look and work just like notes - You can pull content from your vault easily - You can also "promote" parts of a canvas to full-blown standalone notes - Support for link labels, groups, and coloring - The file format makes a ton of sense and seems like I could expand on it - Everything you can do on Canvas actually works really well from the iPad - File sizes are fairly small ## Cons 🫤 - Canvases are very much second-class citizens - and feel like it. - No support for backlinks - Search doesn't cover anything in Canvases - There's no [[Frontmatter]] or properties support - There's no support for freehand drawings or anything - "Groups" in the `.canvas` format don't actually have any sort of _explicit_ membership, it looks like it's merely graphical overlap **** ## Source - Playing with it ## Related - [[Obsidian]] - [[Diagram Types (index)]]