PDF Merge
Merge several PDF files into one in your browser, with order control and no upload.
No files yet — pick PDFs above to build the merge order.
Merging runs entirely in your browser with pdf-lib. Files are read into memory and never uploaded.
How to use it
- Click the file picker and choose two or more PDF files. Hold Ctrl or Cmd to select several at once.
- Each file is read locally and its page count is shown in the merge list.
- Reorder the list with Up and Down — the top file becomes the first pages of the result.
- Use Remove to drop a file you picked by mistake.
- Click Merge PDFs, then Download to save the combined document.
Common use cases
- Combining scanned documents — merge receipts, contracts or reports into one file before sending.
- Assembling a packet — put a cover page, terms and appendix in exactly the order you choose.
- Rejoining split exports — files that were exported or emailed in pieces become one document again.
- Checking page counts first — the list shows how many pages each file adds before you commit.
Why it stays private
Merging is done by pdf-lib inside your browser's memory. Files are read with the File API, never sent to a server, and no network request is made at any point, so confidential documents stay on your device.
FAQ
Q: Is there a limit on how many files I can merge? A: There is no hard limit, but every file is held in memory at once, so very large batches are better merged in smaller runs.
Q: Does merging change the pages themselves? A: No. Pages are copied as they are — text, fonts, images and annotations travel with them. Only the order is decided by the list.
Q: Can I merge password-protected PDFs? A: Not here. The parser rejects encrypted documents, so remove the password first or use a dedicated decryptor.
Your data stays on this device
PDF Merge runs 100% locally. Everything you paste or drop is processed by your own browser and never transmitted. Nothing is stored on our servers — close the tab and it is gone.
Nothing you type is sent to a server, logged, or used for analytics. The page works even with your network disconnected after first load.