Skip to content

Repository files navigation

PDFChimp

A free, open-source PDF editor for the desktop. View, merge, split, create, annotate, fill forms, and edit text in PDFs — with no telemetry, no accounts, and no paywalled features.

Status: feature-complete (v1.0). Windows installer builds today; macOS/Linux targets are configured and build in CI.

Why

Good PDF tooling shouldn't cost $180/year. PDFChimp aims to be a daily-driver PDF reader and a real editor, built on the same engines the big browsers use:

  • PDF.js (Firefox's renderer) for fast, faithful display
  • PDFium (Chrome's engine, via WebAssembly) for true in-place text editing
  • pdf-lib for page operations, annotations, and forms

All permissively licensed (MIT/Apache/BSD) — a license-checker CI gate keeps it that way.

Features

  • 📖 Reader — tabs, continuous virtualized scrolling, search, thumbnails, outline, dark mode; fast enough to be your default Windows PDF viewer (double-click to open, Jump List, session restore)
  • 🔗 Pages — combine, split, reorder, rotate, insert, delete, extract
  • 📄 Create — blank, from images, or from Markdown/HTML
  • ✏️ Edit text in place — via PDFium, with font-fallback for subset fonts; plus text boxes, images, and whiteout (cover-up)
  • 🖍️ Annotations — highlight, underline, strikeout, ink, shapes, sticky notes, stamps, signatures — saved as real PDF annotations with appearance streams so they render in Adobe/Edge/Firefox; plus flatten
  • 📋 Forms — AcroForm filling and flattening
  • 🏷️ Document tools — watermarks, headers/footers, page numbers, compress, metadata editor
  • 🔍 OCR — makes scanned PDFs searchable (tesseract.js, fully offline)
  • True redaction — actually removes the underlying content and machine-verifies nothing recoverable remains (not just a black box)
  • 🔐 Encrypt / decrypt — protect a PDF with a password (real AES-256, V5/R6), or remove an existing password to save an unprotected copy
  • 🖨️ Print, Save/Save As, export to images
  • 🚫 Privacy — no telemetry; the only network call is the update check

Development

npm install
npm run dev        # launch with hot reload
npm run typecheck  # strict TS across main/preload/renderer
npm test           # vitest
npm run dist       # build Windows installer (NSIS)

Architecture in one paragraph: the Electron main process owns file I/O and OS integration; the sandboxed renderer hosts the React UI and PDF.js display; a dedicated Engine Worker owns the authoritative bytes of every open document and serializes all mutations through pdf-lib and PDFium-WASM. PDF.js is always just a view of the last committed snapshot — that discipline is what keeps the viewer and the editing engines from ever disagreeing.

License

MIT

About

Free, open-source desktop PDF editor — view, edit, annotate, forms, OCR, redaction

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages