Highlights become notes
Swipe a highlight in any PDF and SoloPDF writes document.annotations.md next to it — a plain Markdown file:
# Annotations of paper.pdf
## p.23 — Highlight
> the highlighted source text
your note — edit it in any editor
[Jump to source](solopdf://open?file=…&page=23&annot=a1b2c3)
Open it with SoloMD: editable, full-text searchable, git-versionable. "Jump to source" takes you back to the exact spot in the PDF. After the PDF changes, highlights relocate by text fingerprint — and even when they can’t, they only grey out. Your notes are never lost.
Everything you need, nothing you don’t
⚡ Huge files open instantly
A 157MB / 1,048-page scan cold-starts in ~1s. Streaming loads + virtual scrolling, constant memory.
📝 Fillable forms
Type into AcroForm fields, tick checkboxes, export a filled copy — the original stays untouched.
🔍 CJK search that works
NFKC normalization — even the Kangxi-radical codepoints in Chrome-exported PDFs are handled.
🌙 Smart dark mode
Text pages invert for your eyes; pages with images stay as-is. No photo negatives.
🔒 Encrypted PDFs
Passwords remembered per-session only; optional privacy mode keeps excerpts out of your notes.
📖 Book mode + EPUB
Reflowed reading like an e-book: four backgrounds, three font stacks, adjustable size and leading; two-up page turns on desktop, swipe on phones; opens EPUB, highlights still become Markdown notes.
🔠 On-device OCR
Turn scans into searchable PDFs or Markdown. Photo capture gets perspective correction and deskew; two-column layouts export in reading order. Everything runs locally.
🚫 Never included
Ads, popups, subscription nags, watermarks, telemetry. Update check is off by default.
CLI + MCP in the box
# CLI (same rendering engine as the app)
solopdf info file.pdf # pages / outline / metadata
solopdf extract-text file.pdf # extract text
solopdf export-md file.pdf # export full text as Markdown
solopdf form-fields file.pdf # form fields & values
solopdf export-annotations file.pdf # notes → JSON
# MCP (let Claude & other AIs read your PDFs and notes)
claude mcp add solopdf -- node dev-mcp/src/index.mjs
Support & Feedback
Questions or issues? Email [email protected] or open a GitHub issue — we usually reply within 48 hours. Sample document: sample.pdf