A fast, private PDF toolkit that runs entirely in your browser.
No uploads, no servers, no tracking — your files never leave your device.
Drop a PDF and it opens in a single, canvas-based editor — a Photoshop-like workspace for one document at a time:
- ✏️ Annotate & sign — draw, highlight, shapes, text, signatures, fill & flatten forms
- 📄 Pages — reorder, rotate, delete, crop, N-up, OCR, plus split / extract / contact-sheet on export
- 🔒 Privacy — redact (burned into the page), find & box text, scrub hidden data, edit or strip metadata
- 🏷️ Stamps & numbering — watermarks, page numbers, headers & footers, Bates numbering, bookmarks
Export to PDF, images (ZIP), a contact sheet, or split pages — with optional compress / grayscale / flatten / repair / strip-metadata.
A few standalone tools cover the jobs the single-PDF editor can't — these mirror the categories on the home screen:
- 🧩 Combine & Convert — merge PDFs, build a PDF from images, or extract embedded images
- 🔑 Secure & Sign — add a password & permissions, sign with a certificate, or compare two PDFs
- 🤖 On-device AI — Ask your PDF: chat with a document using a small model that runs entirely in your browser, no API key or server
Everything runs client-side — there is no server to upload to. No accounts, no analytics, no tracking. It's an installable PWA that keeps working offline once loaded, and the on-device AI needs no API key or inference server.
| Area | Technology |
|---|---|
| Framework | React 19 + TypeScript 6 |
| Styling | Tailwind CSS 4 |
| Build & tooling | Vite+ (vp) |
| PDF manipulation | @pdfme/pdf-lib |
| PDF rendering | PDF.js |
| Layout-aware OCR | LlamaIndex LiteParse + Tesseract.js |
| On-device AI | Transformers.js + LangGraph |
| Deployment | Cloudflare Workers |
git clone https://github.com/cloakyard/cloakpdf.git
cd cloakpdf
vp install # needs Node ≥ 24 and `npm i -g vite-plus`
vp dev # http://localhost:5173| Command | Description |
|---|---|
vp dev |
Dev server with hot reload |
vp build |
Type-check + production build |
vp check |
Format, lint, type-check |
vp test |
Run unit tests |
Ask your PDF runs a full retrieval-augmented Q&A pipeline in the browser — the model weights download once from Hugging Face, cache, and work offline after. For the architecture (LangGraph state machine, hybrid retrieval, model choices), see docs/local-ai.md.
Contributions are welcome — see CONTRIBUTING.md. Licensed under the MIT License.
Built with ❤️ by Sumit Sahoo
