Split PDF by page range

Cut one PDF into separate files, one file for each range you name

The tool loads here. It needs JavaScript, because the work happens on your device.

Your files and your privacy

The PDF you split is never uploaded. It is read into this browser tab, cut apart by a Web Worker on your own device, and handed back as a download. The page’s Content-Security-Policy restricts connect-src to this origin, so an upload would be blocked by the browser even if the code attempted one.

What this tool does

Split a PDF into several documents without uploading it. Each comma-separated range you type becomes its own file, and when there is more than one part the results are packaged into a single ZIP so your browser only has to accept one download.

Splitting writes one new PDF for each comma-separated part of the range you type, so “1-3, 4-” produces two documents rather than one document of everything. Page content, page size and any rotation already on a page are copied across unchanged, and the file on your device is untouched. A single range comes back as one PDF; two or more parts are packaged into a ZIP so the browser is only asked to accept one download.

How to use it

  1. Select Choose a PDF file and pick the document. Its page count appears above the options, which is what your ranges have to fit inside.
  2. Type the ranges. The syntax matches a print dialog: “4” is one page, “2-6” includes both ends, “8-” runs to the last page, and “-3” starts at the beginning.
  3. Separate the parts with commas. Each part becomes a separate output file, in the order you wrote them.
  4. Select Run, then Download. Select Clear files and free memory when you are finished with the tab.

Example use cases

Supported input and output

Accepts

Produces

What this tool will not do

Common mistakes

Technical notes

The range text is parsed into groups of 0-based page indices before anything is opened, and a token that is not a page or a range is rejected by name rather than being dropped. Each group is then handled by pdf-lib inside a Web Worker: a new document is created, the group’s pages are copied into it, and it is serialised. Several outputs are packed into a ZIP written by hand in the browser with stored (uncompressed) entries and CRC-32 checksums, which keeps the archive readable by any unzip tool without pulling in a compression library.

Frequently asked questions

Is my PDF uploaded anywhere?
No. There is no upload endpoint. The split runs in a Web Worker in this tab, and the page’s Content-Security-Policy limits connect-src to this origin. Open your browser’s network panel and run a split: no request carrying document bytes is made.
How do I get one file per page?
Name every page as its own part, for example “1, 2, 3, 4”. Each comma-separated part becomes one output, so four parts produce four single-page PDFs inside one ZIP.
What is the difference between splitting and extracting pages?
Splitting produces several documents, one per range. Extract pages produces a single document containing only the pages you listed. Use extract when you want one result, split when you want the document broken into pieces.
Why did I get a PDF instead of a ZIP?
Because you gave one range. A single output is handed straight to you as a PDF named with a -part-1 suffix; the ZIP only appears when there are two or more parts to deliver at once.
Do the parts keep the original quality?
Yes. Pages are copied, not re-rendered, so text stays selectable and searchable, embedded images keep their original data, and page dimensions and rotation are unchanged.