How to Merge PDFs in Your Browser (No Upload, No Account)
The most common reason to merge PDFs is mundane: you scanned a document into 4 separate files, or your bank sent statements as 12 attachments, or you're putting together a bid package from a dozen sources. The work is purely mechanical — pick the files, decide their order, glue them together.
The catch: every search result for "merge PDFs" wants you to upload them.
Why uploads happen
The dominant tools — Smallpdf, iLovePDF, PDF24, Adobe — all do server-side processing. Their reasons are technical, but worth understanding:
- It used to be hard to do PDF manipulation in a browser. Five years ago, the JavaScript libraries either didn't exist or couldn't handle real-world PDFs.
- Server-side processing lets them run heavier algorithms (advanced compression, OCR on scanned pages, format normalization) that would be slow in the browser.
- Server-side gives them a billing surface — track usage, gate features behind accounts, monetize the volume.
The technical landscape has changed. pdf-lib and pdfjs-dist handle 95%+ of consumer PDF tasks entirely in the browser, fast. The privacy story shifts entirely with that.
Browser-only merging
Buncha's PDF merge tool takes any number of PDFs, lets you drag-reorder them, and exports a combined file. The merge runs in JavaScript on your computer — there's no upload, no log, no account.
Drag, drop, reorder, export:
- Drop your PDFs onto the upload zone. They appear as thumbnails in the order you dropped them.
- Drag a thumbnail to reorder.
- Click Merge — pdf-lib stitches them in memory.
- Download the result.
Bookmarks, page numbers, and embedded fonts are preserved on a best-effort basis. PDF/A and form fields work in most cases. Encrypted PDFs need to be unlocked first (/tools/pdfunlock handles that if you have the password).
File-size and number limits
The hard cap is your browser's memory, not anything we set. Practical guidance:
- Phones: comfortable up to ~50 MB total.
- Laptops with 8 GB RAM: 200-300 MB of PDFs comfortably.
- Larger sets: works, but the merge runs slower and the browser may stall briefly during the export.
This is one of the few cases where desktop has a real advantage — server-side mergers don't care about your device's memory because they're using theirs. If you've got a 1 GB stack of scans to combine, the browser-only path is going to struggle.
When server-side does make sense
There are two cases where the cloud-only mergers are still the right answer:
- OCR on scanned PDFs. If your input PDFs are page-images (scans, not text), and you want the merged output to be searchable, you need OCR. That's heavy — the browser can do it via Tesseract.js, but the experience is slow. Buncha's PDF OCR tool handles this client-side; it's the right path if privacy matters more than speed.
- Massive batch jobs. Combining 500 PDFs in one go isn't going to work in any browser. You'd want a desktop tool (Adobe Acrobat, qpdf, pdftk) for that scale.
For everything else — and that's >95% of use cases — the browser path is faster (no upload time), private (no retention), and free (no account).
Other PDF tasks where browser-only matters
Once you've got the pdf-lib stack loaded, almost every common PDF task becomes browser-friendly. We use the same engine across:
- PDF compress — recompress embedded images
- PDF split — extract page ranges
- PDF sign — drop a signature stamp
- PDF reorder — drag pages into a new order
- PDF rotate — fix sideways scans
- PDF watermark — add a brand mark or "DRAFT"
- PDF page numbers — auto-add to a paginated doc
- PDF protect — set a password
Same browser-only privacy property across all of them.