pdfsplitter.in logopdfsplitter.in

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

Our Browser-Native Approach
  • 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.
Traditional Cloud PDF Services
  • 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:

1

Press F12 (or right-click anywhere and choose Inspect) to launch your browser's Developer Tools.

2

Navigate to the Network tab and click the filter button for Fetch/XHR.

3

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.

Frequently asked questions

Open your browser's Developer Tools (F12 or Cmd+Opt+I), navigate to the Network tab, filter by Fetch/XHR, and split any document. You will see zero outbound network requests containing file payloads.