Merge PDF

Combine several PDFs into one file, in your chosen order — free, no watermark, no signup.

Files are merged in the order you select them. Up to 25 MB each.

The result downloads automatically when ready.

100% free No signup No watermark Processed in memory, never stored

How it works

  1. Select files. Choose two or more PDFs. They will be combined in the order you pick them.
  2. Merge. Press Merge PDFs and every page is copied into one document in memory.
  3. Download. The combined PDF downloads automatically — none of your files are stored.

About this tool

This tool joins several PDFs into a single document, in the exact order you select them. It copies every page across without re-rendering, so text stays selectable and the quality of each original page is preserved byte-for-byte. It's the fast way to turn a pile of separate files — a cover letter, a CV and a portfolio, say — into one clean PDF to send or print. There's no watermark and no account; the merged file is built in memory and handed straight back to you.

What people use it for

  • Bundle a cover letter, CV and references into one application PDF
  • Join scanned pages that came out as separate files
  • Combine monthly invoices into a single document for accounting
  • Merge chapters or sections before printing

Developer API

Automate this tool from your own code. Send a POST request to the endpoint below and get the same result the web tool produces. It is rate-limited per IP and needs no signup — API keys for higher limits are coming.

POST https://best.free/api/tools/merge-pdf/
Parameter Example Required Notes
files (file) file1.pdf Yes Repeat "files" for each PDF, in merge order.
curl -X POST https://best.free/api/tools/merge-pdf/ \
  -F 'files=@file1.pdf' \
  -F 'files=@file2.pdf' \
  -o merged.pdf
import requests

files = [("files", open(p, "rb")) for p in ["file1.pdf", "file2.pdf"]]

r = requests.post("https://best.free/api/tools/merge-pdf/", files=files)
with open("merged.pdf", "wb") as out:
    out.write(r.content)
const fd = new FormData();
for (const file of fileInput.files) fd.append("files", file);

const r = await fetch("https://best.free/api/tools/merge-pdf/", { method: "POST", body: fd });
const blob = await r.blob();  // the merged.pdf

Response: One merged PDF (application/pdf).

Frequently asked questions

As many as you like in a single run, as long as each file is under 25 MB. They are combined in the order you select them.

Yes. Pages appear in the order you choose the files in, so select them in the sequence you want the final document to read.

No. Pages are copied across as-is, not re-rendered, so text stays selectable and image quality is untouched.

No. The output is purely your combined pages — nothing is added to any page.

No signup, no email, no payment. A free hourly limit applies per IP address.

No. All files are merged in memory and discarded the instant the combined PDF is returned.

This tool takes PDFs. To turn images into a PDF first, or a PDF into images, use the image and PDF-to-JPG tools.

Yes. POST your file as multipart/form-data to /api/tools/merge-pdf/ and the processed file streams straight back — the same engine the web tool uses, so results are identical. It is rate-limited per IP like the web version and needs no signup; API keys for higher limits are coming. See the API section above for ready-to-run curl, Python and JavaScript examples.