by Blulyk
A low-latency, infinite Apple Pencil canvas stored as sync-friendly files.
Inkpad
Inkpad is a Pencil-first infinite drawing canvas for Obsidian. It stores each drawing as a portable .ink file in your vault, so your existing sync solution—including Remotely Save—remains in control.
Status: Inkpad 1.0.4 is the current public release. It is built for iPadOS with Apple Pencil and also supports Windows, macOS and Linux.
What it does
- Draw on an infinite canvas with pen, pencil, marker, highlighter, shapes and a destructive partial eraser.
- Pan with one finger and zoom with a two-finger pinch on iPad; use middle-mouse drag and wheel/trackpad zoom on desktop.
- Select, move, recolour, duplicate, link, export or delete groups of strokes with the lasso.
- Place vault Markdown notes, PDFs, images, audio and text cards on the canvas, then annotate over them.
- Render every PDF page locally, without modifying the source PDF.
- Save named viewport bookmarks, fit all content to the screen and export ink as SVG or PNG.
- Keep drawings as ordinary JSON files that are easy to back up, version and sync.
Why Inkpad
Inkpad keeps the input path deliberately small: Pointer Events, coalesced samples when available, Canvas 2D and no framework layer between the pen and the pixels. Completed ink is cached for responsive navigation in long study notes, while the active stroke remains vector-drawn immediately above that cache.
The plugin does not use a cloud service, telemetry, analytics or a database. It only reads and writes the .ink file you open or create and references assets already inside the vault.
In action
Handwriting, extended PDFs, images, and Markdown notes can live together on the same infinite canvas.
Installation
Community plugins
Once accepted into the Obsidian Community directory, install Inkpad from Settings → Community plugins.
Manual / beta installation
- Download
main.js,manifest.jsonandstyles.cssfrom the latest GitHub release. - Create
<vault>/.obsidian/plugins/inkpad/. - Put those three files in that folder.
- Reload Obsidian and enable Inkpad under Community plugins.
For beta testing, add this repository to BRAT.
Quick start
- Run Inkpad: Crear dibujo infinito from the command palette, or select the pen icon in the ribbon.
- Write with Apple Pencil or a mouse. On iPad, use one finger to pan and pinch with two fingers to zoom.
- Use + to place a vault file or T to add a text card.
- Tap the save button before manually triggering sync if you want an immediate write.
Interaction reference
| Action | iPadOS | Desktop |
|---|---|---|
| Draw | Apple Pencil | Primary mouse button |
| Pan | One finger | Middle-mouse drag |
| Zoom | Two-finger pinch | Wheel or trackpad pinch |
| Open tools | Toolbar or floating palette | Toolbar, floating palette or shortcuts |
| Fit content | Frame icon | Frame icon or F |
| Reset zoom | Tap zoom percentage | Tap zoom percentage or 0 |
Desktop shortcuts: P pen, B pencil, M marker, H highlighter, E eraser, L lasso, F fit content, 0 reset zoom, Ctrl/Cmd+Z undo and Ctrl/Cmd+Shift+Z redo.
Sync and data safety
Each drawing is a single *.ink JSON file. Inkpad debounces writes and serializes them through Obsidian's vault API, which keeps it compatible with file-based synchronizers such as Remotely Save.
Avoid editing the same drawing on two devices before they have synchronized. If Inkpad sees an external change while local input is pending, it refuses to overwrite it and asks you to reload. Invalid or incomplete incoming files are never replaced with an empty drawing.
PDFs and vault content
PDF pages are rasterized locally using PDF.js and shown inside a movable card. Images preserve their aspect ratio. Delete, lock, resize and reorder controls affect only the canvas card; the original vault file is never changed.
For smooth handwriting, embedded content is view-only while it sits on the canvas. Open the original note or PDF normally when you need to edit or scroll it.
Apple Pencil note
Inkpad handles standard web pen input and side-button signals when iPadOS exposes them to the Obsidian WebView. Apple Pencil double-tap and Apple Pencil Pro squeeze are UIKit-only gestures, so a community plugin running in Obsidian cannot receive or replicate the native Apple Notes Pencil menu.
Development
npm install
npm test
npm run test:performance
npm run build
Copy main.js, manifest.json and styles.css into <vault>/.obsidian/plugins/inkpad/, reload Obsidian and enable the plugin. npm run build produces one self-contained main.js, including the PDF renderer, because Community Plugin releases install only the standard plugin assets.
Release process
The GitHub Actions workflow runs tests and builds the plugin whenever a semantic-version tag such as 1.0.0 is pushed. It publishes main.js, manifest.json and styles.css as release assets—the exact files Obsidian installs.
Privacy
Inkpad makes no network requests and collects no telemetry. PDF parsing, drawing and export all happen locally.
License
PDF rendering uses Mozilla PDF.js under Apache-2.0; see third-party notices.
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.