Merge PDF
runs in your browserCombine PDFs into one on your device: drag files into order, pick page ranges such as 1-3, 7-, see first-page thumbnails, and download the merged file.
Drop files here, or .
Two or more PDFs, in any order — you can rearrange them below. Merged in your browser; nothing is uploaded.
Add PDFs to merge.
about this tool
Merging without uploading
Drop two or more PDFs. Each is opened by pdf-lib in your browser to count its pages, and pdf.js draws a first-page thumbnail so you can tell the files apart; both libraries, and pdf.js's worker and decoders, are served from this site. Drag rows to reorder them or use the arrows, choose the pages you want from each, name the output, and merge. The pages are copied into a new document — content, fonts, images and page-level annotations such as links come with them — and the result downloads at once. Nothing is uploaded, so there is no size limit other than your device's memory.
Page ranges
The field beside each file takes the notation people use: empty or all;
single pages; 1-3; 7- to the end; -3 from the start; odd, even,
first, last; any of these separated by commas. A reversed range such as
5-2 reverses those pages, and a repeated page is copied twice — both on
purpose. The selected count updates as you type, and a range that points
outside the file, or is not a page at all, is flagged under the row with the
reason; the merge button stays off until every file is in order.
What is kept and what is not
Copying pages between documents carries the page's own resources: its content stream, fonts, images, colour spaces and annotations. Document-level structures do not come along — bookmarks (the outline), form fields, embedded files and JavaScript — because they belong to the source document, not to a page. Metadata on the output is minimal: an optional title you type, and the producer set to this site. Encrypted PDFs are recognised and refused, since their pages cannot be copied without the password.
Limits
Everything happens in memory, so very large batches are bounded by the device. Thumbnails need pdf.js's worker, about a megabyte fetched once from this site; if a thumbnail cannot be drawn (an unusual font or encoding) the row shows a placeholder and the merge still works, since pdf.js is not involved in it. Nothing is stored between visits.
To take a document apart instead, use split PDF; to shuffle, rotate or drop pages within one file, organize PDF does it from a thumbnail grid.
questions
- Are my PDFs uploaded?
- No. The files are opened, the pages copied and the new PDF written by pdf-lib running in your browser; the thumbnails are drawn by pdf.js, also in your browser, from files served by this site. Nothing leaves the page, which is why there is no size limit beyond your device’s memory and why the tool works offline once loaded.
- Can I take only some pages from a file?
- Yes. Each file has a page-range field: leave it empty for every page, or write 1-3, 7-, odd, even, first or last, separated by commas. A reversed range such as 5-2 puts those pages in reverse. The count updates as you type and a range that does not fit the file is flagged with the reason.
- What happens to bookmarks, forms and links?
- Pages are copied with their content, fonts, images and annotations such as links. Bookmarks (the outline) and interactive form fields are not carried across, because they belong to the document rather than to a page — this is a limitation of copying pages between documents.
- Why does it say a file is encrypted?
- A password-protected PDF cannot have its pages copied without the password, and this tool does not ask for one. Open the file in a viewer that has the password, save an unprotected copy, and merge that.
- How large a merge can it handle?
- Everything is held in memory while merging, so a few hundred megabytes of PDF is fine on a laptop and less on a phone. The output uses object streams, which keeps it compact; it will be roughly the size of its inputs since page content is copied, not recompressed.