Combine multiple PDFs into one
Merging PDFs isn't like concatenating video or audio files. Because PDFs are highly structured relational databases, merging requires parsing multiple cross-reference tables (XRef tables) and building an entirely new, unified Object Stream.
When combining two PDFs that share the exact same embedded resource (for example, the Arial font or a company logo), the merging algorithm intelligently deduplicates the resources.
Instead of storing two identical 5MB font files in the new document, it rewrites the internal dictionary pointers of both documents to share a single font object in the merged output, drastically reducing the final file size.
Loading multiple large PDFs into a browser's RAM simultaneously can easily cause an Out-Of-Memory (OOM) crash, especially on mobile devices.
To prevent this, our Web Worker processes the merge sequentially. It loads a file, safely copies its necessary objects into the master document, and then immediately flags the original file for garbage collection. Data is passed between the UI and worker using zero-copy Transferable Objects.
By default, this tool processes PDFs to optimize them for "Fast Web View" (also known as Linearization).
This restructures the resulting merged PDF so that when you upload it to a web server, browsers can download and display the first page immediately while the rest of the document finishes loading in the background.
If you merge two 10MB PDFs that use the exact same embedded font file, why might the merged file be only 11MB?