# Split PDF — AO tool

> Pull out the pages you need — one page, a range, or several — without uploading the document. Runs entirely client-side: no upload, no server, no file limits, no sign-up.

Human page: https://abstractobjective.dev/tools/pdf-split/
Status: live · Category: pdf

## Input and output
- In: pdf
- Out: pdf

## Programmatic use (the AI-facing twin)
All computation happens locally in the page context.

- `window.AOPdfSplit.extractPages(blob, pages) -> Promise<{blob, kept, total}>`
  Extract a page selection from a PDF Blob. pages is a 1-based spec like "1-3, 7, 12-"; empty means every page.
- `window.AOPdfSplit.parsePageRanges(spec, pageCount) -> number[]`
  Parse a 1-based page spec into zero-based indices. Throws on a range that names pages the document does not have, rather than silently trimming it.

## Notes
- Page numbers are 1-based and may be given as single pages, ranges, or open ranges such as "12-".
- A range naming pages that do not exist is refused with a clear message rather than quietly trimmed — silently dropping pages is how documents get lost.
- Each file you add is processed separately, so you can extract the same range from many documents at once.

## Properties
- Privacy: files never leave the browser tab.
- Limits: none imposed by us; the practical ceiling is your device's memory.
- Cost model: client-side compute — free without caps, sustainably.

---

## Choosing pages

Type the pages you want. The format is the one you would write by hand:

- `5` — a single page
- `1-3` — a range
- `1-3, 7, 12` — any mixture
- `12-` — page 12 to the end
- `-4` — the beginning through page 4
- Leave it blank to keep every page

Page numbers are the ones you see in the document, counting from 1.

## It refuses rather than guesses

If you ask for `8-20` in a ten-page document, this tool stops and tells you so. It does not quietly give you pages 8 to 10 and let you assume you got twenty.

That is a deliberate choice. Silently trimming a range is how people end up submitting a document that is missing its last nine pages without ever knowing. A tool that is about extracting the *right* pages has to be certain it extracted the right pages.

## Batch

Each file you add is processed independently with the same page selection — useful when you have a folder of similarly-structured documents and need the same pages out of each, which is exactly the job that per-day limits elsewhere make tedious.

Everything happens in this tab. The document never leaves your machine, which matters for the kind of paperwork people usually need to split.
