How PaperZero works
PaperZero turns your browser into a document workshop. Here is the journey a file takes - and how short that journey is compared to traditional online converters.
The local file lifecycle
- Select - you pick files with the dropzone; the File API hands us references, never uploads.
- Validate - magic bytes are checked so a renamed file cannot sneak through.
- Transfer - bytes move into a Web Worker via transferable ArrayBuffers, keeping your UI at 60fps.
- Process - pdf-lib rewrites structure (merge, split, rotate, watermark); PDF.js renders pages to canvas for previews and image exports.
- Verify - outputs are re-parsed to confirm page counts and validity before we call it success.
- Download - a Blob is created in memory and saved straight from your browser.
Your file | v Browser memory (ArrayBuffer) | v Web Worker --> pdf-lib / PDF.js | v Validated output Blob | v Download (no server anywhere)
One engine, many tools
Every tool composes the same shared operations instead of being its own mini-app. Merge, organize and rotate all use one page-descriptor engine. Watermark and page numbers share one placement coordinate system - which is why the live preview matches the exported file.
Memory and device safety
Before high-resolution work we estimate render memory from page size and DPI, clamp canvas dimensions to what your device can handle, process pages in small batches, release canvases eagerly, and let you cancel anything mid-flight. Phones get conservative defaults; desktops can push higher quality.
Offline by design
A service worker caches the app shell and all processing assets after your first visit. After that, every tool on this site keeps working without internet - see Offline mode.
What comes next
The roadmap adds compression (WASM), OCR, encryption, true redaction and a workflow builder - all under the same rule: if it can run locally, it will run locally. Tools that genuinely require network access will always disclose exactly what leaves your device.