Most "free online PDF tools" work the same way: you upload your file to their server, they process it, and you download the result. That's fine for a cat photo. It's not fine for a passport scan, a bank statement or a salary certificate.
So we built PaperPDF around one rule: your file never leaves your device. Every tool runs inside the browser. There is no upload step at all, not even a temporary one.
Here's how that works, and what we learned.
The rule that shaped everything
If nothing is uploaded, the browser has to do all the work, on all kinds of devices, including cheap Android phones on slow mobile data. That one rule decided almost every technical choice:
- Static site, no backend for tools. Pages are plain HTML/CSS with small, lazy-loaded scripts. A tool's code is only downloaded when you open that tool.
- Heavy work in Web Workers, so the page never freezes while a 200-page PDF or a 1-minute video is processed.
- Process in pieces, not all at once. Files are read in slices and video frames are handled one at a time, so phones don't run out of memory.
- Works offline after the first visit, thanks to a service worker that caches each tool once you've used it.
PDF tools
For merging, splitting, rotating, page numbers, watermarks, forms and signing, we use pdf-lib to edit the PDF structure directly. Text stays as text, so files stay small and searchable.
For anything that needs to see a page (previews, PDF to JPG/PNG, grayscale), we render with PDF.js.
Compression was the hardest part. Online forms in many countries ask for a PDF "under 100 KB" or even "under 50 KB". Our Compress PDF tool tries progressively stronger settings until it fits the target, and it tells you honestly when a file can't get that small without becoming unreadable.
Password protection and unlocking use qpdf compiled to WebAssembly, with AES-256.
Images and OCR
Image tools use the browser's own canvas and image encoders: compress to a target KB, resize, crop, convert, change DPI. The DPI tool can change only the DPI value in the file header, without touching a single pixel, which is exactly what many photo upload forms need.
Text recognition (image to text) uses Tesseract.js. Language data is downloaded only when you pick a language, and the size is shown first.
Background removal runs a small segmentation model with ONNX Runtime Web, entirely on the device.
Video and audio, without uploading
This was the part people told us wouldn't work in a browser. It does, thanks to WebCodecs:
- decode and encode with the browser's own codecs
- read MP4/MOV with mp4box.js, write with mp4-muxer / webm-muxer
- do some jobs without re-encoding at all: muting a video, fast trims, instant rotation and joining matching clips just copy the data, so they finish in about a second with zero quality loss
On a typical computer, compressing a 1-minute 1080p clip to WhatsApp size takes around 30 seconds. Phones are slower, and the page says so instead of pretending.
Where a browser can't do something (for example, no WebCodecs, or a codec the device can't decode), the tool shows a clear message rather than failing silently.
Privacy beyond "no upload"
- No accounts, no watermark, no limits.
- Cookieless analytics that count visits, not people.
- A strict Content Security Policy, so the pages can only load their own code.
- The microphone is allowed on exactly one page (the voice recorder), and blocked everywhere else by a Permissions-Policy header.
- Drafts (for example an invoice you're filling in) are saved only in your own browser, with a "Delete my saved details" button.
Performance
Because each page only loads what it needs, the pages score 98–100 on mobile Lighthouse, even the video tools. Lazy-loading per tool made the biggest difference. Shared code that quietly pulls in "just one more" module is the usual culprit when every page gets slower.
Licences
We only use permissively licensed libraries (MIT, Apache-2.0, BSD). Where an LGPL component was the only good option (an MP3 encoder and a HEIC decoder), it's shipped unmodified as a separate file, and everything is listed on our licences page.
What's there today
More than 60 tools in five groups:
- PDF: merge, split, compress, edit, sign, fill forms, redact, protect, unlock, crop, page numbers and more
- Image: compress, resize, convert, HEIC to JPG, passport photo maker, signature maker, background remover, OCR
- Video: compress, trim, split for Status, crop to 9:16, speed, merge, add music, video to MP3/GIF
- Audio: MP3 cutter/ringtone maker, converter (including WhatsApp voice notes), voice recorder, join audio
- Document makers: invoices, letters and certificates, downloadable as PDF or Word
It's free to use: getpaperpdf.com
If you try it, we'd really like to hear what breaks, especially on older phones. There's a feedback box on every page.
Top comments (0)