Split PDF Files

Pull specific pages out of a PDF, or break it apart entirely. Enter the pages you want, like 1-3, 5, 8-10, and download the result. Nothing is uploaded, it all happens on your device.

Click to choose a PDF file, or drag and drop it here

Stays on your device, nothing is uploaded.

Split into separate files
Off combines your selection into one PDF. On creates one file per group above (or one per page, if left blank), bundled as a .zip.
Are my PDF files uploaded anywhere?

No. Splitting happens entirely inside your browser using JavaScript. Your files never leave your device or touch a server.

How do I extract just a few pages?

Type the page numbers or ranges you want, like 1-3, 7, and click Split. They'll be combined into one new PDF in that order.

Can I split a PDF into one file per page?

Yes. Turn on "Split into separate files" and leave the pages field blank, every page downloads as its own PDF inside a .zip.

Can I extract multiple separate ranges at once?

Yes. Enter them separated by commas, like 1-3, 5, 8-10, and turn on "Split into separate files" to get each group as its own PDF in a .zip.

Does splitting reduce PDF quality?

No. Pages are copied as-is from the source file, there's no re-rendering, re-compression, or quality loss.

Can I split a password-protected PDF?

Not currently. Password-protected or encrypted PDFs can't be read by the tool and will show an error, remove the password first with a PDF reader.

How it works

Your ranges string is parsed first: something like 1-3, 5, 8-10 becomes groups of page indices, and the tool checks every number against the document's actual page count before doing anything. Then pdf-lib, running entirely in your browser, loads the PDF's object structure into memory, creates a new empty document for each output, and calls copyPages() to pull the selected pages across. Copied pages bring their fonts, images, and graphics with them exactly as stored, no rasterizing, no recompression, so a split page is pixel-identical to the original.

The "split into separate files" toggle changes how groups are treated. Off, every page you listed lands in one combined PDF, in the order you typed it (so 5, 1-3 really does put page 5 first, which is a sneaky way to reorder while extracting). On, each comma-separated group becomes its own file, and the results are bundled into a .zip that's also built in your browser, using an uncompressed store-only writer since PDF data doesn't compress meaningfully anyway.

One thing to expect: printed page numbers don't change. If you extract page 47 of a report, the new file's only page still says "47" at the bottom, because that number is just ink on the page, not metadata. Use the page numbers tool if you need fresh numbering.

None of this touches a server. Open DevTools, watch the Network tab while you split: the file is read with the browser's own FileReader, processed in memory, and the download comes from a local blob. Your document never leaves the tab.