Hussain Elemam57 downloadsTurn handwritten pages in any language into structured Markdown notes using the Gemini API.
An Obsidian plugin that digitizes physical notebook pages in any language into structured Markdown notes using Google's Gemini API.
$E=mc^2$), tables, and nested bullet points.mermaid ... ).scans/ subfolder under the note's directory by default, keeping your notes clean.> [!info]- Original scan (Page X)) at the top of the group or per page, allowing effortless side-by-side verification.capture="environment").This plugin requires Obsidian 1.11.4 or later.
main.js, manifest.json, and styles.css from the latest GitHub release.<Vault>/.obsidian/plugins/
notebook-digitizer:<Vault>/.obsidian/plugins/notebook-digitizer/
main.jsmanifest.jsonstyles.cssGemini 3.8 Flash is the default, or choose Custom model and enter an exact model ID.scans. Uploaded page images are stored in a dedicated subfolder under the note's directory to keep your notes clean.Original scan (or customize it to your preferred title or language).Ctrl+P / Cmd+P and choose:
Digitize handwritten notes---) instead of one continuous note.Append handwritten notes to active file
(or open the modal and select "Append to Active Note")This plugin requires network access to Google's Gemini API. When you start a transcription, the plugin sends the following directly from Obsidian to generativelanguage.googleapis.com:
x-goog-api-key request header.The plugin does not include analytics or telemetry and does not operate a separate server. Google processes API requests according to the Gemini API terms and Google Privacy Policy. Do not upload pages containing information you are not permitted to send to Google.
The API key is stored using Obsidian's SecretStorage API. Original page images are saved in the vault only when scan callouts are enabled.
# Install dependencies
npm install
# Build production bundle
npm run build
# Watch mode for active development
npm run dev
MIT