Merge, split, rotate, reorder, watermark, number and compress PDFs — and turn images into PDFs — entirely inside your browser. No file is ever sent anywhere, because there is nowhere to send it.
The jobs people normally reach for a website to do — except the file never leaves your machine.
Add several PDFs and they lay out in order. Drag any page to reorder, duplicate or delete it.
Select the pages you want and pull them out into a new PDF. Shift-click selects a range.
Rotate left or right in 90° steps, move pages earlier or later, duplicate them.
Text watermarks — centre, tiled or a corner — with size, opacity, angle and colour.
Number the pages in four formats and positions, and set title, author, subject and keywords.
Renders each page to an image and rebuilds the PDF — the biggest saving on scanned documents.
Drop in PNGs or JPEGs and save them as a PDF, one image per page.
Encrypt with AES-256 and set permissions — allow or block printing, copying and modifying.
Remove a password you already know, in the browser. Nothing is sent anywhere to do it.
Pull the text out of a digital PDF and save it as a plain .txt file.
Read text out of scans. The engine downloads once (~7 MB) and is then cached; your document is never uploaded.
There is no server to leak to. The whole tool is one HTML file you can keep on a USB stick.
Patient reports, contracts, bank statements, identity documents — the files people merge and split are usually the ones they should not be handing to a stranger's server.
Four steps, and nothing to install.
Correct. The app is a single HTML file with the PDF engine compiled into it. There is no fetch to any server and no backend at all. You can load it, unplug the network, and it still works — which is the proof.
Yes. Save the page and open it any time. It is also installable as an app, and it registers a service worker so a second visit works without a connection.
No imposed limit — the practical ceiling is your device's memory. Very large scanned PDFs can be slow, especially in Compress mode, which renders every page.
It renders each page to a JPEG at the resolution and quality you choose, then rebuilds the PDF from those images. On a scan this can shrink a file dramatically. On a text PDF it usually makes it bigger and the text stops being selectable — so keep the original.
Yes. Password protect encrypts with AES-256 and sets permissions (printing, copying, modifying). Unlock a PDF removes a password you already know. Both happen in your browser — no file is sent anywhere.
No. OCR downloads the recognition engine once (~7 MB) and caches it; after that it works offline. Only the engine is downloaded — your document is read into memory and never leaves the device.
Yes — see the licence. The app code is the author's; the two bundled libraries are permissively licensed (MIT and Apache-2.0).
One self-contained HTML file. No installer, no dependencies, no network.
Works immediately. Save the page for offline use.
The app, the build script, the licence and the issues.
This toolkit stands on other people's work. Thank you to:
Full licence texts are in THIRD-PARTY-NOTICES.md. No third-party data is bundled — no corpora, no fonts, no text of its own.
App code © Dr Sohil Momin. Free to use for personal study, teaching and non-commercial practice. Commercial use requires a licence. Educational institutes may use it free or at a discounted rate.