How to Merge PDF Files for Free: 6 Easy Methods
Combine multiple PDF documents into one file using free online tools, desktop apps, and Python scripts — no Adobe Acrobat Pro required.
AltoUnlockPDF Team
PDF Tools Expert
Merging PDFs is one of the most common document tasks — combining a cover letter with a resume, assembling a multi-section report, or joining separately scanned pages into one file. All of these methods are completely free.
Method 1: AltoUnlockPDF Merge Tool (Free Online)
Our PDF Merge tool is the easiest option:
- Upload all PDF files you want to combine (up to 20 files)
- Drag to reorder them as needed
- Click Merge PDFs
- Download the combined file
No signup, no watermarks, no daily limits on standard files.
Method 2: Mac Preview (Built-In, No Software Needed)
Mac Preview is surprisingly powerful for PDF management:
- Open the first PDF in Preview
- Show Thumbnails panel: View → Thumbnails
- Drag the second PDF file from Finder into the thumbnails panel, at the position where you want to insert it
- Repeat for all additional PDFs
- File → Export as PDF to save the merged file
Important: Don’t use File → Save — this modifies the original file. Always use Export.
To reorder pages: drag thumbnails up or down in the sidebar.
Method 3: Windows — PDF Merger Apps
Windows doesn’t have a built-in PDF merge tool, but these free options work:
PDF24 Creator (free desktop app):
- Download PDF24 Creator
- Open the PDF24 Toolbox
- Use the Merge PDF tool
- Add files, set order, merge
PDFsam Basic (open source):
- Download PDFsam
- Select “Merge/Extract” operation
- Add PDF files, set page ranges
- Run
Method 4: Python — pypdf
import pypdf
def merge_pdfs(input_files, output_file):
"""Merge multiple PDFs into a single file."""
merger = pypdf.PdfMerger()
for pdf in input_files:
merger.append(pdf)
merger.write(output_file)
merger.close()
print(f"Merged {len(input_files)} PDFs into {output_file}")
# Merge specific files in order
merge_pdfs(
input_files=['cover_letter.pdf', 'resume.pdf', 'portfolio.pdf'],
output_file='application.pdf'
)
# Merge all PDFs in a folder (alphabetical order)
import os
from pathlib import Path
pdf_folder = Path('./reports')
pdf_files = sorted(pdf_folder.glob('*.pdf'))
merge_pdfs([str(f) for f in pdf_files], 'combined_report.pdf')
pip install pypdf
Method 5: PDFtk (Command Line)
PDFtk is a classic command-line PDF toolkit:
# macOS
brew install pdftk-java
# Merge PDFs
pdftk file1.pdf file2.pdf file3.pdf cat output merged.pdf
# Merge specific pages
pdftk A=first.pdf B=second.pdf cat A1-3 B2-5 output subset.pdf
# Merge all PDFs in a folder
pdftk *.pdf cat output merged.pdf
PDFtk is especially useful when you need to select specific page ranges from each document before merging.
Method 6: Google Drive (No Software)
For quick one-off merges using Google Drive:
- Upload all PDFs to Google Drive
- Install the PDF Merge add-on from Google Workspace Marketplace
- Select multiple PDFs → right-click → Merge PDFs
Or: Open both PDFs in Google Docs, then File → Download as PDF.
Merging PDFs with Different Page Sizes
When combining PDFs with mixed page sizes (A4 and Letter, portrait and landscape):
Our tool and Preview normalize page sizes automatically. With Ghostscript:
# Normalize all to A4 during merge
gs -dNOPAUSE -dBATCH -sDEVICE=pdfwrite \
-dCompatibilityLevel=1.4 \
-sPAPERSIZE=a4 -dFIXEDMEDIA \
-sOutputFile=merged.pdf \
file1.pdf file2.pdf file3.pdf
Preserving Bookmarks and Links
Some methods strip bookmarks (table of contents entries) and hyperlinks during merge. To preserve them:
- pypdf preserves internal links by default
- PDFtk preserves bookmarks
- Some online tools strip everything — test with a sample before processing important documents
For documents with complex bookmarks (like merged reports), Python’s pypdf gives you programmatic control:
import pypdf
merger = pypdf.PdfMerger()
# Append with bookmark for each section
merger.append('chapter1.pdf', bookmark='Chapter 1: Introduction')
merger.append('chapter2.pdf', bookmark='Chapter 2: Methods')
merger.append('chapter3.pdf', bookmark='Chapter 3: Results')
merger.write('full_report.pdf')
The pypdf documentation covers all these options in detail.
Related Articles
How to Fill Out a PDF Form Online for Free (No Adobe Required)
Fill, sign, and save interactive PDF forms using free online tools — no Adobe Acrobat Pro or special software needed.
Read Article
How to Add a Watermark to a PDF for Free
Add text or image watermarks to PDF documents using free online tools, Python, and desktop software — for branding, drafts, and confidentiality.
Read Article
PDF vs Word: Which Format Should You Use and When?
A practical guide to choosing between PDF and Word (DOCX) — covering editing, sharing, printing, archiving, and professional use cases.
Read Article