How Merge PDF Works
ConvertUnlimited uses pdf-lib, a modern browser-side library for PDF manipulation. When you add files, they are decoded locally in your browser. Our tool then iterates through the pages of each document and copies them into a single, fresh PDF archive based on your preferred order.
Since the merging happens entirely on your own machine, your document contents are processed locally in your browser. This reduces server-side exposure for sensitive contracts, legal documents, and personal records.
Why Combine PDFs?
- Consolidated Records: Combine separate monthly statements into a yearly report.
- Project Management: Group different project phases or team contributions into one master document.
- Application Submissions: Merge IDs, certificates, and forms into a single file for easier uploading to government or job portals.
- Organization: Reduce clutter in your folders by joining related one-page documents.
Browser-based PDF Merging
Unlike cloud-based "Join PDF" services that keep copies of uploaded data on a server, ConvertUnlimited provides the merge logic as a static script that runs in this tab. Selected file contents are processed locally in your browser for this workflow, and ConvertUnlimited does not provide a server-side upload endpoint for it.
What pdf-lib does when merging
This tool uses pdf-lib (version 1.17.1). When a file is added, pdf-lib parses its cross-reference table and object graph, then copyPages() copies the selected page objects — along with the fonts, embedded images, and other resources those pages reference — into a new PDFDocument; a final save() call serializes that document into PDF bytes. Because pages are copied as objects rather than rendered and redrawn, merging does not rasterize or re-compress embedded images and does not reduce text sharpness. The output is a structural recombination of the inputs, not a re-encode.
This also explains why encrypted PDFs fail immediately: the tool calls PDFDocument.load() without an ignoreEncryption option, so a password-protected file throws an error before any pages can be read. There is no in-browser password prompt for this tool; a source PDF must already be decrypted before it is added.
PDF page sizes reference
pdf-lib keeps each copied page's own page-size box, so combining documents of different sizes does not normalize or stretch them to match:
| Page size | Millimeters | Points (1/72 in) |
| A5 | 148 × 210 mm | 420 × 595 pt |
| A4 | 210 × 297 mm | 595 × 842 pt |
| A3 | 297 × 420 mm | 842 × 1191 pt |
| US Letter | 216 × 279 mm | 612 × 792 pt |
| US Legal | 216 × 356 mm | 612 × 1008 pt |
A merged file combining an A4 report with a US Letter invoice, for example, keeps each page at its original size when opened; ConvertUnlimited does not resize pages to make the document uniform.
What actually happens to file size
A merged PDF lands close to the sum of its inputs' page content, plus a small amount of overhead from the new cross-reference table that save() writes. For example, combining five roughly 2 MB single-topic PDFs typically produces a file close to 10 MB — merging itself does not compress. pdf-lib also does not deduplicate identical resources across separate source files: if two input PDFs happen to embed the exact same logo image, each copy is carried over as its own object rather than merged into one shared resource, since the library has no practical way to detect that two byte streams from different files are identical without decoding and hashing them. Use Compress PDF afterward if the combined file needs to be smaller.
Failure modes and limits
- Encrypted or password-protected PDFs. These fail to load for the reason described above; decrypt the file with a dedicated tool first.
- Very large or many-page documents. Combining several hundred-page PDFs, or many files at once, holds every source file's bytes and the in-progress merged document in browser memory at the same time; low-memory devices and mobile browsers are the most likely to run out first.
- Malformed cross-reference tables. pdf-lib can recover from some structural damage, but a severely corrupted file — for example, one truncated mid-download — can fail to load at all.
- Duplicate form-field names. If two source PDFs reuse the same fillable-field name, the merged file keeps both fields; most viewers treat them as unrelated, but a viewer that synchronizes same-named fields can show unexpected linked values.
Frequently Asked Questions
Is there a file limit?
We don't impose a limit on the number of files, but very large multi-hundred-page documents may exceed your browser's RAM capacity. If the tool crashes, try merging fewer documents at once.
Does it preserve page order?
Yes. The tool preserves the original page order within each document and follows the sequence you set in our file list workbench.
Can I merge encrypted PDFs?
Password-protected files cannot be merged for security reasons unless they are decrypted first. Please use a tool to remove the password before merging.
Does merging re-compress or reduce the quality of embedded images?
No. pdf-lib copies existing page objects, including embedded images and fonts, rather than rasterizing pages and redrawing them, so merging by itself introduces no generation loss. If you need a smaller file afterward, run the result through Compress PDF.
Can I merge PDFs that use different page sizes?
Yes. pdf-lib preserves each page's own dimensions, so a merged file can mix A4, US Letter, and other page sizes; each page keeps its original size when opened.
What happens to fillable form fields when I merge PDFs?
Each source file's form fields are copied along with its pages. If two source PDFs use the same field name, most viewers keep them as separate, unlinked fields, though behavior can vary by PDF viewer.
Does merging add a cover page, watermark, or branding?
No. The output PDF contains only the copied pages in the order set in the file list workbench; ConvertUnlimited does not insert a cover page or watermark.
Browser Support
This tool works in all modern browsers supporting the File API and WebAssembly, including Chrome, Firefox, Safari, and Edge.