โ—† ClientPDF
running locally in this tab โ€” nothing uploaded

Does merging a PDF online actually upload your file?

Almost every "free online PDF tool" works the same way: you drop a file in, it disappears for a second or two, and a new file comes back. That gap is doing a lot of work you can't see โ€” and for most of these tools, that work happens on someone else's server, not your device.

That matters more than it sounds. A PDF you're merging or splitting is often a contract, a payslip, a medical form, or a tax document โ€” exactly the kind of file you don't want sitting on a server you've never heard of, governed by a retention policy you never read.

The 10-second test

You don't have to take any tool's word for what it does. Every browser ships with a way to see every byte that leaves your machine:

  1. Open DevTools โ€” F12 on Windows/Linux, Cmd+Option+I on Mac.
  2. Click the Network tab.
  3. Use the PDF tool as normal โ€” upload, merge, download.
  4. Look at what shows up. A POST or PUT request with a payload roughly the size of your file means it left your device. An empty (or near-empty) Network tab means it didn't.

Try it on this site's merge tool right now โ€” that's exactly what the live "0 network requests" counter on the homepage is showing you, continuously, not just on page load.

Why most tools upload anyway

It's not usually malicious โ€” it's just easier to build. Processing a PDF on a server means you can use any language, any library, any amount of CPU, and you don't have to worry about a user's browser or device being capable enough. Client-side processing means shipping a real PDF-parsing library to the browser and making it fast enough to run on an average laptop โ€” harder to build, but it means the file never has to leave the user's machine to begin with.

Server-side vs. client-side, at a glance

Server-side toolClient-side tool
Your file isUploaded to a remote serverNever leaves your device
You're trustingTheir retention policy, security, jurisdictionNothing โ€” there's nothing to trust
Works offlineNoYes, after the page loads
VerifiableOnly by reading their policyYes โ€” check the Network tab yourself

How client-side PDF processing actually works

A PDF file is just a structured document โ€” objects, streams, and a cross-reference table telling a reader how they fit together. Merging two PDFs means reading both object structures and rebuilding one file that references pages from each. Splitting means the reverse. None of that requires a server; it requires a library that understands the PDF spec well enough to do it in JavaScript, in your tab, on your CPU. ClientPDF uses pdf-lib, an open-source library that does exactly this โ€” vendored locally on this site so even the library itself doesn't come from a third-party CDN on every load.

What to check before trusting any PDF tool with a real file

Try it yourself: merge PDFs or split a PDF โ€” DevTools open, Network tab watching. No account, no upload, no waiting for a server.