PDF Splitter

Share:

Split a PDF into separate files, or extract just the pages you want — 100% in your browser, no uploads.

RT-IMG-011 · Image & File
Your browser is too old for this tool’s interactive features. Please update to Safari 13.1, Chrome or Edge 80, Firefox 74 or newer.

PDF Splitter

No PDF loaded yet.
💡 Page numbers start at 1. Pages in the output appear in the order you list them — useful for reordering as you extract.
Drop a PDF to begin.
📅 Research current as of 13 Sep 2026 · Sources: ISO 32000-2:2020 (PDF 2.0) page tree, pdf-lib 1.17.1
Standards, published formulas, and reference data are revised over time — check against a current authoritative source before relying on these figures.
🔒 PDFs stay on your device. Splitting happens entirely in your browser using pdf-lib 1.17.1, served from this domain. Nothing is uploaded — verify in DevTools → Network.
Advertisement
After results · AD-W1 Responsive · Post-tool — peak engagement

How to split a PDF

Add your PDF

Drag your file onto the dropzone or click to choose. The tool shows the file name, page count, and size once loaded — that's how you confirm it parsed correctly.

Pick a mode

Every page is the simplest — one PDF per page, no input needed. By ranges creates a separate PDF for each comma-separated range. Extract bundles only the pages you list into a single output PDF.

Enter your range (if needed)

Use a hyphen for a range (3-7), a comma to separate ranges or individual pages (1-5, 8, 10-12). Pages are 1-indexed — first page is page 1, not page 0.

Click Split and download

For "every page" and "by range" mode, your browser saves each output file separately — it may ask for permission to download multiple files the first time. For "extract", a single PDF lands in your downloads folder.

Advertisement
After how-to · AD-W2 Responsive

PDF splitting — small operation, big privacy implications

Splitting a PDF sounds like the simplest possible file operation: take a document, slice it, save the pieces. In practice, each output is a new document: pdf-lib creates an empty file, copies the selected page objects into it with everything they reference, writes a fresh cross-reference table, and copies a font or image shared by two kept pages only once. That is also why an output holding half the pages is rarely half the size — a font used on every page comes along in full however few pages you keep.

Why the "upload, then download" model is the wrong design

The dominant online PDF splitting tools follow a predictable pattern: upload your file, wait for a progress bar, pick your pages, click split, then download. Every step in that sequence means your PDF lives on someone else's server for some period of time, and the underlying problem isn't how long — it's that the file needed to leave your device at all. A 525 KB JavaScript library (pdf-lib 1.17.1) does everything those servers do for this task, locally, in your browser tab. The reason most online tools don't work that way is business model, not technology.

Splitting a PDF should never require uploading it. The PDF spec is a public ISO standard, the libraries are open source, and the operation runs comfortably on any device fast enough to display the PDF in the first place.

What this tool does — and what it doesn't

This splitter handles every-page splitting, comma-separated range splitting, and single-output page extraction. Each output is a new document, so page-level content travels and document-level structure does not: text, fonts, images and the link annotations on each page are preserved (links to pages left behind go dead); bookmarks are not copied; form fields keep their appearance but the AcroForm dictionary that makes them fillable is not copied; the source's Title and Author are not copied, and the output's Producer reads "RECATOOLS PDF Splitter". Ranges are clamped to the document — "1-500" on a 20-page file means 1-20, and a page listed twice in Extract mode is included once. What it does not do: split by bookmark structure, by file size or by content, or open encrypted files (see the FAQ). For bookmark-aware splitting, a desktop tool such as PDFsam is the right choice.

Order is yours, bookmarks are not, and the file will not halve

01

A PDF is structured around an object graph plus a cross-reference table. Splitting re-builds that table from scratch — it's why the file size doesn't drop linearly with page count.

02

Fonts and images that are shared across multiple kept pages are deduplicated in the output. That's why removing half the pages often shrinks the file by less than half.

03

The PDF spec allows pages to be numbered in any sequence — but our splitter outputs pages in the exact order you list them, which doubles as a reordering tool.

04

Hyperlinks INSIDE each output PDF are preserved by pdf-lib's page-copy mechanism. Hyperlinks pointing to dropped pages become dead links — that's a limitation of the file format, not the tool.

05

"Every page" on an N-page file triggers N separate downloads in sequence, named -page-001, -page-002… with zero-padding to the page count. Chrome and Edge ask once for permission to download multiple files.

06

Form fields keep their drawn appearance, values included, but the AcroForm dictionary that defines them is document-level and is not copied by copyPages() — in the output they are pictures of fields, no longer fillable.

07

Bookmarks (the outline sidebar in Acrobat) are a document-level tree, not part of any page, so no output produced here has one.

08

Encrypted PDFs — including "restriction-only" files with an owner password — are not supported: pdf-lib 1.17.1 cannot decrypt, so pages copied from one typically come out blank or garbled. Remove the encryption first.

09

PDF 1.7 became ISO 32000-1 in 2008; PDF 2.0 is ISO 32000-2, first published in 2017 and revised in 2020. The page tree this tool walks (§7.7.3) is unchanged between them.

10

Split-then-merge is lossless for page content but never byte-identical: pdf-lib re-serialises objects, renumbers them and writes new cross-reference tables, so the merged file has the same pages and different bytes.

FAQ

  • No. The pdf-lib library runs entirely in your browser. Your PDF is read into memory, split in memory, and saved straight back to your downloads folder. Open DevTools → Network and watch when you click Split — there is zero outbound traffic.

  • Soft limit only — your browser's memory. The whole file is read into memory once and parsed again for each split, so a very large file costs roughly twice its size in RAM; desktop browsers have plenty, phones less. If the tab becomes unresponsive, split in smaller ranges.

  • Use a hyphen for a range (1-5), and commas to separate ranges or single pages (1-5, 8, 10-12). For "by range" mode, each comma-separated chunk becomes its own output file. For "extract" mode, all listed pages collapse into one output.

  • Chrome and Edge ask the first time a page tries to download multiple files in quick succession — click "Allow" on the prompt, or allow automatic downloads for this site in the browser's site settings. If a browser saves only one file, that permission is the usual cause; "Extract" mode always produces a single file and avoids the prompt entirely.

  • Yes — in Extract mode. Type 5,1,3 to produce a single PDF where page 5 of the input appears first, then page 1, then page 3. The output respects the exact order you list.

  • No — not even a restriction-only (owner-password) file, whose content streams are still encrypted. pdf-lib 1.17.1 does not support encrypted PDFs; the tool now refuses one at load (it used to accept it without complaint), because pdf-lib's documentation warns that the result "may fail, or have unexpected results", and pages copied out of an encrypted file typically render blank. Remove the encryption first (Acrobat, macOS Preview export, or qpdf --decrypt), then split here.

  • Partly. Form fields keep their appearance and visible values, but the document-level AcroForm dictionary is not copied, so they are no longer fillable. Bookmarks are not preserved — the outputs have no outline. Link annotations on each page are preserved; links pointing to dropped pages become dead.

  • The output PDF's Producer is set to "RECATOOLS PDF Splitter". Creation date is now. Source metadata (Author, Title) is NOT copied — useful if you want a metadata-clean output. Edit the result in Acrobat to add custom metadata if needed.

  • Because the kept pages share fonts, images, and embedded resources with the dropped pages. Removing half the pages might only shrink the file by 20% if the shared resources (large fonts, hi-res images) appear on the kept pages. Our PDF Compressor is the right answer for "I need a smaller file" — splitting is not a compression technique.

  • Yes on iOS Safari and Chrome on Android. Use the file picker (drag-and-drop is desktop-only). For "Every page" mode on a long PDF, your browser may serialise the downloads — let it finish each file before tapping anything else.

Method & sources

How it computes

Parses a 1-based page-range string ("1-5, 8, 10-12"; ranges clamped to the document, reversed ranges accepted, duplicates dropped in Extract mode) and, for each output, creates a new document with pdf-lib 1.17.1 — PDFDocument.create(), copyPages(source, indexes), addPage() — then saves it as {name}-page-NNN.pdf, {name}-part-N-pages-A-B.pdf or {name}-extract.pdf. Three modes: one file per page, one file per comma-separated range, or a single file of the listed pages in the listed order.

What this tool implements

  • Pages are copied as page-tree leaves (ISO 32000-2 §7.7.3) with everything they reference except Parent; a resource shared by two kept pages is written once per output.
  • Extract mode preserves the order typed — '5,1,3' yields page 5 first — which is why the page describes it as a reordering shortcut.
  • Ranges are clamped, not rejected: '1-500' on a 20-page file means 1-20; a reversed range '7-3' means 3-7; a page listed twice is included once in Extract mode.
  • Encrypted input is not supported: ignoreEncryption:true lets the file load, but pdf-lib's documentation says it does not decrypt and results 'may fail, or have unexpected results' — the page says so instead of claiming restriction-only files work.
  • Outputs carry no bookmarks and no interactive AcroForm (appearance only); the source Info dictionary is not copied and Producer is set to 'RECATOOLS PDF Splitter' with the creation date at save time.
  • 'Every page' mode issues one download per page, zero-padded to the page count; browsers may ask once for permission to download multiple files.

Sources

What can make this go out of date

  • none at runtime — pdf-lib is a vendored copy byte-identical to the audited npm package.

Abridged — the full review record for this tool runs longer than the list above.

Advertisement
Pre-footer · AD-W3 728 × 90