HU Jihan53 downloadsGoodnotes-style handwritten notebooks that sync as Vault files across Obsidian devices.
Ink Notes is a cross-platform handwritten notebook plugin for Obsidian. It stores notebooks as JSON files inside the Vault under Ink Notes/, so Obsidian Sync and other Vault sync tools can replicate the same pages and strokes to Windows, macOS, Linux, iOS, and iPadOS.
Ink Notes is licensed under Apache-2.0. The bundled stroke model is adapted from Google's ink-stroke-modeler and retains its Apache-2.0 attribution. Other bundled dependencies retain their original licenses; see THIRD-PARTY-NOTICES.md.
Ink Notes requires Obsidian 1.5.7 or later for view-scoped keyboard shortcuts.
Install Ink Notes from the Obsidian Community directory, or open Settings -> Community plugins -> Browse, search for Ink Notes, and select Install. Then enable it in Settings -> Community plugins -> Installed plugins. Installation and enabling are separate steps.
For manual installation, download main.js, manifest.json and styles.css from the latest GitHub release, place them in .obsidian/plugins/ink-notes/ inside your vault, reload Obsidian, then enable Ink Notes in Settings -> Community plugins. Existing installations with the old higher version numbers need a manual reinstall of 0.1.0.
If you installed the withdrawn initial 0.1.2 package, manually replace all three plugin files with the corrected 0.1.2 release and restart Obsidian. The version number is unchanged, so an automatic update check may report that you are already up to date.
Choose Settings -> Ink Notes -> PDF handwriting -> Default PDF viewer. Ink Notes first opens ordinary PDFs in handwriting even when PDF++ is enabled. Focus flags, empty link fragments and native viewport memory added during ordinary file opens do not override this choice. Compatibility mode automatically chooses the native viewer when a supported PDF extension is enabled; it is the default for a fresh installation. Native PDF viewer disables automatic handwriting opens. Existing checked Take over PDF tabs automatically settings migrate to Ink Notes first; unchecked settings migrate to Native PDF viewer. Changing the mode does not convert tabs already open, so close and reopen the PDF or use the explicit handwriting command.
In compatibility mode, Ink Notes deliberately keeps the native PDF viewer when a supported viewer extension such as PDF++, Jot or PDF Writer is enabled. This lets its text selection, links, highlighting and other native-view features continue working. Page/search/selection links and other navigation state keep the native viewer in every mode so their destinations are preserved.
To use both workflows, keep the other plugin enabled and choose Ink Notes first or open an Ink Notes handwriting tab explicitly. Native-view extensions and Ink Notes use separate views; their annotations and tools are not combined into a single viewer. You can return from an Ink Notes tab with Ink Notes: Return current PDF tab to the built-in viewer; that tab retains your native-viewer choice.
If the explicit command is missing, check that Ink Notes is enabled in this vault and reload it. If an unknown plugin still intercepts the explicit opening, temporarily disable that plugin to isolate the conflict, then report an issue with plugin names, versions and the opening steps. Compatibility with every plugin combination is not guaranteed.
ink code-block embeds with optional page targeting.Run npm run preview and open http://127.0.0.1:4173 to exercise the actual editor view with a lightweight browser host. Preview notes are in memory only; Vault storage and sync must be verified in Obsidian. The layout responds to the editor pane width, including split panes and mobile screens.
Embed the first page of a notebook in Markdown:
```ink
Ink Notes/My Notebook.ink
```
Target a specific page by adding its page ID (available from Page options → Copy page embed syntax):
```ink
Ink Notes/My Notebook.ink
page: page-id
```
Apple Pencil squeeze and double-tap are not standard Web signals, so this MVP does not claim support for those gestures. They can be added later through platform-specific bridge APIs if Obsidian exposes them.
Ink Notes does not send notes, diagnostics or usage data to a server, and requires no account or payment. It does not make network requests or read files outside your vault. Notebook files live in Ink Notes/; PDF handwriting sidecars live in A_pdfinkwrittern/. Cross-device sync is provided by your chosen vault sync service, not by Ink Notes. Diagnostics exports are local and may contain handwriting records; review them before sharing.
Ink Notes keeps its handwriting in a separate view and sidecar; it never replaces the source PDF. In compatibility mode, native PDF extensions (including PDF++, Jot, PDF Writer, translators, readers and annotation tools in the audited list) retain their normal viewer automatically. Ink Notes first honors the user's handwriting preference for ordinary opens. PDF navigation/search/selection state is forwarded to the native viewer. Handwriting remains available through Open current PDF with handwriting and the PDF file context menu, and Return current PDF tab to the built-in viewer saves ink before handing the tab back.
Native text-layer extensions operate in the native viewer, while Ink Notes editing operates in its own tab. This does not combine independent annotation formats or guarantee compatibility among third-party plugins themselves. If another tool changes the source PDF revision, reopen it to check the sidecar; export refuses to apply old ink coordinates to different source bytes.
The compatibility audit, 283-plugin inventory, and pinned source evidence distinguish source inspection from real Obsidian validation. The automatic takeover setting remains available for plugins outside the audited list.
npm install
npm run typecheck
npm run build