suntinglu777208 downloadsEdit SVG files in Obsidian with source, layers, canvas, and inspector panes.
Edit SVG files directly inside Obsidian.
SVG Canvas Editor adds a visual SVG workspace to your vault, with source editing, live preview, layers, canvas selection, an inspector, undo/redo, and simple element operations.
.svg files from the Obsidian file menu..svg.bak backup before the first save.Right-click an .svg file in Obsidian and choose Open in SVG Canvas Editor.
The editor has four main areas:
Use the source toggle in the toolbar to hide or show the Source pane. When the Source pane is hidden, the canvas receives more horizontal space. Large SVGs can be inspected with horizontal and vertical scrollbars.
This plugin only reads and writes SVG files selected by the user inside the Obsidian vault.
When saving an SVG file, the plugin may create one backup file next to the SVG:
example.svg.bak
The backup is created only if it does not already exist. The plugin does not read or write files outside the vault.
The plugin stores local editor preferences, such as the UI language and whether the Source pane is collapsed, in the plugin's Obsidian data file.
SVG Canvas Editor does not make network requests and does not collect, transmit, or store user data outside the vault.
All editing happens locally inside Obsidian. SVG content stays in the user's vault unless the user syncs or publishes the vault through their own tools.
The Copy ID command writes the selected element ID to the system clipboard only when the user explicitly chooses that command.
npm install
npm run lint
npm run build
npm run release:prepare
npm run release:check
Build output for release:
main.jsmanifest.jsonstyles.cssnpm run release:prepare copies those files into release/<version> based on manifest.json.
For local testing, copy those files into an Obsidian vault plugin folder.
Create a GitHub release whose tag matches manifest.json version and attach:
main.jsmanifest.jsonstyles.cssBefore submitting to the Obsidian community plugin directory, run:
npm run release:check
This command runs linting, builds main.js, prepares release/<version>, and verifies that the release assets match the root build output.
MIT