How pdfsplitter.in processes your files
A transparent, technical explanation of how client-side WebAssembly enables secure document manipulation without cloud servers.
The technical architecture (client-side WebAssembly)
When you select a document on pdfsplitter.in, the file is read into browser memory via the native HTML5 FileReader API as an ArrayBuffer.
Our engine, compiled with WebAssembly and client-side JavaScript (pdf-lib), parses the cross-reference (xref) table, resolves object streams, extracts the requested page dictionaries, and synthesizes a compliant binary output directly in local memory.
The resulting byte array is converted to a local Blob and triggered via a client-generated blob:http URL. At no point during this lifecycle does any byte transmit over a network socket.
What your browser does vs what a server would do
- File stays in local RAM.
- Zero transfer delay or upload bottlenecks.
- Zero risk of third-party server data leaks.
- Works even when you disconnect from Wi-Fi once loaded.
- File transmitted to remote multi-tenant server.
- Stored in temporary server disks or cloud buckets.
- Processed by a server-side CLI tool.
- Download link returned to user; file retained for minutes or hours before scheduled deletion.
How to verify nothing is uploaded (DevTools instructions)
We encourage every security engineer, auditor, and privacy-conscious user to verify our claims personally:
Press F12 (or right-click anywhere and choose Inspect) to launch your browser's Developer Tools.
Navigate to the Network tab and click the filter button for Fetch/XHR.
Drag in a large PDF and click "Split Document". You will observe that zero outbound POST requests or document payloads are created. The download is assembled locally via a blob: protocol.
For further privacy guarantees, you can read our privacy policy or head back to the tool to try it yourself.