ObDrawIO
approvedby hzc
This plugin has not been manually reviewed by Obsidian staff. Edit and manage draw.io diagrams (.drawio / .dio) directly inside Obsidian.
ObDrawIO
Edit and manage draw.io diagrams (.drawio / .dio files) directly inside Obsidian with a fully functional embedded editor.
Features
β¨ 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
Installation
From Obsidian Community Plugins (Coming Soon)
- Open Settings β Community plugins
- Search for "ObDrawIO"
- Click Install and enable
Manual Installation
- Download
main.js,manifest.json, andstyles.cssfrom the latest release - Create folder:
<YourVault>/.obsidian/plugins/obdrawio/ - Place the three files in that folder
- Reload Obsidian and enable the plugin in Settings β Community plugins
Usage
Creating a New Diagram
Option 1: Ribbon Icon
- Click the workflow icon in the left ribbon
Option 2: Command Palette
- Press
Cmd/Ctrl + Pand search for "New diagram"
Option 3: File Menu
- Right-click on any folder in the file explorer and select "New diagram"
Editing Diagrams
- Simply click any
.drawioor.diofile in your vault to open it in the editor - The editor loads with your current diagram
- Edit freely β changes auto-save by default (configurable in settings)
- Close the tab when done
Inserting Diagram Links
- While editing a markdown note, press
Cmd/Ctrl + P - Search for "Insert diagram link into note"
- Select a diagram from the searchable picker
- The link
[[diagram-name.drawio]]is inserted
Opening in New Tab
- Right-click a
.drawiofile and select "Open in diagram editor" - Or use Command Palette β "Open diagram in new tab"
Settings
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) |
File Format
.drawio files are standard XML-based diagram files compatible with:
- diagrams.net web editor
- draw.io desktop
- Any draw.io compatible tool
Supported Extensions
.drawio(standard).dio(alternate)
Tips & Tricks
Offline Use (Self-Hosted)
- Set up a self-hosted draw.io instance
- Update the "Draw.io server URL" setting to point to your instance
- All editor features remain available without internet
Language Support
The plugin respects your browser's language settings. To override, set the Language setting to:
zhfor δΈζdefor Deutschfrfor FranΓ§aisesfor EspaΓ±ol- See all supported codes
Linking Diagrams in Notes
After 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.
Keyboard Shortcuts
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 |
Troubleshooting
Plugin doesn't load after installation
- Ensure
main.js,manifest.json, andstyles.cssare in<Vault>/.obsidian/plugins/obdrawio/ - Reload Obsidian:
Cmd/Ctrl + Shift + Ion desktop or close/reopen on mobile - Check Settings β Community plugins that ObDrawIO is enabled
Editor doesn't respond
- Ensure you have internet access (required for default
embed.diagrams.net) - For offline use, configure a self-hosted draw.io URL in settings
- Try reloading the tab or restarting Obsidian
Changes not saving
- Verify Auto-save is enabled in settings
- Manually save with Command Palette β "Open diagram in new tab" and back
- Check that the file permissions allow write access
Theme not switching
- Ensure Follow Obsidian theme is enabled in settings
- Restart the editor tab to force theme refresh
Development
Building from Source
# Install dependencies
npm install
# Development build (watch mode)
npm run dev
# Production build
npm run build
# Lint
npm run lint
Project Structure
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
License
MIT License β See LICENSE file for details
Credits
- Built with Obsidian Plugin API
- Uses draw.io by JGraph
- Icons from Obsidian's built-in icon set
Feedback & Issues
Found a bug or have a feature request? Please open an issue on GitHub.
Support
If you find this plugin useful, consider:
- β Starring the GitHub repository
- π¬ Sharing feedback and suggestions
- π Reporting bugs with details
- π Contributing improvements via pull requests
For plugin developers
Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.