Upload multiple PDFs, put them in order, and combine them into one file — with an optional compression pass to bring the size down. Nothing leaves your browser.
// Your merged PDF will appear here
Merging uses pdf-lib to copy every page from each uploaded file, in the order you set, into one new PDF — this step is always lossless regardless of compression mode. "Safe" compression re-saves that merged file with optimized internal structure (object streams, stripped metadata), which typically saves a modest amount with zero visual change. "Aggressive" compression goes further: each page is rendered to a canvas via PDF.js and re-encoded as a JPEG at the quality and resolution you choose, then rebuilt into a new PDF one image per page. All three modes run locally — you can confirm that by checking the Network tab in dev tools while a batch runs.
Each file is capped at 50 MB and each batch at 20 files, enforced up front. Aggressive mode additionally caps out at 200 total pages across the batch, since rendering every page to a canvas is meaningfully more work than copying it — for bigger jobs, use "Safe" mode (page count isn't limited there) or split into multiple aggressive-mode runs.
Text and vector content in a PDF is already compact — most of a PDF's size usually comes from embedded images and fonts, and "Safe" mode doesn't touch either of those; it only cleans up document structure and metadata. If your PDFs are text-heavy (reports, invoices, contracts), that's genuinely most of what a lossless pass can do. If they're scanned pages or full of photos, "Aggressive" mode will do far more.
When the PDF is mostly images to begin with — scanned pages, photo-heavy brochures, exported slide decks — and you specifically need a smaller file over a searchable one. It won't help (and will actively hurt) a text-heavy document where you or a colleague need to select, search, or copy the text afterward.
150 DPI at 0.7 quality is a reasonable default — legible on screen and in most printouts. Drop to 96 DPI / 0.5 quality if you just need the smallest possible file for an email attachment and don't care about print quality. Go up to 220 DPI / 0.85 if the pages contain small text you need to stay readable after compression.
No — pages inside each uploaded PDF keep their original order. The file-level order you set (via the arrows) only controls which whole file's pages come before which other file's pages in the final output.
No. Password-protected or encrypted PDFs generally can't be read without the password, so they'll fail to load here the same way they'd fail to load in most PDF tools — decrypt the file first if you need to include it.
This can happen in "None" or "Safe" mode when the source files share a similar structure — pdf-lib doesn't deduplicate identical embedded fonts or images across separate source documents, so a font embedded in three input files gets carried over three times. If the size difference matters, "Aggressive" mode sidesteps this entirely since it rebuilds every page from scratch as a single image.
Yes — upload just the one file. With only one file in the list there's nothing to merge, so the tool simply applies whichever compression mode you picked to that file on its own.