vida sana138 downloadsFreehand PDF annotation workspace for Obsidian with vault-backed sidecar saves.
Freedraw PDF is a freehand PDF annotation workspace for Obsidian. Draw directly over PDFs, add mixed-media annotations and template pages, embed annotated pages in notes, and export a finished PDF without modifying the source document.

The annotation workspace is shown on the left; the same annotated content is rendered as a live Markdown embed on the right.
Freedraw PDF uses Obsidian's native PDF toolbar when available and falls back to a floating toolbar when necessary.
| Tool | Purpose |
|---|---|
| Pen | Pressure-aware handwriting and freehand drawing with independent color and width presets. |
| Highlighter | Translucent emphasis with settings separate from the pen. |
| Eraser | Remove complete contacted objects or erase along a path. |
| Text | Add movable, resizable text boxes with independent color, font, size, bold, italic, and alignment controls. |
| Shapes | Add rectangles, ellipses, and straight lines. |
| Image | Place a vault-backed image on the current page. |
| Select | Move, resize, reorder, duplicate, copy, cut, paste, or delete annotations. |
Freedraw PDF can insert a live annotated page or selected region into a Markdown note. The generated block references the PDF, page, optional crop rectangle, and display width:
```freedraw-pdf
path: Documents/example.pdf
page: 1
width: 720
```
The rendered embed follows the current sidecar annotation data. Optional embed controls can open the source page, refresh the rendering, or copy the block.
Add temporary writing pages before, after, or at the end of the current PDF. Available options include:
Template pages remain editable during annotation and become regular flattened pages in an exported PDF.
Use Pages to search, open, rename, duplicate, restyle, clear, or remove pages. Removed PDF pages keep their annotations and removed template pages keep both their page settings and annotations. Restore them from the Removed filter, or permanently delete a removed template page when it is no longer needed.
Download main.js, manifest.json, and styles.css from the latest release.
Create the following directory inside your vault:
.obsidian/plugins/freedraw-pdf
Place the three downloaded files in that directory.
Reload Obsidian.
Open Settings → Community plugins and enable Freedraw PDF.
The settings tab provides controls for:
Text formatting is preserved in live Markdown embeds, page snapshots, and exported PDFs. While editing text, use Ctrl/Cmd+B for bold and Ctrl/Cmd+I for italic.
Annotation data is stored in JSON sidecar files within the vault. Imported annotation images are also copied into the vault. Freedraw PDF does not overwrite the source PDF while editing.
Export creates a separate flattened PDF containing:
Use the exported file for sharing, printing, or archiving while retaining editable sidecar data in the vault.
1.12.0 or later.The plugin integrates with Obsidian's native PDF viewer internals. A future Obsidian PDF viewer update may require a corresponding plugin update.
Freedraw PDF does not require an account, payment, analytics service, or network connection. PDFs, annotations, imported images, embeds, and exports remain in the vault unless you choose to share them.
Report reproducible problems through GitHub Issues. Include the Obsidian version, plugin version, operating system, input device, and reproduction steps.
Requirements:
git clone https://github.com/vividasasana/freedraw-pdf.git
cd freedraw-pdf
npm install
npm run check
npm run build
Useful commands:
| Command | Description |
|---|---|
npm run dev |
Build in watch mode. |
npm run build |
Create a production main.js bundle. |
npm run check |
Run the complete regression verifier suite. |
npm run deploy:test |
Build, verify, and deploy to the configured test vault. |
npm run package |
Build, verify, and package release assets. |
Freedraw PDF is available under the MIT License.
Freehand stroke rendering uses perfect-freehand, also licensed under MIT.