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.
🚫 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