What this tool does
This splitter takes a single PDF and pulls out exactly the pages you ask for, as new files. Drop a PDF, type one or more ranges (1-3, 5, 7-9), and decide whether each range becomes its own download or whether the lot collapses into one combined output. There is no upload step: the source PDF is read into memory, dissected with pdf-lib, and the resulting files are saved through the normal browser download flow. TaskKit never sees the file.
When you'd use it
- Pulling a single chapter or section out of a long PDF book or report so the recipient doesn't get the whole tome.
- Separating a multi-up scan (one PDF holding several documents) into one PDF per document.
- Carving an invoice or contract out of a combined month-end packet for archiving or forwarding.
- Producing a redacted handout by selecting only the pages safe to share.
- Splitting a large submission to fit under an upload size cap on a portal that does not accept your full PDF.
How it works
The ranges field accepts comma-separated entries. Each entry is either a single page (5) or a hyphenated range (7-9); whitespace around commas and hyphens is ignored. The parser validates every entry against the source's page count before any output is built — invalid syntax or out-of-range values surface as a single readable error rather than a half-written file.
For each range, a fresh PDFDocument is created and the matching pages are pulled across with copyPages, which preserves embedded fonts, images, annotations, and form fields. The result is serialised with save() and downloaded with a generated name like source-pages-1-3.pdf or source-page-5.pdf. Because Chrome will sometimes block a tab that fires too many download events at once, downloads are spaced ~150 ms apart so the queue is always honoured.
With Combine all ranges into one PDF turned on, the same selection is concatenated into a single output (source-extracted.pdf). The ordering follows the order of ranges you typed, not the original page order — so 5, 1-3 produces a PDF starting with page 5.
Notes
Are encrypted PDFs supported? Partially. Standard "open password" PDFs usually load (pdf-lib is permissive); content-encrypted or DRM-protected PDFs may fail to parse. If the file fails to load, the panel surfaces an error and nothing is written.
Why are downloads spaced apart? Browsers heuristically suppress tabs that issue many sequential downloads, treating it as drive-by behaviour. A small setTimeout gap between each a.click() keeps the burst under the threshold while still feeling instantaneous to a human.
Are page references preserved? Internal links that point inside the kept range continue to work. Links that target a page that didn't make the cut become dead anchors — pdf-lib does not invent a substitute. The same applies to the table-of-contents outline, which is regenerated only for surviving pages.
Can I reorder pages? Yes — the output follows the order of the ranges you list. 5, 1-3, 7 produces an output that starts on page 5, then 1, 2, 3, and ends on page 7. This is the easiest way to use the splitter as a quick page-reorder tool when combined with the "single PDF" toggle.
Related tools
- PDF Merger — combine PDFs the other direction
- PDF to Images — when you want PNG/JPEG instead of PDF
- Hash Generator — fingerprint outputs before forwarding