Loading tool...
Merge PDF files with pdf-lib — no server required
This tool uses pdf-lib (v1.17+) — an open-source, pure-JavaScript library for creating and modifying PDF files in the browser. Unlike server-side PDF mergers that upload your documents to a remote machine for assembly, pdf-lib reads your PDF byte streams locally using the browser's File API, copies each page's content stream and resource dictionary into a new PDF document, and triggers a download — all without network transmission.What pdf-lib actually does during a merge
Each PDF file is a structured binary document containing:- A cross-reference table listing the byte offsets of every object in the file
- Page objects referencing content streams (the actual drawing instructions)
- Resource dictionaries listing fonts, images, and colour spaces used on each page
- Parses the cross-reference table of each source PDF
- Copies each page's content stream into a new
PDFDocumentobject - Merges the resource dictionaries (resolving conflicting font or image names)
- Rebuilds the cross-reference table for the combined document
- Serialises the result to a Uint8Array and triggers a browser download
Common use cases for PDF merging
Combining a multi-document application: Job applications often require a resume, cover letter, and portfolio in a single PDF. Merge all three here in seconds.Assembling a report from separate sections: Different team members write different chapters as separate PDFs. Merge them into a single deliverable for the client.
Archiving multi-page scans: Flatbed scanners often save each scanned page as a separate file. Merge the pages into a single searchable document.
How to use the PDF Merger
- Upload your PDFs — Drop two or more files. pdf-lib parses each file's cross-reference table.
- Reorder — Use the arrows to arrange the merge order.
- Merge and download — pdf-lib assembles the combined PDF and triggers download.