Want to split PDF Linux documents without purchasing expensive software? Linux provides several free ways to divide PDF files, extract individual pages, and separate large documents into smaller PDFs using Terminal commands, open-source applications, Python libraries, and online tools.
Whether you use Ubuntu, Debian, Fedora, Linux Mint, or another Linux distribution, you can split PDF files with utilities such as pdfseparate, qpdf, pdftk, and PDFsam Basic.
For example, you may want to split a 100-page report into ten separate files, extract pages 5–10 from a document, or save each page of a scanned PDF as an individual file.
In this guide, you'll learn six practical methods for splitting PDFs on Linux, including working commands, graphical applications, batch processing, and troubleshooting.
If you prefer a browser-based solution without installing additional software, try the OneFileKit Split PDF tool.
Quick Answer: How to Split PDF Files on Linux
One of the easiest methods is to use pdfseparate, a command-line utility included in Poppler.
On Ubuntu or Debian, install the required package:
sudo apt update
sudo apt install poppler-utils
To extract every page from a PDF into a separate file:
pdfseparate input.pdf page-%d.pdf
For a five-page PDF, this creates:
page-1.pdfpage-2.pdfpage-3.pdfpage-4.pdfpage-5.pdf
To extract pages 3 through 7:
pdfseparate -f 3 -l 7 input.pdf page-%d.pdf
This creates separate PDFs for pages 3, 4, 5, 6, and 7.
Important: pdfseparate extracts pages individually. To combine a page range into one PDF, use qpdf, pdftk, or another compatible tool.
Why Split PDF Files on Linux?
PDF splitting helps users manage documents without recreating them.
1. Separate Large Documents
Divide reports, manuals, and books into smaller files.
2. Extract Important Pages
Save selected pages without sharing the entire original document.
3. Organize Invoices
Create individual PDFs from multi-page invoice collections.
4. Automate Document Processing
Use shell scripts to process PDF files automatically.
5. Prepare Email Attachments
Divide large documents into smaller sections when needed.
6. Manage Scanned Documents
Separate scanned forms, certificates, and records.
7. Build Backend Applications
Developers can integrate PDF splitting into automated workflows and document-management systems.
For everyday document processing, OneFileKit Split PDF provides a browser-based alternative.
Method 1: Split PDF Linux Files Using pdfseparate
pdfseparate is a command-line utility distributed with Poppler.
It extracts individual pages from PDF documents.
Step 1: Install Poppler Utilities
On Ubuntu or Debian:
sudo apt update
sudo apt install poppler-utils
On Fedora:
sudo dnf install poppler-utils
Step 2: Open Terminal
Navigate to the directory containing your PDF:
cd ~/Documents
Step 3: Split Every PDF Page
Run:
pdfseparate input.pdf page-%d.pdf
The %d placeholder is replaced with the page number.
Step 4: Extract a Page Range
To extract pages 5–10:
pdfseparate -f 5 -l 10 input.pdf page-%d.pdf
This produces six single-page PDF files.
Step 5: Extract One Page
To extract page four:
pdfseparate -f 4 -l 4 input.pdf page-%d.pdf
Step 6: Verify the Output
Use pdfinfo to inspect the source document:
pdfinfo input.pdf
Check the page count and open the resulting PDFs in a compatible viewer.
Advantages of pdfseparate
Free and open source.
Available through common Linux package managers.
Suitable for Terminal workflows.
Extracts individual pages.
Useful for shell automation.
Limitations
The utility produces separate single-page PDFs rather than combining arbitrary page ranges into one output.
For grouped-page splitting, consider qpdf.
Official reference: Poppler project.
Method 2: Split PDF Files on Linux Using qpdf
qpdf is an open-source PDF processing utility that supports page selection, splitting, merging, and document manipulation.
It is particularly useful when you need custom page ranges.
Step 1: Install qpdf
On Ubuntu or Debian:
sudo apt install qpdf
On Fedora:
sudo dnf install qpdf
Step 2: Split Every Page
Run:
qpdf --split-pages input.pdf output.pdf
qpdf creates numbered output files.
Step 3: Split Every Five Pages
qpdf --split-pages=5 input.pdf output.pdf
This divides the document into groups of up to five pages.
Step 4: Extract Pages 1–10
qpdf input.pdf --pages . 1-10 -- part-1.pdf
Step 5: Extract Pages 11–20
qpdf input.pdf --pages . 11-20 -- part-2.pdf
Step 6: Extract Non-Consecutive Pages
To save pages 2, 5, and 9 into one PDF:
qpdf input.pdf --pages . 2,5,9 -- selected-pages.pdf
Step 7: Verify the Results
Open the resulting documents and check their page counts.
Advantages of qpdf
Supports custom page ranges.
Can split every page.
Can split into equal-sized groups.
Useful for automation.
Works without a graphical interface.
Limitations
Requires Terminal knowledge.
Does not provide a built-in graphical editor.
Some document-level PDF features may change during processing.
Official reference: qpdf command-line documentation.
Method 3: Split PDF Files on Linux Using pdftk
PDFtk is another utility for manipulating PDF documents.
On supported Linux distributions, pdftk-java provides PDFtk-compatible commands.
Step 1: Install PDFtk
On Ubuntu or Debian, where available:
sudo apt install pdftk-java
Verify the installation:
pdftk --version
Step 2: Extract Pages 1–5
pdftk input.pdf cat 1-5 output part-1.pdf
Step 3: Extract Pages 6–10
pdftk input.pdf cat 6-10 output part-2.pdf
Step 4: Extract Selected Pages
pdftk input.pdf cat 2 5 9 output selected.pdf
This creates a PDF containing pages 2, 5, and 9.
Step 5: Split Every Page
pdftk input.pdf burst output page-%03d.pdf
This generates individual PDF pages using numbered filenames.
Step 6: Review the Output
Open the resulting PDFs and verify their contents.
Advantages of PDFtk
Supports custom page ranges.
Useful for extracting selected pages.
Supports individual-page splitting.
Can be integrated into shell scripts.
Limitations
Package availability differs between distributions.
Commands require Terminal knowledge.
Advanced PDF features may need additional verification.
Official project reference: PDFtk.
Method 4: Split PDF Linux Documents Using PDFsam Basic
PDFsam Basic is a free, open-source PDF application available for Linux, Windows, and macOS.
It provides a graphical interface for users who prefer not to work with Terminal commands.
Step 1: Download PDFsam Basic
Visit the official PDFsam Basic website.
Choose a compatible Linux installation package.
Step 2: Install the Application
Follow the installation instructions for your distribution.
Step 3: Open PDFsam Basic
Launch the application.
Step 4: Select Split
Choose the Split module.
Step 5: Add Your PDF
Select the PDF document you want to divide.
Step 6: Choose a Splitting Method
Depending on the supported version, options include:
Split after selected pages.
Split every page.
Split every N pages.
Split by bookmarks.
Split by approximate file size.
Step 7: Choose the Output Folder
Select where the resulting files should be saved.
Step 8: Run the Process
Click Run.
Step 9: Verify the PDFs
Open the resulting files and confirm their contents.
Advantages of PDFsam Basic
Free and open source.
Graphical interface.
Works offline.
Supports multiple splitting modes.
Useful for large reports and manuals.
Limitations
Requires installation.
Uses more system resources than simple command-line utilities.
Advanced PDF editing features are not all included in the Basic edition.
Official reference: PDFsam Basic.
Method 5: Split PDF Files on Linux Using Python
Python provides a flexible approach for developers who need automated PDF splitting.
One popular library is pypdf.
Step 1: Create a Python Environment
On systems with Python installed:
python3 -m venv pdf-env
source pdf-env/bin/activate
If the venv module is unavailable, install your distribution's corresponding Python virtual-environment package.
Step 2: Install pypdf
python -m pip install pypdf
Step 3: Create the Python Script
Create a file named split_pdf.py.
from pathlib import Path
from pypdf import PdfReader, PdfWriter
source = PdfReader("input.pdf")
output_dir = Path("split_output")
output_dir.mkdir(exist_ok=True)
for number, page in enumerate(source.pages, start=1):
writer = PdfWriter()
writer.add_page(page)
with open(output_dir / f"page-{number}.pdf", "wb") as file:
writer.write(file)
print("PDF splitting completed.")
Step 4: Run the Script
python split_pdf.py
Step 5: Review the Output
The script creates a separate PDF for every page.
Split Into Groups of 10 Pages
from pathlib import Path
from pypdf import PdfReader, PdfWriter
reader = PdfReader("input.pdf")
output_dir = Path("parts")
output_dir.mkdir(exist_ok=True)
pages_per_file = 10
for start in range(0, len(reader.pages), pages_per_file):
writer = PdfWriter()
end = min(start + pages_per_file, len(reader.pages))
for index in range(start, end):
writer.add_page(reader.pages[index])
part = start // pages_per_file + 1
with open(output_dir / f"part-{part}.pdf", "wb") as output:
writer.write(output)
This divides the document into files containing up to 10 pages each.
When Should You Use Python?
Python is useful for:
Batch PDF processing.
Document management systems.
Backend applications.
Automated invoice splitting.
Scheduled document workflows.
Custom page-selection logic.
For a more detailed programming guide, read Split PDF Python: How to Split PDF Files Easily.
Official reference: pypdf documentation.
Method 6: Split PDF Files Online on Linux Using OneFileKit
You don't need Terminal commands or desktop software to split PDFs on Linux.
The OneFileKit Split PDF tool provides a browser-based alternative.
Step 1: Open Your Browser
Launch Firefox, Chrome, Chromium, or another compatible browser.
Step 2: Visit OneFileKit
Open the OneFileKit Split PDF page.
Step 3: Upload Your PDF
Select the document you want to split.
The tool advertises support for uploads up to 100 MB and documents containing up to 2,000 pages, subject to its current configured limits.
Step 4: Choose a Splitting Mode
OneFileKit offers three main options.
Split by Page Range
Divide a PDF into multiple documents using selected ranges.
Extract Specific Pages
Select individual pages and save them into a new PDF.
Split Every Page
Create one PDF file for every page.
Step 5: Enter the Page Numbers
Specify the required page ranges or selected pages.
Step 6: Split the Document
Click Split PDF.
Step 7: Download Your Files
Download the resulting PDFs or ZIP archive where available.
Step 8: Verify the Output
Open the files and check their contents.
Why Use OneFileKit on Linux?
No desktop installation required.
Works through compatible browsers.
Supports page-range splitting.
Supports selected-page extraction.
Can create individual-page PDFs.
Useful for occasional document processing.
Best Linux PDF Splitting Tools Compared
Method | Interface | Offline | Best for |
|---|---|---|---|
pdfseparate | Terminal | Yes | Individual-page extraction |
qpdf | Terminal | Yes | Custom ranges and automation |
pdftk | Terminal | Yes | Page extraction and manipulation |
PDFsam Basic | Graphical | Yes | Advanced desktop splitting |
Python + pypdf | Code | Yes | Custom automated workflows |
OneFileKit | Browser | No | Quick online splitting |
Which Linux PDF Splitter Should You Choose?
Choose pdfseparate for simple individual-page extraction.
Choose qpdf for custom ranges and command-line automation.
Choose pdftk for page selection and document manipulation.
Choose PDFsam Basic for graphical PDF splitting.
Choose Python for application development and custom workflows.
Choose OneFileKit for browser-based splitting without installing desktop software.
How to Split a PDF Into Two Files on Linux
Suppose you have a 20-page PDF.
You want to create:
Output | Pages |
|---|---|
Part 1 | 1–10 |
Part 2 | 11–20 |
Using qpdf:
qpdf input.pdf --pages . 1-10 -- part-1.pdf
qpdf input.pdf --pages . 11-20 -- part-2.pdf
Alternatively, use OneFileKit's page-range splitting mode.
After splitting, verify that each file contains the correct pages.
How to Split PDF Files Every 10 Pages on Linux
You can divide a long document into equal-sized page groups.
For example, a 45-page PDF can become five documents.
Using qpdf:
qpdf --split-pages=10 input.pdf part.pdf
The output groups contain up to 10 pages each.
For a 45-page document, the final group contains five pages.
This is useful for reports, manuals, and archives.
How to Extract Specific PDF Pages on Linux
Suppose you need pages 3, 7, and 12 from a larger document.
Using qpdf:
qpdf input.pdf --pages . 3,7,12 -- selected.pdf
This creates one PDF containing those pages.
Using pdftk:
pdftk input.pdf cat 3 7 12 output selected.pdf
Both approaches are useful for selected-page extraction.
For a graphical workflow, use OneFileKit Extract PDF Pages.
How to Batch Split Multiple PDFs on Linux
Batch splitting is useful when you need to process several documents.
For example, a directory may contain:
invoice-01.pdfinvoice-02.pdfinvoice-03.pdf
You can automate splitting with a shell script.
Example Bash Script
#!/usr/bin/env bash
set -euo pipefail
mkdir -p split_output
for pdf in ./*.pdf; do
[ -f "$pdf" ] || continue
filename=$(basename "$pdf" .pdf)
mkdir -p "split_output/$filename"
pdfseparate \
"$pdf" \
"split_output/$filename/page-%d.pdf"
done
echo "Batch splitting completed."
Save the script as batch_split.sh.
Run:
bash batch_split.sh
Each input PDF receives its own output directory.
Best Practices
Validate input documents.
Use safe filenames.
Avoid overwriting existing output.
Handle password-protected PDFs appropriately.
Check available disk space.
Monitor processing failures.
Keep original documents.
For large-scale systems, add resource limits and error logging.
How to Split Password-Protected PDFs on Linux
Some PDFs are encrypted or protected by editing restrictions.
Whether they can be split depends on their security settings and the selected utility.
Recommended Workflow
Confirm you have permission to modify the document.
Open it with the correct password.
Check whether the splitting utility supports encrypted PDFs.
Process the authorized document.
Verify the resulting files.
Apply appropriate security settings to the output.
Do not assume the resulting PDFs automatically retain the original document's encryption.
Avoid placing sensitive passwords directly into shared shell scripts or command histories.
Does Splitting a PDF on Linux Reduce Quality?
Splitting a PDF generally aims to preserve the original page appearance.
Unlike converting PDF pages to JPG, splitting does not inherently require rendering text and graphics as images.
However, some advanced document features may change.
Check These Features
Text readability
Image clarity
Page dimensions
Page rotation
Bookmarks
Hyperlinks
Annotations
Form fields
Digital signatures
Splitting or modifying a digitally signed PDF can invalidate its signatures.
Always keep the original signed document.
Does Splitting a PDF Reduce File Size?
Splitting a PDF creates smaller documents containing fewer pages, but it does not necessarily compress the original content.
For example, dividing a 50 MB PDF into five files does not guarantee that the combined output size will be less than 50 MB.
Shared resources may be duplicated between output files.
Split PDF vs Compress PDF
Feature | Split PDF | Compress PDF |
|---|---|---|
Main purpose | Divide documents | Reduce file size |
Creates multiple files | Often | Usually no |
Removes pages from each output | Yes | No |
Optimizes images | Not necessarily | Often |
Best for | Organization | Storage and sharing |
If you want to reduce PDF file size without removing pages, use OneFileKit Compress PDF.
Common Linux PDF Splitting Errors and Fixes
1. Command Not Found
Problem: The utility is not installed.
Solution: Install the appropriate package and verify the executable is available.
2. Permission Denied
Problem: The current user cannot read the input or write the output.
Solution: Check file and directory permissions.
3. Invalid Page Range
Problem: The selected pages exceed the PDF's page count.
Solution: Check the document using pdfinfo or another PDF viewer.
4. Corrupted PDF
Problem: The PDF cannot be parsed.
Solution: Verify the source document and try a compatible repair workflow if appropriate.
5. Password-Protected PDF
Problem: The document requires authentication.
Solution: Use supported password-handling options when authorized.
6. Missing Output Files
Problem: The output path is incorrect or the destination directory does not exist.
Solution: Verify the destination path and create the directory before processing.
7. Insufficient Disk Space
Problem: The system cannot save the resulting PDFs.
Solution: Check available storage and free space if necessary.
8. Missing PDF Features
Problem: Some bookmarks, annotations, or interactive features are not preserved.
Solution: Review the output and consider a different PDF processing utility.
Is It Safe to Split PDF Files on Linux?
Local PDF splitting avoids uploading documents to an online service, but it does not automatically guarantee security.
PDF files may contain complex or malformed structures.
Security Recommendations
Install software from trusted sources.
Keep utilities updated.
Validate input documents.
Use appropriate file permissions.
Avoid running PDF processing tools with unnecessary administrator privileges.
Restrict resource usage when processing untrusted PDFs.
Protect temporary files.
Delete temporary data when no longer required.
For online processing, review the service's privacy and retention policies before uploading confidential documents.
Related OneFileKit Articles and Tools
Explore these five relevant resources:
OneFileKit Split PDF — Split PDF documents online without installing software.
Split PDF Python — Automate PDF splitting with Python libraries.
OneFileKit Merge PDF — Combine multiple PDF documents.
OneFileKit Extract PDF Pages — Save selected PDF pages.
OneFileKit Organize PDF — Rearrange and manage PDF pages.
Final Thoughts
Learning how to split PDF Linux documents gives you several ways to manage PDF files using free and open-source tools.
For extracting individual pages, pdfseparate is a convenient option.
For custom page ranges and automated splitting, qpdf provides additional flexibility.
PDFtk offers another command-line approach, while PDFsam Basic provides a graphical interface.
Developers can use Python to create custom PDF splitting workflows and integrate them into applications.
If you prefer a simple browser-based solution, visit the OneFileKit Split PDF tool.
Choose the splitting method that matches your requirements, keep the original document, and review the resulting files before sharing them.




