# Obsidian Excalidraw Plugin: Drawings Inside Your Vault

> The Obsidian Excalidraw plugin stores and edits Excalidraw drawings as vault files, embeds them in notes, and links them to documents. It is a one-person hobby project, and the README says so before anything else.

**zsviczian/obsidian-excalidraw-plugin** — A plugin to edit and view Excalidraw drawings in Obsidian

- Repository: https://github.com/zsviczian/obsidian-excalidraw-plugin
- Stars: 7,671 · Forks: 510
- Language: TypeScript
- License: AGPL-3.0
- Published: 2026-09-22 · Updated: 2026-09-22 · Language: en
- Canonical page: https://hysenlabs.com/projects/zsviczian-obsidian-excalidraw-plugin

## What the Obsidian Excalidraw plugin actually solves

Obsidian stores notes as files in a folder you own. Excalidraw is a sketching tool that produces scenes. The plugin joins the two: you can store and edit Excalidraw files in your vault, embed drawings into your documents, and link to documents and other drawings to and from Excalidraw. That is the whole pitch, and it is narrower than the feature list suggests.

The person this is for is someone who thinks in diagrams while taking notes. If your workflow is text-only, the plugin adds a large dependency for a capability you will not use. The README is unusually blunt about the audience problem: it calls the plugin extremely feature-rich and says it can feel intimidating at first, and it points newcomers at a video walkthrough and a public NotebookLM workbook before anything else. A tool that needs a course to start is a tool with a real onboarding cost.

The README also states plainly that this is not maintained by a company or an engineering team. It is described as a one-person hobby project and an open-source contribution developed alongside a full-time job. Treat that as part of the specification, not as a disclaimer to skip.

## How the plugin works, and where it touches the network

The plugin is a TypeScript Obsidian plugin built with rollup. The package scripts show the shape of the codebase: dev and build run rollup with different NODE_ENV values, lib produces a library build, and doc regenerates the script library. The repository carries a manifest.json and a manifest-beta.json, which is why beta builds appear alongside stable ones in releases.

Data flow is local-first. Drawings are files in the vault. The README states the plugin works fully offline and locally by default. Network access is conditional and mostly opt-in: AI features contact their providers only if you configure API keys and explicitly use them; Taskbone OCR requires a separate API key and an explicit opt-in in plugin settings; Iframely, used to resolve reader-friendly titles when you drag website links into Excalidraw, is disabled by default; the Ko-fi support button downloads an image from cdn.ko-fi.com when enabled. The CJK font package is over 12 MB, so the README says those fonts are downloaded from GitHub only when required, to avoid slowing plugin startup.

The README also addresses code-scanner findings directly. It argues that patterns like innerHTML or outerHTML manipulation carry a different risk model inside a local Obsidian vault than on a public website, and it notes that Obsidian does not give plugin developers proper mechanisms for deploying local assets such as fonts or auxiliary packages, which pushes developers toward workarounds like IPC calls or dynamic code execution. That is an honest explanation and also an admission: the workarounds exist because the platform lacks a supported path.

## Installing the Obsidian Excalidraw plugin and drawing your first scene

The README does not include an install section. It links to the community wiki, the NotebookLM workbook, and the Excalidraw Essentials course. Installation in Obsidian normally goes through the community plugin browser, and the README does not document a manual sideload procedure, so treat the in-app browser as the route and check the plugin page for the current version before installing.

Once enabled, the plugin registers commands for creating and working with drawings. The README does not spell out the exact command IDs, so the reliable path is the command palette: open it and search for the Excalidraw commands the plugin adds.

If you build from source instead of installing a release, the package scripts are the entry point. The dev script runs rollup in development mode, which is the watch build you want while editing.

```bash
npm install
npm run dev
```

The README's disclosure section gives one command worth running on any install, from the Obsidian developer console. It prints every URL referenced in the codebase, whether used as links, images, or API calls.

```js
ExcalidrawAutomate.printURLsInCodebase()
```

Open the console with CTRL+SHIFT+i or CMD+OPT+i, run that line, and read the output. It is the fastest way to see what the plugin can reach before you configure any optional integration.

## Where the plugin is the wrong tool

The strongest limitation is stated by the author, not by a critic. The README says expectations around enterprise-grade engineering standards for a free community contribution can easily become unrealistic and unsustainable without corresponding support structures. If your organisation requires a vendor, a support contract, or a security review with a named engineering team behind it, this plugin does not fit, and no amount of feature depth changes that.

The second limitation is surface area. The README recommends using the minimum number of plugins necessary and says the author personally runs around 10 to 15 and disables plugins when not actively needed. That advice applies to this plugin too. It reads vault files to detect legacy .excalidraw files, to search for custom fonts, and to populate file pickers such as Insert any file. It touches the clipboard so you can copy and paste scenes between Obsidian and excalidraw.com. Each of those is justified, and each is another thing to reason about.

The third is release channel discipline. The recent releases are 2.28.0-beta.1, 2.28.0-beta.2, and 2.28.0-beta.3, published on 2026-09-16, 2026-09-19, and 2026-09-20. The repository ships manifest-beta.json next to manifest.json, so beta and stable coexist. If your vault is your working memory, verify which manifest your install is following rather than assuming you are on stable.

## Obsidian Excalidraw versus Canvas

This is the comparison that matters most, because Canvas is built into Obsidian and needs no plugin. Canvas gives you an infinite board of notes, cards, and embedded content using Obsidian's own file types. The Excalidraw plugin gives you a drawing surface with Excalidraw's toolset, and it stores drawings as Excalidraw files that can be embedded into notes and linked to and from documents.

The difference in approach is the file format and the tool. Canvas is a view over your existing notes; the drawing is a layout, and the shapes are not the point. Excalidraw is a sketch tool, and the plugin's job is to make those sketches first-class vault citizens alongside Markdown. If your diagram is mostly boxes that contain note content, Canvas is the lower-dependency answer. If you want freehand drawing, Excalidraw's shape and text tools, and the ability to embed the same scene in several notes, the plugin is the one that does that.

The README does not compare the two, so there is no official guidance on migration or coexistence. That silence is itself information: you are choosing between two mental models, and switching later means redrawing, not converting.

## Licence, maintenance and the cost of upgrading

The licence is AGPL-3.0. That is a copyleft licence with network-use terms, and it is a stronger obligation than the MIT licence many Obsidian plugins use. If you plan to reuse plugin code in another project, or to run a modified version as a network service, read the licence text rather than the summary, and get legal advice if the answer affects a product. Nothing here is legal advice.

The maintenance picture is current. The repository is not archived, and the last push was on 2026-09-20. The release history shows three beta builds in the five days before that. So the project is being worked on now; what it is not is a team effort, per the README's own description.

Upgrade cost is the part people underestimate. The README warns that the plugin is extremely feature-rich and can feel intimidating, and that the author keeps only 10 to 15 plugins enabled. Every upgrade can move settings, script behaviour, and the script library. The package scripts include doc, which runs the lib build and then node scripts/generate-script-library.mjs, and skill, which runs the lib build and node scripts/skill-builder.mjs. Those exist because the script surface is generated, not hand-maintained, which means upgrading can change what scripts see. Pin your plugin version, and read release notes before jumping between beta and stable.

## Conclusion

Adopt it if you already keep notes in Obsidian and want drawings to live in the same vault as plain files you can embed and link, and you accept that this is a one-person project whose README asks for realistic expectations. Do not adopt it if you need enterprise support, a vendor with an engineering team, or a plugin whose network behaviour you can audit without reading the author's own disclosure. Before committing, run ExcalidrawAutomate.printURLsInCodebase() in the Obsidian developer console and read the printed list, and check that the beta-only 2.28.0 line is not what your installer is pulling.

## FAQ

### Can I use Excalidraw with Obsidian?

Yes. The Obsidian Excalidraw plugin integrates Excalidraw into Obsidian, letting you store and edit Excalidraw files in your vault, embed drawings into documents, and link to documents and other drawings to and from Excalidraw.

### Is there a drawing plugin for Obsidian?

The Obsidian Excalidraw plugin is one: it brings Excalidraw, described in its README as a feature rich sketching tool, into Obsidian so drawings live in the vault as files.

### What are the differences between Canvas and Excalidraw in Obsidian?

The README does not compare them. Canvas is a built-in Obsidian view over your notes, while this plugin stores Excalidraw drawings as files in the vault that you can embed and link, so the difference is the file format and the drawing toolset rather than a feature-by-feature gap documented by the project.

### How do I install the Obsidian Excalidraw plugin?

The README does not document installation steps; it points to the community wiki, the NotebookLM workbook, and the Excalidraw Essentials course. Obsidian plugins are normally installed through the in-app community plugin browser, so check the plugin listing for the current version.

## Sources

- [Issues](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues)
- [License: AGPL-3.0](https://github.com/zsviczian/obsidian-excalidraw-plugin/blob/master/LICENSE)
- [README](https://github.com/zsviczian/obsidian-excalidraw-plugin/blob/master/README.md)
- [Releases](https://github.com/zsviczian/obsidian-excalidraw-plugin/releases)
- [zsviczian/obsidian-excalidraw-plugin on GitHub](https://github.com/zsviczian/obsidian-excalidraw-plugin)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/zsviczian-obsidian-excalidraw-plugin
