简体中文 · 繁體中文 · English · 日本語
SoloPDF icon

SoloPDF

Free · ad-free · local-first PDF reader — highlights become notes

Download for macOS (Apple Silicon) v0.1.0 · notarized · zero telemetry · GitHub
stars · downloads
Apple-notarized — opens right after download · 简中/繁中/EN/日本語 · Windows / Linux (ARM64) on GitHub Releases

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