0xkurian176 downloadsCreate multi-page digital notebooks and whiteboards with stylus inking, paper templates, sticky notes, LaTeX math, and continuous scrolling.
The modern, high-performance digital notebook and handwritten whiteboard for Obsidian.
Quick Start • Core Features • Shortcuts & Gestures • PDF Annotation • Configuration • Feedback & Community
NotePages bridges the gap between structured Markdown note-taking and the fluid freedom of physical pen-and-paper. Designed from the ground up for students, researchers, visual thinkers, and professionals, it brings a rich, dedicated multi-page digital notebook workflow natively into your Obsidian Vault with 100% offline local privacy.
[!NOTE] All drawings, sticky notes, formulas, and pages are stored as clean JSON files inside your vault with the
.gnoteextension. Your data remains completely yours—no external cloud dependencies, no tracking, and no proprietary lock-in.
NotePages: New notebook) in your Obsidian left Ribbon.Ctrl/Cmd + P and search for NotePages: Create new notebook.$...$ or $$...$$.NotePages: Export notebook.perfect-freehand with 60–120 FPS render loops using requestAnimationFrame. Zero perceptible stroke latency.multiply blend mode so bright highlights layer softly without washing out text or underlying handwriting.$\int_{0}^{\infty} e^{-x^2} dx = \frac{\sqrt{\pi}}{2}$ or display blocks $$E = mc^2$$ with automatic MathJax/KaTeX rendering.[[My Other Note]] inside any text box or sticky note. Click to navigate, or hover with Ctrl/Cmd for native Obsidian popover previews.Ctrl+Z / Ctrl+Y) protection—never lose work from an accidental deletion.Turn any existing PDF into an annotated digital notebook:
NotePages: Import PDF as new notebook.| Shortcut | Action |
|---|---|
P |
Switch to Pen tool |
H |
Switch to Highlighter tool |
E |
Switch to Eraser tool |
S |
Open Shape Palette |
C |
Switch to Connector Line/Arrow tool |
L |
Switch to Lasso Selection tool |
T |
Insert Rich Text Box |
N |
Insert Sticky Note |
[ / ] |
Decrease / Increase stroke width |
| Stylus Hold (~350ms) | Snap freehand stroke into perfect geometric shape |
| Gesture / Shortcut | Action |
|---|---|
Space + Drag |
Pan across canvas workspace |
| Middle Mouse Drag | Pan canvas |
| 1-Finger Drag (Touch) | Pan canvas (when Draw with finger is disabled) |
Ctrl / Cmd + Scroll Wheel |
Smooth zoom centered on mouse cursor |
| 2-Finger Trackpad Pinch | Continuous zoom centered on mouse focal point |
| Shortcut | Action |
|---|---|
Ctrl/Cmd + Z |
Undo last stroke, shape, transform, or page deletion |
Ctrl/Cmd + Y (or Shift+Ctrl+Z) |
Redo last undone action |
Ctrl/Cmd + C |
Copy selected strokes, shapes, sticky notes, and text |
Ctrl/Cmd + V |
Paste copied elements onto active page |
Ctrl/Cmd + D |
Duplicate selection immediately |
Delete / Backspace |
Delete active selection |
| Shortcut | Action |
|---|---|
A |
Add new page directly below the current page |
| Right-click Canvas | Open Canvas Context Menu (Add page, insert text/sticky, rename) |
| Double-click Title | Quick rename notebook modal |
Access settings via Obsidian Settings → Community Plugins → NotePages:
| Setting | Options | Description |
|---|---|---|
| Default page size | A4, Letter |
Paper dimensions applied to newly created notebooks. |
| Default page orientation | Portrait, Landscape |
Vertical or horizontal page layout. |
| Default paper template | Ruled, Grid, Dotted, Cornell, Blank |
Pattern rendered onto page backgrounds. |
| Default paper background | Color Picker (e.g. #ffffff, #fefae0) |
Base stationery color for new pages. |
| Default line color | Color Picker (e.g. #94a3b8) |
Contrast color for rules, grids, and dots. |
| Default line spacing (pt) | Slider / Number (12 to 64 pt) | Grid size or line distance between rules. |
| Draw with finger | Toggle (On / Off) |
Allow drawing with fingertips on touchscreens (disable for palm rejection). |
| Autosave interval (ms) | Number (min 300ms) | Background debounce delay before writing changes to disk. |
| Custom feedback form URL | Text URL | Custom URL for feedback. Defaults to the official survey. |
Export your work anytime without quality loss via Toolbar → Export icon or Ctrl/Cmd + P → NotePages: Export notebook:
┌────────────────────────────────────────────────────────┐
│ NotePages Exporter │
├────────────────────────────────────────────────────────┤
│ Format: [ PDF Document ] [ PNG Images ] [ SVG ] │
│ Resolution: [ 1x (72 DPI) ] [ 2x (144) ] [ 4x(300)]│
│ Range: (•) All Pages ( ) Current ( ) Custom│
│ Destination: (•) Save to Vault ( ) Download to Disk │
└────────────────────────────────────────────────────────┘
Your feedback shapes the future of NotePages! We would love to hear your thoughts, feature requests, or bug reports:
.gnote extension directly in your Obsidian Vault. You can backup, sync (via Obsidian Sync, Git, or iCloud), and copy them just like standard markdown notes.
NotePages: Toggle between notebook and Markdown view from the Command Palette to view or edit the underlying notebook schema.
# Clone the repository
git clone https://github.com/0xKurian/Obsinotes.git
cd Obsinotes
# Install dependencies
npm install
# Run TypeScript type check
npm run typecheck
# Run linter
npm run lint
# Run automated test suite (178 unit & integration tests)
npm test
# Build production bundle
npm run build
This project is licensed under the MIT License.
Created and maintained with ❤️ by Vinh-Hung.