Technical
How It Works
Every PDF operation runs in your browser. Here is the exact technical sequence.
File Selection
When you select or drag a PDF into the tool, the browser reads the file into memory using the File API. The file bytes are transferred to a JavaScript ArrayBuffer. No network request is made. The file never leaves your device.
WebAssembly Processing
pdf-lib and PDF.js are compiled WebAssembly modules running inside your browser tab. These are the same libraries used in production software — not simplified versions. Compression, page splitting, merging, and password operations all execute here, in local memory.
Output Generation
The processed PDF is written to a new ArrayBuffer, converted to a Blob, and a temporary object URL is created. This URL is used to trigger the browser native download. The Blob is revoked from memory immediately after download initiates.
Memory Cleanup
When you close the tab or navigate away, all file data is garbage-collected by the browser. There is no localStorage write, no IndexedDB entry, no service worker cache for file data. The session is stateless by design.
Technical Specifications
PDF Engine
pdf-lib 1.17 + PDF.js 4.x
Runtime
WebAssembly (WASM) in-browser
Server Calls
None for file processing
File Transmission
Zero — local only
Framework
Next.js 15 + TypeScript
Hosting
Vercel Edge Network
Max File Size
Device memory limited
Supported Formats
PDF 1.0 — 2.0