How to Split a PDF: All Methods Compared 2026
When You Need to Split a PDF
PDF splitting is one of the most frequently needed document operations — and one of the most frequently done wrong (hello, copy-pasting page by page). Here are the most common reasons to split a PDF:
- A 50-page report where you only need pages 12–18 to share with a colleague
- A combined contract-and-exhibits PDF where each exhibit needs to go to a different party
- A scanned multi-page document where each page needs to be processed separately
- A bank statement where you need one month extracted from a 12-month combined PDF
- A book PDF where each chapter needs to be a separate file for distribution
The right method depends on how often you need to split, how technical you are, and how sensitive the document is.
Method 1: SynthPDF Split Tool (Online, Browser-Only)
The fastest option for most situations. Files never leave your device.
How to split:
- Go to SynthPDF Split PDF
- Upload your PDF (up to 25 MB free)
- Choose your split mode:
- Split all pages — every page becomes a separate PDF, downloaded as a ZIP
- Extract page range — enter "5-12" to get pages 5 through 12 as one PDF
- Select specific pages — click page thumbnails to pick non-consecutive pages
- Click Split
- Download your file(s)
Privacy note: Like the Merge tool, splitting runs entirely in your browser using PDF-lib. No data is sent to any server. This is ideal for financial statements, legal contracts, and medical records.
Free plan limits: Up to 25 MB per file. No page count limit.
Method 2: Adobe Acrobat (Desktop)
For complex splitting with precise control:
- Open Acrobat Pro and go to Tools > Organize Pages
- Click Split
- Choose: split by number of pages, file size, or bookmarks
- Set the output folder
- Click Output Options > Split
Unique capability: Acrobat can split a PDF by bookmarks (outline entries), which is useful for splitting long documents (books, manuals) into chapters without manually entering page ranges.
Cost: Acrobat Pro, $19.99/month.
Method 3: macOS Preview
For Mac users, Preview splits PDFs without any additional software:
Extract specific pages:
- Open the PDF in Preview
- Go to View > Thumbnails
- Select the pages you want to extract (Cmd+click for multiple)
- Drag those thumbnails to the Finder (desktop or folder)
- Preview creates a new PDF with just those pages
Split into individual pages:
- With thumbnails visible, select all pages (Cmd+A)
- Go to File > Export Selected Pages to PDF (if available in your version)
- Or drag each thumbnail individually to the Finder
Limitation: Exporting individual pages is tedious for large documents. For PDFs over 30 pages, an online tool is faster.
Method 4: Command Line with pdfnup / pdftotext / pdftk
Using pdftk (PDF Toolkit)
# Install on Ubuntu/Debian
sudo apt install pdftk
# Install on macOS via Homebrew
brew install pdftk-java
# Extract pages 5 through 12
pdftk input.pdf cat 5-12 output pages_5_to_12.pdf
# Extract specific non-consecutive pages (1, 4, 7, 10)
pdftk input.pdf cat 1 4 7 10 output selected_pages.pdf
# Split every page into its own file
pdftk input.pdf burst output page_%04d.pdf
Using Ghostscript
# Extract pages 5–12
gs -sDEVICE=pdfwrite -dNOPAUSE -dBATCH -dQUIET \
-dFirstPage=5 -dLastPage=12 \
-sOutputFile=pages_5_to_12.pdf input.pdf
Using poppler-utils (pdfnup / pdfseparate)
# Install
sudo apt install poppler-utils
# Split every page into separate files (page-1.pdf, page-2.pdf, ...)
pdfseparate input.pdf page-%d.pdf
# Extract a page range
pdfseparate -f 5 -l 12 input.pdf pages-%d.pdf
Method 5: Python (pypdf)
For automated workflows:
from pypdf import PdfWriter, PdfReader
def extract_page_range(input_path: str, output_path: str, start: int, end: int) -> None:
# start/end are 1-indexed, inclusive
reader = PdfReader(input_path)
writer = PdfWriter()
for page_num in range(start - 1, end):
writer.add_page(reader.pages[page_num])
with open(output_path, "wb") as f:
writer.write(f)
def split_all_pages(input_path: str, output_dir: str) -> list[str]:
# returns list of output paths
import os
reader = PdfReader(input_path)
output_paths = []
for i, page in enumerate(reader.pages, 1):
writer = PdfWriter()
writer.add_page(page)
out_path = os.path.join(output_dir, f"page_{i:04d}.pdf")
with open(out_path, "wb") as f:
writer.write(f)
output_paths.append(out_path)
return output_paths
# Usage
extract_page_range("report.pdf", "pages_5_to_12.pdf", 5, 12)
split_all_pages("multi_page.pdf", "./pages/")
Using PyMuPDF for faster splitting
import fitz # PyMuPDF
def split_pdf_range(input_path: str, output_path: str, start: int, end: int) -> None:
# start/end are 0-indexed, end is exclusive
doc = fitz.open(input_path)
new_doc = fitz.open()
new_doc.insert_pdf(doc, from_page=start, to_page=end - 1)
new_doc.save(output_path)
doc.close()
new_doc.close()
PyMuPDF is significantly faster than pypdf for large files due to its C++ core.
Split vs. Remove Pages — What's the Difference?
People often confuse these two operations:
Split extracts pages into a new document. The original file is unchanged. You get a new PDF containing only the pages you selected.
Remove Pages deletes pages from a copy of the original document and returns the remainder. Use our Remove Pages tool to delete specific pages and keep everything else.
Use case summary:
- "I want pages 5–12 as a separate file" → Split
- "I want the document without pages 5–12" → Remove Pages
Privacy Comparison by Method
| Method | Files Leave Your Device? | Notes |
|---|---|---|
| SynthPDF | No | Browser-only, PDF-lib |
| macOS Preview | No | Local processing |
| Command line (pdftk, gs) | No | Local processing |
| Python (pypdf, PyMuPDF) | No | Local processing |
| Adobe Acrobat | No | Local processing |
| Smallpdf online | Yes | Server upload |
| iLovePDF online | Yes | Server upload |
SynthPDF is the only online tool in this list that processes files in the browser. If you need a web interface (not command line) and cannot upload sensitive files, SynthPDF is the choice.
Feature Comparison
| Method | Extract Range | Select Pages | Split All | ZIP Download | Free |
|---|---|---|---|---|---|
| SynthPDF | ✓ | ✓ | ✓ | ✓ | ✓ |
| Acrobat | ✓ | ✓ | ✓ | ✗ | No ($20/mo) |
| Preview (Mac) | ✓ | ✓ | Manual | ✗ | ✓ |
| pdftk CLI | ✓ | ✓ | ✓ | ✗ | ✓ |
| pypdf Python | ✓ | ✓ | ✓ | ✓ with code | ✓ |
Which Method Should You Use?
Occasional use, privacy-sensitive documents: SynthPDF — browser-only, no upload, visual page selection
Mac with no extras: macOS Preview — built-in, drag and drop
Technical / automated workflow: pdftk or pypdf — fast, scriptable, zero cost
Large files needing bookmark-based splitting: Adobe Acrobat — the only GUI tool with this feature
High volume pipeline: PyMuPDF — fastest Python library for bulk splitting
Troubleshooting Common Split Issues
Encrypted/password-protected PDFs: Remove the password first with Unlock PDF, then split.
Pages come out rotated: Some PDFs store rotation metadata. Check Rotate PDF after splitting if orientation is wrong.
Split pages are larger than expected: Each split page retains all fonts embedded in the original PDF, even if only a few glyphs are used on that page. Run the output through Compress PDF to remove unused font data and reduce size.
Bookmarks/table of contents broken after split: PDF bookmarks (outline) reference pages by index. After splitting, page indices change. Bookmarks need to be reconstructed manually in Acrobat or using a PDF editing library.