PDFBook is a desktop app for reading and managing large PDF collections — books, papers, manuals, manga, and scans — on Windows, macOS, and Linux. It runs entirely on your computer: no account is needed to read, and your library never leaves your device.
⬇ Download · 📖 Documentation · 🌐 Website
Get the latest build from the Releases page, or read the download guide.
- Windows — installer or portable build (x64 / arm64), also on the Microsoft Store.
- macOS — DMG for Apple Silicon (M1/M2/M3 and newer) and Intel Macs.
- Linux — AppImage or
.deb(x64 / arm64).
Page-flip and vertical-scroll modes, right-to-left (manga) reading, in-document text search, bookmarks, zoom, and reading-position memory that reopens each book where you left off. Password-protected PDFs and a distraction-free focus mode are supported. See the reader guide.
Point PDFBook at folders of PDFs and it keeps your catalog in sync. Sort and filter by tags, ratings, favorites, and reading status, add notes per book, and browse covers in grid or list view. See the library guide.
Build a PDF from images or pages, convert other document formats, and pull selected pages out into a new file — all locally. See creating PDFs.
Turn pages shown in another app into a PDF, with automatic page-turning on Windows. See screen capture.
Ask questions about the page you're reading, using a provider you choose — Ollama (local), OpenAI, Claude, or OpenRouter. See the AI assistant guide.
No account is required to read, and everything is processed on your machine. PDFBook works fully offline.
Full guides, setup help, and FAQ live at wiki.pdfbook.app:
The documentation is also available in Japanese / 日本語.
This repository holds two things:
- The documentation site — source for https://wiki.pdfbook.app, built with
Astro Starlight and deployed on Vercel
(zero-config: Vercel detects Astro, runs
astro build, servesdist). - Release downloads — installers for every platform are published to this repository's Releases.
npm install
npm run dev # local preview at http://localhost:4321
npm run build # production build into ./distPages live in src/content/docs/ — English at the root, Japanese under ja/. A page with
no Japanese translation falls back to English automatically.