hzc322 downloadsEdit and manage draw.io diagrams (.drawio / .dio) directly inside Obsidian.
Edit and manage draw.io diagrams (.drawio / .dio files) directly inside Obsidian with a fully functional embedded editor.
✨ Full draw.io Editor — All draw.io features available directly in Obsidian (flowcharts, UML, wireframes, ERD, etc.)
🎨 Theme Sync — Automatically matches Obsidian's light/dark theme
💾 Auto-save — Changes are automatically saved to your vault as you edit
🔗 Easy Linking — Insert diagram links into your notes with a built-in picker
⚙️ Customizable — Configure draw.io server URL, theme, language, and more
📱 Cross-platform — Works on desktop (tested) and mobile browsers
main.js, manifest.json, and styles.css from the latest release<YourVault>/.obsidian/plugins/obdrawio/Option 1: Ribbon Icon
Option 2: Command Palette
Cmd/Ctrl + P and search for "New diagram"Option 3: File Menu
.drawio or .dio file in your vault to open it in the editorCmd/Ctrl + P[[diagram-name.drawio]] is inserted.drawio file and select "Open in diagram editor"Access settings via Settings → Community plugins → ObDrawIO
| Setting | Default | Description |
|---|---|---|
| Draw.io server URL | https://embed.diagrams.net |
URL for the editor (use a self-hosted instance for offline use) |
| Follow Obsidian theme | ✓ | Auto-switch editor theme when Obsidian theme changes |
| Auto-save | ✓ | Automatically save changes as you edit |
| Default diagram folder | (vault root) | Folder where new diagrams are created |
| Language | (browser default) | Editor language code (e.g., zh, de, es) |
.drawio files are standard XML-based diagram files compatible with:
.drawio (standard).dio (alternate)The plugin respects your browser's language settings. To override, set the Language setting to:
zh for 中文de for Deutschfr for Françaises for EspañolAfter inserting a link like [[my-diagram.drawio]], clicking the link opens the diagram in edit mode. You can also view backlinks in the diagram's own sidebar.
All draw.io shortcuts work in the editor. Common ones:
| Shortcut | Action |
|---|---|
Cmd/Ctrl + S |
Save (if not auto-saving) |
Cmd/Ctrl + Z |
Undo |
Cmd/Ctrl + Y / Cmd/Ctrl + Shift + Z |
Redo |
Del / Backspace |
Delete selected |
Cmd/Ctrl + A |
Select all |
Cmd/Ctrl + G |
Group |
Cmd/Ctrl + Shift + U |
Ungroup |
main.js, manifest.json, and styles.css are in <Vault>/.obsidian/plugins/obdrawio/Cmd/Ctrl + Shift + I on desktop or close/reopen on mobileembed.diagrams.net)# Install dependencies
npm install
# Development build (watch mode)
npm run dev
# Production build
npm run build
# Lint
npm run lint
src/
├── main.ts # Plugin entry point
├── settings.ts # Settings UI and defaults
├── types.ts # TypeScript types and constants
├── view/
│ └── DiagramView.ts # Main diagram editor view
├── commands/
│ ├── index.ts # Command registrations
│ └── newDiagram.ts # "New diagram" modal
└── utils/ # Utility functions
MIT License — See LICENSE file for details
Found a bug or have a feature request? Please open an issue on GitHub.
If you find this plugin useful, consider: