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
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.
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.
Separate the parts with commas. Each part becomes a separate output file, in the order
you wrote them.
Select Run, then Download. Select Clear files and free memory when you are finished with
the tab.
Example use cases
Pulling one signed contract out of a 200-page scan of a whole folder.
Breaking a long report into per-chapter files so each one can be sent to a different
reviewer.
Separating a combined bank statement into one file per month before filing them.
Cutting a scanned book into parts small enough to attach to an email.
Supported input and output
Accepts
PDF (application/pdf), one file, up to 50 MB
Unencrypted documents only
Produces
One PDF named <original>-part-1.pdf when you give a single range
A ZIP named <original>-split.zip containing one PDF per range
What this tool will not do
It will not open a password-protected PDF. Encryption is reported, never bypassed:
unlock the file where it was created and split the unprotected copy.
Ranges are 1-based and inclusive, and a reversed range such as “7-2” is refused rather
than silently reordered. A page past the end is refused with the real page count.
Pages you do not name are not carried anywhere. Splitting is a selection, not a
redistribution, so every page you want must appear in some range.
Bookmarks, document-level attachments and form definitions are not rebuilt in the parts.
Each output is a fresh document holding copied pages.
The ZIP is a container, not compression: entries are stored uncompressed, because PDFs
are already compressed internally.
Any digital signature on the input is invalidated, because each part is a new document.
That is true of every PDF editor.
One file at a time, up to 50 MB, because your own device’s memory does the work.
Common mistakes
Writing “1-3, 4-6” expecting one six-page file. That is two parts, so it produces two
documents; write “1-6” for a single file.
Leaving a gap between ranges. “1-3, 5-7” quietly discards page 4 — nothing warns you,
because a gap is a legitimate thing to ask for.
Assuming the part numbers follow the page numbers. Files are numbered -part-1, -part-2
in the order the ranges were typed, so “9-, 1-3” puts the last pages in part 1.
Expecting the ZIP to be smaller than the original. Entries are stored, not deflated, so
the parts together are roughly the size of the input.
Overlapping ranges on purpose and then wondering about the total page count. Overlaps
are allowed, and the shared pages appear in every part that names them.
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.