Merge PDFs into one file

Add your PDFs, put them in the order you want, and get back a single document. The files are joined in this browser tab and are never uploaded.

How it works

A form wants one file and you have five. The two sides of an ID card, scanned separately. A payslip for each of the last three months. A contract and its annexes. A scanning app that produced one PDF per page. Joining them is usually the last step before an upload, and it is the one PDF operation that costs nothing at all when it is done properly.

Every file you add is parsed here, in this tab. Its pages are then copied into a new document, object for object, in the order your list shows. The text is still text, the links still work, the images are the same images at the same resolution, and each page keeps its own size, so an A4 scan and a US Letter page stay their own shapes inside the merged file. Nothing is re-rendered and nothing is re-compressed.

The order is the whole interface. Files join the list as you add them, the arrows move one earlier or later, and the ✕ removes one you picked by mistake. The pages inside a single file are never rearranged. You can keep adding files after the first batch, and the merged document is built from whatever the list says at the moment you press the button.

None of this leaves your device, which matters more here than in most places: the documents people merge are bank statements, medical letters, passports and signed contracts. The file you get back is a genuinely new document, too. It carries no author, title, producer or creation date from any of the originals, so it does not quietly publish which machine and which software made them.

How to use it

  1. 1 Choose your PDFs. You can select several at once, or add more later.
  2. 2 Put them in the right order with the arrows, and remove anything you added by mistake.
  3. 3 Press Merge PDFs.
  4. 4 Open the downloaded file and check the order and the page count before you send it.

Good to know

  • Files merge in the order shown, and the pages inside each file keep their own order.
  • Mixed page sizes are preserved: an A4 scan and a Letter page each stay their own size.
  • Nothing is re-encoded, so the merged file is roughly its parts added together. Compress it afterwards if the form has a size limit.
  • Bookmarks and fill-in form fields belong to a document as a whole rather than to its pages, so they do not survive a merge. What is printed on the page is unchanged.
  • A password-protected PDF cannot be merged. Remove the password in your PDF reader, then add the copy.

Browser support

  • Chrome 94 and later
  • Firefox 93 and later
  • Safari 16.4 and later
  • Edge 94 and later

These are the oldest versions with everything the tool uses. They are worked out from the tool itself, so they change when it does.

Version numbers checked on 2026-09-04.

Why merging is the one PDF operation that loses nothing

A PDF is not a stream of pages, it is a graph of numbered objects. A page object holds a reference to a content stream, which is the list of drawing instructions, and to a resources dictionary naming the fonts and images that stream uses. Annotations, including links, hang off the page as their own objects. A separate page tree lists the pages in reading order. Nothing about where a page sits in the file is baked into the page itself, which is exactly why pages can be moved between documents at all.

Merging, then, is copying. Each page object is copied into a new document along with everything it references, every internal reference is renumbered so two files that both used object 7 do not collide, and the copies are appended to the new page tree in the order you set. That is all this tool does. No image is decoded, no JPEG is re-encoded, no page is rasterised. The compressed bytes of a scan arrive in the merged file exactly as they left the original, which is why the text is still text afterwards and why a 300 DPI scan is still a 300 DPI scan. Compare that with compressing to a byte target, which has no choice but to re-render each page as a picture.

Page geometry travels with the page too. Every page carries its own MediaBox measured in points, one point being 1/72 inch, so a merged document can legitimately hold an A4 scan, a US Letter payslip and a photographed receipt at their true sizes. Nothing is normalised to a single paper size. Readers display each page at its own dimensions; a printer will usually offer to scale them to whatever is in the tray, and that is a printing decision rather than something the file needs fixed in advance.

What does not survive is everything that lives above the pages, in the document catalog. Bookmarks are an outline tree hanging off the catalog, not off any page, so they do not come along. Fill-in form fields are worse, because they half survive: the field definitions live in the document’s AcroForm, while the boxes you see are widget annotations attached to the page. Copy the pages and you get the widgets, showing whatever text was filled in, with no fields behind them. The merged copy therefore looks complete and is no longer fillable. That asymmetry is unusual enough to be worth a warning before the merge rather than a discovery afterwards, so the tool checks each file for form fields and says so up front.

The output is a document created from scratch, which has a pleasant side effect. Its info dictionary starts empty, so no author, title, producing application or creation date comes across from any of the originals. Metadata sitting inside an embedded image is part of that image’s bytes and is untouched, so it is worth stripping separately when it matters. All of this runs on the main thread of your own browser tab. pdf-lib is plain JavaScript with no WebAssembly to fetch, so the only real constraint is memory: every file stays in the tab while its pages are copied, which is what limits a merge of hundreds of large scans on a modest phone.

Frequently asked questions

How do I merge PDFs without uploading them?

Choose the files here. They are read and joined inside your browser tab by your own device, and the merged file is handed straight back to you as a download. You can confirm it in your browser’s developer tools, on the Network tab: no request carries your documents.

Will the text still be selectable in the merged file?

Yes. Pages are copied rather than re-rendered, so text stays text and can still be searched, selected and read aloud by a screen reader. That is the difference between merging and compressing: compressing to a hard size limit has to turn pages into pictures, and merging never does.

Can I change the order of the files?

Yes. Each file in the list has arrows that move it earlier or later, and the merged document follows the list exactly. The pages inside a single file are never rearranged, so a file that was upside down stays that way and needs fixing before you add it.

How many PDFs can I merge at once?

There is no fixed limit. The real limit is your device’s memory, because every file is held in the tab while it is merged. A few dozen ordinary documents is comfortable even on a phone. Hundreds of large scans may exhaust a modest device, and merging them in two or three passes works around that.

Can I merge a password-protected PDF?

No. An encrypted PDF cannot be read without its password, so it is skipped and named rather than quietly dropped. Open it in your PDF reader, save a copy without the password, then add that copy.

Why is the merged file as large as all the originals together?

Because nothing was thrown away. Merging copies the pages as they are, so the file sizes add up, plus a little structure. If the portal you are uploading to has a size limit, compress the merged file afterwards.

Does the merged file keep the original documents’ metadata?

No. The output is a new document, with no author, title, producer or creation date carried over from any of the sources. Metadata stored inside an embedded image is part of that image and is not touched, so strip that separately if it matters.

Related tools

Your files are processed on your device and are not uploaded. You can verify this in your browser’s developer tools under the Network tab.