Split a PDF Into Single Pages or Pull Out a Page Range
Break a document into one PDF per page, or extract only the pages you actually need.
About the PDF Splitter
This tool works in two modes. The first turns every page of your document into its own PDF and hands the whole set back as a ZIP archive. The second extracts a range — type 2-5 to get four pages as a single new file, or a comma list such as 1-3, 5, 8 to pick pages that are not next to each other. If the range you type does not exist, the tool tells you how many pages the document actually has instead of failing silently.
Splitting is done by copying page objects into new documents, so the extracted pages are byte-for-byte as good as the original — no quality is lost and no text layer is destroyed. Anyone looking for an offline PDF splitter that never hands the source file to a stranger's server will find this does the job inside the browser, with the library itself served from quenavo.com rather than an external host.
Key Features
- Two ways to split: Explode the whole document into single pages, or extract one specific range into a single file.
- Ranges or scattered pages: The range box accepts a span like 2-5 as well as comma-separated lists such as 1-3, 5, 8.
- Bundled as a ZIP: Every-page mode collects the output with JSZip so you get one archive instead of dozens of separate downloads.
- Nothing is re-encoded: Pages are transplanted into new documents rather than redrawn, leaving fonts and vectors as they were.
- Clear failure messages: An out-of-bounds range reports the document's real page count rather than producing an empty file.
How to Use the PDF Splitter
- Add the PDF you want to break apart.
- Choose a split mode: every page becomes a separate PDF, or extract a page range.
- If you picked the range mode, type the pages — for example 2-5, or 1-3, 5, 8.
- Run the split, then grab the individual files or the ZIP containing all of them.
How It Works
Both modes use pdf-lib from /assets/vendor/js/pdf-lib.min.js. The source is opened once with PDFDocument.load, then for each output a new empty document is created and the chosen pages are moved across with copyPages before being saved as a Blob. Every-page mode builds the archive with a self-hosted copy of JSZip. Two things are worth knowing: creating hundreds of separate documents is genuinely CPU-heavy because each one is a full save cycle, and only the first eight results are rendered as individual download cards so the page does not bog down — the ZIP always contains the complete set.
When You Need It
A reporter who has been handed a 200-page regulatory filing usually needs six pages of it, not the lot. Pulling those pages out locally means the untouched remainder of a sensitive source document never sits in a third party's processing queue, which matters when the person who supplied it is identifiable from the parts you did not intend to share. Researchers extracting a single chapter from a long report, and administrators separating a batch scan back into individual records, hit the same need.