Skip to main content

PDF Splitter — Extract Pages, Split by Range or by File Size, 100% Local

PDF splitter — extract pages or split by range, every page becomes a PDF, 100% client-side with pdf-lib.

  • Runs locally
  • Category PDF & Document
  • Best for Checking page size, metadata, ordering, or packaging before a PDF is sent.
📄
Drop a PDF here, or browse
One PDF at a time · processed in your browser, never uploaded
Split mode

100% local. The PDF never leaves your browser.

What this tool does

A free, fully in-browser PDF splitter. Drop a single PDF, see the page count, and pick how to split it: one PDF per page, by page-range syntax (`1-3, 5, 7-9` — Acrobat-style, 1-indexed, ranges and single pages mixed freely), or by target file size in megabytes (the tool greedily groups pages until each chunk fits under the limit). Output is bundled into a single zip and downloaded — one PDF per chunk, named with the original stem plus the page range (`report-p1-3.pdf`, `report-p5.pdf`, etc.). Everything runs on top of pdf-lib inside your tab — no server upload, no API key, no analytics call, no watermark on the output. Encrypted PDFs are loaded with the `ignoreEncryption` flag where the spec allows, and the output is saved without object streams so the resulting PDFs open cleanly in old Adobe Reader, Preview, and pdf.js. Use it to peel individual contracts out of a long signed bundle, to split a scanned book into chapter PDFs, or to break an oversized export down to a size your client's email gateway will actually accept.

Tool details

Input
Files + Numbers
The page exposes text boxes, numeric controls, file pickers, or structured inputs depending on the tool.
Output
Live result + Copy + Download
The result area focuses on usable output, with copy, download, or preview actions when supported.
Privacy
Browser-side processing
The main tool logic does not call an external API, so inputs normally stay in the current tab.
Save / share
No account required
Open the page and use it; whether results survive refresh depends on the tool.
Performance budget
Initial JS <= 180 KB
No WASM budget is declared, keeping the tool quick to open on mobile.
Best fit
PDF & Document · Content Creator
Category and role tags drive related tools, internal links, and quick fit checks.

How to use

  1. 1. Input

    Paste or drop your content into the tool panel.

  2. 2. Process

    Click the button. All processing is local in your browser.

  3. 3. Copy / Download

    Copy the result or download to disk in one click.

How PDF Splitter fits into your work

Use it before document handoff, archive, upload, or support review, especially when the PDF will leave your own device.

Document jobs

  • Checking page size, metadata, ordering, or packaging before a PDF is sent.
  • Preparing a clean document set for upload portals, clients, or internal review.
  • Catching obvious document issues without opening a heavy editor.

Document checks

  • Look for hidden metadata, unexpected page sizes, and password protection.
  • Confirm page order before merging or splitting a file.
  • Keep the source PDF until the new output opens correctly.

Good next steps

These links move the current task into a more complete workflow.

  1. 1 Image Resizer Image resizer — resize JPG/PNG/WebP by pixels/%/preset, fully client-side, no upload. Open
  2. 2 PDF Merger PDF merger — combine multiple PDFs into one, drag to reorder pages, 100% client-side with pdf-lib. Open
  3. 3 Base64 Image Converter Image ⇄ Base64 — drag-drop PNG/JPG/WebP/SVG, get data URI for CSS / HTML / Markdown. Open

Real-world use cases

  • Pull one page out of a 60-page signed contract bundle

    Legal sent you `master-agreement-2026.pdf`, 62 pages of signatures, exhibits, and schedules. The client only needs page 38 — the indemnity rider — so they can send it to their insurer. Drop the PDF in, switch to "By page range", type `38`, hit split. You get `master-agreement-2026-p38.pdf` downloaded straight to your machine in under a second. No uploading the whole signed contract to a random web tool, no scanning-printing-scanning to "extract" the page, no asking legal to re-export. The page comes out byte-for-byte identical to what was signed, just standing alone.

  • Split a scanned book into one PDF per chapter for Kindle

    You scanned an 800-page out-of-print reference book on the office Canon (350 MB output). You want one PDF per chapter so it shows up as separate items in your Kindle library and you can read chapter 7 without scrolling past six chapters of introduction. Open the table of contents, note the page ranges (`1-22, 23-58, 59-94, ...`), paste them comma-separated into "By page range", hit split. The tool emits a zip of 18 chapter PDFs, each named with its page range, ready to side-load to a reader app. The 350 MB file never leaves your laptop, which matters because your IT policy bans uploading scanned company-owned material to consumer cloud tools.

  • Extract just the tax-deductible pages from a year of receipts

    Your accountant asked for "only the business-meal receipts" from a 240-page year-end expense bundle. You've already tagged the pages mentally (`4-7, 19, 28-31, 44, 67-70, 89, 102-105, ...`). Type the whole comma-separated range into the tool — it tolerates wide ranges, missing pages, single-page picks, all mixed. One click, one zip back with each range as its own labelled PDF. You forward the zip to your accountant; they import each chunk into their bookkeeping system as a separate document with a clean page-range filename, no manual splitting on their end.

  • Carve a 40-page board report into per-recipient packets

    The quarterly board pack has a finance section (pages 1-12) the CFO presents, an ops section (13-25) the COO presents, a product section (26-34) you present, and an appendix (35-40) shared with everyone. Instead of mailing the whole 40-page PDF to four people who only care about their own twelve pages, run three splits: `1-12,35-40` for the CFO, `13-25,35-40` for the COO, `26-34,35-40` for yourself. Three zips, each with two PDFs (their section + the shared appendix). Less to scroll past in the meeting, less risk of someone pre-reading a section they shouldn't.

  • Archive an e-signed contract one page at a time for the records system

    Your document management system (SharePoint / Notion / Confluence) is set up to store one PDF per contract page for fine-grained access control — finance can see the payment terms page, legal sees the indemnity page, sales sees only the cover. Drop the 24-page e-signed contract in, switch to "One PDF per page", hit split. You get a zip of 24 single-page PDFs, named `contract-p1.pdf` through `contract-p24.pdf`, ready to bulk-import into the records system with their page numbers preserved in the filename. One drag, one zip, instead of opening Acrobat 24 times.

Common pitfalls

  • Mixing 1-indexed and 0-indexed page numbers. The tool follows Acrobat convention — page 1 is the cover. If you write `0-3` thinking it means "first four pages", the `0` is silently dropped and you get pages 1-3 instead. Trying to "skip page 1" should be written `2-`; writing `1-` includes page 1.

  • Splitting a password-protected PDF, then discovering the chunks still won't open elsewhere. The tool reads PDFs with `ignoreEncryption` so it can parse owner-locked files, but if the document uses true user-password encryption the output PDFs inherit the unreadable state. Decrypt with `qpdf --password=…` first, then split.

  • Trusting filename order alone to reassemble the original. Output names like `report-p1-3.pdf` and `report-p10-12.pdf` sort lexically as `p1-3` before `p10-12` only if your file manager does natural sort. Many systems put `p10-12` before `p2-4`. Either zero-pad your source ranges (`p001-003`) or use the PDF Merger tool which re-orders by intent, not filename.

Privacy

Everything runs in your browser as plain JavaScript on top of pdf-lib: `File.arrayBuffer()` reads the bytes, pdf-lib copies the pages you asked for into new documents, an inline zip writer bundles them, one download fires. The PDF, its embedded text, images, and signatures never touch our servers, because we do not run a server that could receive a PDF. One caveat: pdf-lib carries over the source document's information dictionary (creator software, modification timestamp, sometimes the author name) onto each output chunk. If that's sensitive, run `qpdf --linearize` with a metadata cleaner afterwards. The split itself adds nothing.

FAQ

Tool combos

Folks in your role tend to reach for these alongside this tool.

Made by Toolora · 100% client-side · Updated 2026-05-29