Skip to content

Merge PDF Files on Windows Free (Offline)

Merge PDF files on Windows free and offline using WSL. Combine PDFs with pdfunite or qpdf, control the order, merge a whole folder — all local, nothing uploaded.

MGMCSA Guru Team June 17, 2026 3 min read
A WSL terminal merging several PDF files into one with pdfunite on Windows

You’ve got a cover letter, a CV, and two certificates as separate PDFs, and the application form wants a single file. The quickest-looking option is a “merge PDF” website — which means uploading your personal documents to a server you don’t control. For anything with your name, address, or signature on it, that’s not worth it.

WSL merges PDFs locally, for free and fully offline. pdfunite joins whole files in seconds, and qpdf steps in when you want to pull specific page ranges from each one. Nothing gets uploaded.

No WSL yet? See the WSL install guide.

Install the tools

pdfunite comes from poppler-utils; qpdf is its own package:

sudo apt update && sudo apt install -y poppler-utils qpdf

Quick check:

pdfunite -v
qpdf --version

Merge with pdfunite (the simple way)

List the input PDFs in order, then the output file last:

pdfunite cover.pdf cv.pdf certs.pdf application.pdf

That joins the first three into application.pdf. The order on the command line is the order of the pages — cover.pdf first, certs.pdf last.

Merge every PDF in a folder

To combine all PDFs in the current folder, mind the ordering — a glob sorts alphabetically:

pdfunite *.pdf merged.pdf

Because *.pdf would also try to include merged.pdf once it exists, write the output somewhere else or use a name that sorts safely. A cleaner approach is a subfolder:

mkdir -p out
pdfunite *.pdf out/merged.pdf

Check the order a glob will use first:

ls -1 *.pdf

If the sequence is wrong, zero-pad the filenames (01-intro.pdf, 02-body.pdf, 10-appendix.pdf) so alphabetical order matches page order.

Merge specific pages with qpdf

When you don’t want whole files — say pages 1–3 of one PDF and just page 2 of another — qpdf handles it:

qpdf --empty --pages first.pdf 1-3 second.pdf 2 -- combined.pdf
  • --empty starts from a blank document.
  • Each file.pdf range pair adds those pages.
  • -- marks the end of the page list, then the output filename.

To merge two whole files with qpdf instead of pdfunite:

qpdf --empty --pages a.pdf b.pdf -- merged.pdf

Merge commands at a glance

pdfunite a.pdf b.pdf out.pdf Join whole files, simplest option
pdfunite *.pdf out/merged.pdf Merge all PDFs in a folder
qpdf --empty --pages a.pdf b.pdf -- out.pdf Merge whole files with qpdf
qpdf --empty --pages a.pdf 1-3 -- out.pdf Merge only selected page ranges

Getting the order right every time

Page order trips people up more than anything else here. Two habits fix it for good:

  • Name files so they sort correctly: zero-pad numbers and the alphabetical glob order matches what you want.
  • List explicitly when in doubt: typing the filenames in sequence removes all ambiguity.

Wrapping up

Merging PDFs on Windows is a one-liner: pdfunite a.pdf b.pdf merged.pdf for whole files, or qpdf --empty --pages ... -- merged.pdf when you need specific page ranges. The only thing to watch is order, which follows the file list — so name files to sort cleanly or list them explicitly.

It’s free, lossless, and runs entirely in WSL, so your documents stay offline. To break a PDF back apart, see split a PDF into separate pages.

Frequently asked questions

What's the easiest way to merge PDFs from the command line?

pdfunite from poppler-utils is the simplest: list the input PDFs followed by the output name and it joins them in that order. qpdf is a good alternative when you also want to pick specific page ranges from each file.

How do I control the order pages appear in?

The merge order is exactly the order you list the files. If you use a wildcard like *.pdf, files are taken alphabetically, so zero-pad numbered filenames (01, 02, 10) or list them explicitly to get the sequence you want.

Does merging PDFs reduce their quality?

No. pdfunite and qpdf copy the pages as they are, so text, images, and formatting are preserved exactly. Merging only combines files; it doesn't re-encode or compress the content.

Are my PDFs uploaded to a server when merging this way?

No. pdfunite and qpdf run locally in WSL, so the files never leave your machine. That's the reason to merge offline rather than on a website when the documents are private.

Can I merge only some pages from each PDF?

Yes, with qpdf. Its --pages option lets you select page ranges from each input file and join just those into one output. pdfunite always merges whole files, so use qpdf when you need page-level control.

Sources & further reading

Official vendor documentation referenced while writing this guide.

MG

MCSA Guru Team

IT & Systems Administration

We are working IT pros and system administrators who spend our days in Windows Server, Microsoft 365, and the wider Microsoft stack. MCSA Guru is where we write down the fixes and walkthroughs we wish we had found the first time.

MCSA Guru provides independent, educational IT guidance. Microsoft, Windows, Windows Server, Microsoft 365, Exchange, and Microsoft Teams are trademarks of Microsoft Corporation; Docker is a trademark of Docker, Inc. MCSA Guru is not affiliated with or endorsed by Microsoft or Docker. Always test changes in a safe environment before applying them in production.

Related guides

Fixing something right now?

Jump straight into the guide library or search for the exact error or task you are dealing with.