Merging PDFs is the most common PDF task on the internet, and for good reason. Contracts arrive in separate attachments. Scanned receipts pile up as individual files. Professors want one submission, not twelve. Whatever the scenario, the goal is simple: take multiple PDF documents and combine them into a single file with the pages in the right order. Our tool does this directly in your browser. No file uploads, no server processing, no account required.
When to use this tool
Use Merge PDFs whenever you need to combine two or more PDF documents into one file. Typical situations include:
- Assembling application packets. Visa applications, university submissions, and job applications often require a single PDF containing your resume, cover letter, transcripts, and identification documents.
- Consolidating reports. Monthly financial reports, meeting minutes, or project deliverables that arrive as separate files are easier to distribute and archive as one document.
- Organizing scanned documents. If you scanned a multi-page document but ended up with one PDF per page (or per batch), merging reconstructs the complete document.
- Preparing print jobs. Print shops and binding services usually prefer a single file rather than a folder of loose PDFs.
If you only need certain pages from a larger document, consider using Split PDF or Extract Pages first, then merge the results.
How merging PDFs works
A PDF file is not a flat sequence of pages. It is a structured binary format built around a hierarchy of objects. At the top level sits the document catalog, which points to a page tree. The page tree is a balanced tree structure where each leaf node represents a single page. Each page object references its own resources — fonts, images, color spaces — and contains a content stream that describes what to draw.
At the end of every PDF sits a cross-reference table (or, in modern files, a cross-reference stream). This table maps every object in the file to its byte offset, allowing a PDF reader to jump directly to any object without scanning the entire file from the beginning. This is why you can open a 500-page PDF and immediately jump to page 400 without waiting.
When our tool merges documents, it performs the following steps:
- Parses each source PDF. The tool reads the cross-reference table of every input file to build a map of all objects.
- Copies page objects into a new document. Each page, along with all the resources it depends on (fonts, images, embedded files), is copied into the destination PDF's object space. Object numbers are remapped to avoid collisions.
- Builds a new page tree. The copied pages are assembled into a single page tree in the order you specified. The new document catalog points to this unified tree.
- Writes a new cross-reference table. The final file gets its own cross-reference table reflecting the new byte offsets of every object.
Because the tool copies page objects rather than re-rendering them, there is no quality loss. Images are not re-compressed. Text is not re-rasterized. The bytes that describe each page's visual content are transferred intact.
This entire operation is powered by pdf-lib, a JavaScript library that manipulates PDF structure directly in memory. It runs in your browser's main thread (or a web worker, depending on file size), and the resulting merged file is assembled as a byte array that you download. At no point does any data leave your device.
Common issues
Different page sizes across documents. PDFs do not enforce a uniform page size. One file might use US Letter (8.5 x 11 inches), another A4 (210 x 297 mm), and a third might contain a mix of landscape and portrait pages. Merging preserves each page's original dimensions — the tool does not resize or crop anything. The result is a valid PDF, but if you print it, your printer settings may need to account for the variation. Most print dialogs have a "fit to page" option that handles this gracefully.
Rotated pages appearing sideways. Some PDFs mark pages with a /Rotate value (90, 180, or 270 degrees) rather than actually rotating the content stream. Our merge preserves these rotation flags, so pages should display correctly. If a page appears rotated after merging, it was likely rotated at the content-stream level in the original — use our Rotate PDF tool to correct it.
Form field name collisions. If you merge two PDFs that each contain a text field named "FullName," the merged document has two fields with identical names. PDF viewers handle this inconsistently — some will sync the values across both fields, others will only fill the first one. The safest approach is to flatten form fields (converting them to static content) in one of the source files before merging, or to ensure field names are unique.
Large file sizes. Merging many image-heavy PDFs can produce a large output file. This is because each source document's images are copied in full. If two source files happen to embed the same logo or background image, the merged file will contain two separate copies. Our Compress PDF tool can reduce the output size by downsampling images and stripping unnecessary metadata.
Encrypted or restricted PDFs. Files that require a password to open must be unlocked before they can be merged. Files with "owner" restrictions (preventing editing or copying) may also need to be unlocked, depending on what restrictions are set. Our Unlock PDF tool handles both cases.
What to expect from our tool
Drop your PDF files onto the page or use the file picker. They appear as thumbnails you can drag to reorder. Click merge, and the combined file downloads to your device.
Processing time depends on the total size of your input files and the capabilities of your device. A handful of text-heavy PDFs (a few hundred KB each) merge in under a second. A batch of twenty scanned-image PDFs (10 MB each) might take several seconds on a laptop and a bit longer on a phone.
The output file preserves page dimensions, fonts, images, annotations, and form fields from every source document. Internal bookmarks from each file are included. The tool does not add watermarks, branding, or metadata of its own.
Because everything runs client-side, there are no daily limits, no file size caps enforced by a server, and no queue. Your files stay on your machine from start to finish. The only constraint is your browser's available memory. For extremely large jobs (hundreds of files or files totaling over 1 GB), you may need to split the work into batches.