Quang Nguyen132 downloadsWrite beside any note with a stylus. Inkflow keeps an editable canvas and auto-updates a portable image embed.
Inkflow is a fast handwriting sidecar for Obsidian. Open a Markdown note, tap the pen, and write. Your editable ink is saved automatically and a normal PNG embed stays up to date inside the note.
It is intentionally not a whiteboard or diagramming system. Inkflow does one thing: it makes handwritten marginalia feel immediate on iPad, Boox, and other pen-enabled devices, including e-ink screens.
![[...]] syntax and refreshes visible embeds after each short stroke burst..ink.json sidecar preserves every point. Rename-safe associations live in plugin data, leaving no bookkeeping text in your notes.The canvas follows the active note by default. Turn this off in Settings → Inkflow when you want to keep one canvas pinned while reading other notes.
| Action | Control |
|---|---|
| Pen | Toolbar or P while the canvas is focused |
| Stroke eraser | Toolbar or E |
| Undo / redo | Toolbar or platform-standard Ctrl/Cmd+Z and Ctrl/Cmd+Shift+Z |
| Stroke width | Thin, regular, or bold toolbar buttons |
| Delete handwriting | Trash button beside the save status, or Delete handwriting from current note in the command palette |
| Zoom in / reset | Ctrl/Cmd + wheel |
The eraser removes whole strokes. This is deliberate: it is predictable, fast, and makes undo exact.
Inkflow works directly on Boox and other e-ink tablets.
For the best writing speed on a Boox device, go to Settings → App Management → App Optimization, find Obsidian, and set its refresh mode to Fast or Ultrafast. This makes the screen redraw faster while you write. The trade-off: you'll see a bit more ghosting (faint traces of earlier strokes) until the screen does a full refresh.
Boox reserves its fastest ink path for a handful of apps, such as OneNote and Evernote. On a rooted device, you can add Obsidian to that list yourself by editing your device's ink configuration (eac_config on older firmware, or the onyx_config store on firmware 4.0 and later) and setting the draw view to com.getcapacitor.CapacitorWebView, then rebooting. Steps and file locations: https://gist.github.com/calliecameron/b3c62c601d255630468bd493380e3b7e
This is entirely optional, and only for users comfortable with rooting. Rooting voids your warranty and can brick your device, so only do this if you accept that risk.
Without the rooted optimization above, writing in Obsidian on a Boox device will feel a little slower than the built-in Notes app, since Boox limits its fastest ink path to a small set of built-in apps.
By default Inkflow writes to Attachments/InkFlow:
My-note-abc1234.ink.json # editable source
My-note-abc1234.png # portable snapshot embedded in Markdown
All processing happens on-device. Inkflow does not access the network, collect telemetry, require an account, display ads, or access files outside your vault.
Inkflow assets belong to their note by default. Deleting handwriting keeps the Markdown note, removes its image embed, clears the association, and moves the .png and .ink.json files to your configured Obsidian trash. Deleting the Markdown note performs the same asset cleanup automatically. If an asset is referenced by another note, Inkflow leaves it in place.
After publication, install Inkflow from Settings → Community plugins → Browse.
Download main.js, manifest.json, and styles.css from a release and place them in:
<vault>/.obsidian/plugins/inkflow/
Then reload Obsidian and enable Inkflow.
BRAT can install prerelease Inkflow builds without changing the version published in Obsidian's community directory:
quangnd159/inkflow as the repository.BRAT downloads the beta main.js, manifest.json, and styles.css from GitHub Releases and can update them independently of the community-store channel. Run BRAT: Check for updates to all beta plugins and update whenever a newer test build is announced.
Requires Node.js 20.19 or newer.
npm install
npm run dev
npm run check
To test in Obsidian, copy or symlink the repository into a dedicated development vault at .obsidian/plugins/inkflow, then enable the plugin. Do not develop against a valuable vault.
CHANGELOG.md.npm version patch, minor, or major.1.0.1, without a v).main.js, manifest.json, and styles.css to the release.obsidianmd/obsidian-releases.