
I'll be honest: merging PDFs was one of the most requested things people wanted when we built AuraFile. And I understood why. It's a task you run into constantly — contracts, reports, case files, invoices — and most tools that do it require you to upload everything to someone else's server.
Contracts. Medical records. HR documents. Financial statements. Case files.
I didn't want to build yet another tool that ships your files off to a server you've never heard of. So we didn't.
Here's exactly how we do it, and why the architecture matters more than any privacy policy ever could.
What Actually Happens When You "Upload to Merge"
I looked at this closely before building our merger. Here's what nearly every cloud-based PDF tool actually does step by step:
- Your browser opens an HTTP multipart upload to the provider's server.
- Each file travels over TLS and lands in the server's memory or a temp folder.
- A server-side library (iText, pdfplumber, PyPDF2 — take your pick) stitches the PDFs together.
- The merged file gets written to disk or S3 long enough to generate a download link.
- You download it. The provider "promises" to delete it later.
Step 4 is where I have a real problem. Your sensitive document lived on someone else's disk. During that time it was visible to their server processes, their logs, and potentially their backup systems — regardless of what their privacy policy says.
How We Do It Instead
Our Merge PDF tool works on a completely different model. We use three browser primitives that mean your files genuinely never leave your device.
1. We Read Your Files, We Don't Upload Them
When you select files, your browser gives us a File object — a reference to the file's bytes on your local file system. We use file.arrayBuffer() to read those bytes straight into browser memory. Your file system. Your memory. No network involved at any point.
2. We Merge Using pdf-lib, Entirely In-Browser
We use pdf-lib — a pure TypeScript PDF library — to do the actual merging. Once we have the bytes in memory, here's what happens:
- We parse each PDF into a
PDFDocumentobject viaPDFDocument.load(arrayBuffer) - We copy every page from each source into a new combined
PDFDocument - We serialise the final result with
pdfDoc.save()
This all runs in a Web Worker thread so your page stays fully responsive throughout. And the whole thing happens without a single network request being made.
3. The Download Goes Straight to You
Once we've got the merged bytes, we create a Blob from the Uint8Array output and use URL.createObjectURL(blob) to create a local download link. A quick programmatic click on a temporary <a> element delivers the file straight to your downloads folder — no server, no redirect, no intermediate storage.
What About Password-Protected PDFs?
A lot of sensitive documents are password-protected — which means when you use a cloud tool, you're handing them the password and the file. That's a credential exposure risk on top of a data exposure risk.
We handle decryption entirely inside your browser. You enter the password, we pass it to a local decryption routine, and the document gets unlocked in memory. Your password and the decrypted file contents stay on your device throughout.
Does Merging Affect Quality?
People often worry about this, and I'm glad to say it's a non-issue with how we've built it. We copy page content streams directly — we're not re-rendering or re-compressing anything. That means:
- Your images keep their original JPEG or JBIG2 compression untouched
- Vector graphics and text come through exactly as they were in the source
- Fonts stay properly embedded, with no re-subsetting
- Page sizes are preserved exactly, even in mixed landscape/portrait documents
How to Merge PDFs Safely: A Quick Checklist
Step 1: Check the Tool's Network Activity First
Before trusting any PDF merger with sensitive files, open DevTools → Network, then add your files and start the process. If you see an XHR or Fetch request carrying file data, the tool is server-based. Walk away.
Step 2: Set Your Page Order Before You Merge
With AuraFile you can drag and reorder your source files before merging. Get the sequence right upfront — it'll save you from having to re-edit the combined PDF afterwards.
Step 3: Always Spot-Check the Output
Open the merged result in your PDF viewer before you share it. Quickly check the page count, the order, and that the text is still selectable (not a flattened image). Takes 30 seconds and saves a lot of embarrassment.
Why This Matters if You Work in a Compliance-Heavy Field
If you're operating under GDPR, HIPAA, or attorney-client privilege rules, uploading client documents to an external server isn't just risky — it can be a compliance issue in itself, regardless of how good that server's security is. The only way to guarantee zero data exposure to a third party is to guarantee zero data transmission.
That's what local processing gives you. Not a better privacy policy — an architecture that makes the question moot.
The Bottom Line
We built AuraFile's PDF merger because we wanted a tool we'd trust with our own sensitive documents. Merging securely isn't about finding a trustworthy cloud provider. It's about choosing a tool that has no server to trust in the first place.
Your files merge in your browser, download to your device, and vanish from our end — because they were never on our end to begin with.
Merge Your PDFs Privately
Combine multiple PDF files into one — completely in your browser. No uploads. No accounts. No risk.