Skip to main content
Back to Blog
PDF Tools·Mal Simon·13 min read

Split PDF Linux: How to Split PDF Files in Linux

Learn how to split PDF files on Linux using 6 free methods, including pdfseparate, qpdf, PDFtk, PDFsam Basic, Python, and OneFileKit. Follow easy steps to extract pages, divide PDFs, and automate PDF splitting on Ubuntu, Debian, and Fedora.

Split PDF Linux guide showing pdfseparate, qpdf, pdftk, PDFsam Basic, Python and OneFileKit methods in a Linux terminal

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.pdf

  • page-2.pdf

  • page-3.pdf

  • page-4.pdf

  • page-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.

Split PDF Online for Free

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.pdf

  • invoice-02.pdf

  • invoice-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.

  1. Confirm you have permission to modify the document.

  2. Open it with the correct password.

  3. Check whether the splitting utility supports encrypted PDFs.

  4. Process the authorized document.

  5. Verify the resulting files.

  6. 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.

Explore these five relevant resources:

  1. OneFileKit Split PDF — Split PDF documents online without installing software.

  2. Split PDF Python — Automate PDF splitting with Python libraries.

  3. OneFileKit Merge PDF — Combine multiple PDF documents.

  4. OneFileKit Extract PDF Pages — Save selected PDF pages.

  5. 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.

Frequently Asked Questions

How do I split PDF files on Linux?

You can use `pdfseparate`, `qpdf`, `pdftk`, PDFsam Basic, Python, or an online PDF splitter such as OneFileKit.

How do I split a PDF into individual pages on Ubuntu?

Install `poppler-utils` and run `pdfseparate input.pdf page-%d.pdf`.

What is the best Linux command to split PDFs?

It depends on your task. `pdfseparate` is useful for individual pages, while `qpdf` supports custom page ranges and groups.

Can I split a PDF on Linux without Terminal?

Yes. PDFsam Basic provides a graphical interface, and OneFileKit offers browser-based PDF splitting.

How do I split a PDF every 10 pages using Linux?

Use `qpdf --split-pages=10 input.pdf output.pdf`.

Can I extract selected PDF pages on Linux?

Yes. qpdf and pdftk support selecting specific pages and saving them into a new PDF.

Is PDFsam Basic free for Linux?

Yes. PDFsam Basic is a free, open-source application available for supported Linux systems.

Can Python split PDFs on Linux?

Yes. Libraries such as pypdf support page extraction, custom ranges, and automated PDF splitting.

Does splitting a PDF reduce image quality?

Splitting generally preserves page appearance because it does not inherently require rasterizing the document.

Can I split PDF files online on Ubuntu?

Yes. Open OneFileKit Split PDF in a compatible browser, upload the document, select the splitting mode, and download the resulting PDFs.

  • #Split PDF
  • #Linux
  • #Ubuntu
  • #Debian
  • #Fedora
  • #qpdf
  • #pdfseparate
  • #PDFtk
  • #PDFsam Basic
  • #Linux PDF Tools
  • #PDF Tutorial

Stay Updated

Get the latest tips, guides and tool updates directly in your inbox.