Split PDF by Page Range

One PDF, several outputs: semicolons separate the groups in the Page groups field, a comma keeps pages in the same file, and every group comes back as its own PDF inside one ZIP. The original file is only read, never modified.

Runs locally in your browser
·
    1-3;4;5-7

    ZIP · PDF

    How to split a PDF into page ranges

    This page cuts one PDF into several files. Type the groups into the Page groups field — 1-3;4;5-7 means three output PDFs, the first one holding pages 1 to 3 — and press Process files to get them back together in a single ZIP archive. Left empty, the field turns every page into its own PDF.

    The split runs in this tab with pdf-lib and JSZip: the file is read from your device, never uploaded, and the original stays exactly as it was. One file per run, up to 250 MB.

    1. Drop a PDF on the input panel or choose it with the file picker; the list shows the name and the size that was read.
    2. Type the page groups: a semicolon starts a new output PDF, a comma keeps several pages in the same one. 1-3;4;5-7 makes three files, 1,4,7-9 makes a single file of five pages, and an empty field makes one file per page.
    3. Press Process files. The bar reports progress while the parts are written, then the status line names the ZIP and the output panel shows the page count, the number of parts and the archive size.
    4. Download the archive — it is named after the input file, such as report-split.zip, and the parts inside are report-part-1.pdf, report-part-2.pdf and so on, in the order of the groups. Clear empties the file list and the Page groups field for the next document.

    Group syntax, part contents and error messages

    How a group is read

    A group is the list of pages that end up in one PDF, and the semicolon is what separates one output file from the next. Inside a group a comma keeps pages together: 1-3;4;5 makes three PDFs, while 1,3,5 makes one PDF with three pages. A range is inclusive at both ends and may run backwards — 5-3 gives pages 5, 4 and 3 in that order — and a page listed twice (1,1) is written twice.

    Stray separators are ignored instead of being read as a group: ;1-3; and 1-3; ;4 behave like 1-3 and 1-3;4. A page number the document does not have, a token with two hyphens such as 1-3-5, or a number far beyond the page count stops the run with Enter valid page numbers within this document, and no archive is written.

    What the parts keep and what they drop

    Every part is a freshly written PDF, built page by page rather than copied as a byte range. The text stays selectable and searchable, and each page keeps its size, its rotation and its crop box. Links are handled the same way: a link to another page of the same part is rewritten so that it still works, while a link whose target ended up in a different part — or was never part of any group — is removed, so no part contains a reference to a page it does not have.

    Two things do not survive the rebuild. Form fields are dropped along with their widgets, so a field of the source document is not an editable field in the part. And document-level material such as the title, the author and the outline stays behind: a part carries no bookmarks and no metadata from the source, and pdf-lib writes itself in as the producer. The document you loaded is only read, never changed.

    Error messages and limits

    The message under the buttons says what went wrong. Choose at least one supported file means no PDF was picked. That file type is not supported here appears when the picker hands over something other than a PDF or .pdf file, and the file already in the list stays there. Encrypted or password-protected PDFs are not supported covers documents that ask for a password. This file could not be read as PDF. Check that it is not damaged is what a JPEG renamed to .pdf, an interrupted download or an empty file gets.

    Everything runs in the browser, so the ceiling comes from the memory of your own device rather than from an upload quota; the input panel documents one file up to 250 MB per run. Nothing is uploaded, which also means a document that may not leave your machine can be split here.

    Recent tools: