How Split PDF Works
ConvertUnlimited utilizes pdf-lib, a modern JavaScript library for PDF manipulation that runs natively in your browser. When you upload a document, our tool parses its internal structure locally. Based on your specified ranges (e.g., "1-3" or "5, 10"), it creates a new PDF container and copies the specific page objects into it.
Because all logic is executed on your device's CPU and RAM, your document contents are processed locally in your browser. This local-first architecture ensures local browser-based processing for sensitive files like medical records, legal contracts, and personal documents.
Why Split PDF Files?
- Extracting Specific Pages: Grab only the summary or the signature page from a long report.
- Separating Large Documents: Break a massive ebook into chapters for easier reading.
- Privacy Protection: Remove unnecessary pages before sharing a document with others.
- Organization: Split a multi-scan PDF into individual one-page documents.
Page Range Examples
The range field accepts a comma-separated list of single pages and hyphenated ranges. All matching pages are combined into one output file, in ascending page order, regardless of the order typed:
| You type | Pages extracted | Output |
5 | Page 5 only | One PDF, 1 page |
1-3 | Pages 1, 2, 3 | One PDF, 3 pages |
1-3, 5, 8-10 | Pages 1, 2, 3, 5, 8, 9, 10 | One PDF, 7 pages, in that order |
5, 1-3 | Pages 1, 2, 3, 5 | Same result as 1-3, 5 — order typed does not change output order |
The "Split Every Page" button is a separate mode: it ignores the range field and instead builds one single-page PDF per page in the source document, bundled into a ZIP archive.
What pdf-lib does when splitting
This tool uses the same pdf-lib (1.17.1) object-copy approach as Merge PDF: for the range field, it parses the requested indices, creates one new PDFDocument, and calls copyPages() once to bring in every selected page together. Pages are copied as objects, not rendered and redrawn, so extraction does not rasterize or re-compress embedded images or reduce text sharpness.
"Split Every Page" works differently: for an n-page source, it runs n separate PDFDocument.create() and copyPages() calls, one per output file, each producing its own single-page PDF before all of them are zipped. A consequence of that per-file approach is that any resource shared across pages — a font embedded once in the source, or a repeated header image — is copied into every single-page output file rather than being stored once. Splitting a 50-page PDF that shares one embedded font across all pages into 50 separate files can therefore produce a set of files whose combined size is noticeably larger than the original, even though no page content changed.
Encrypted PDFs fail for the same structural reason as merging: the tool calls PDFDocument.load() without an ignoreEncryption option, so a password-protected source throws before any page can be read. There is no in-browser password prompt; decrypt the file first.
Failure modes and limits
- Encrypted or password-protected PDFs. These fail to load, as described above.
- Splitting every page of a very large document. "Split Every Page" holds every generated single-page PDF in memory at once before zipping, on top of the source file; a several-hundred-page source can use noticeably more peak memory than extracting one range.
- Invalid or out-of-range input. Ranges outside the document's page count are silently ignored rather than causing an error; an empty or unparseable range shows a validation message instead of running.
- Malformed source files. pdf-lib can recover from some structural damage, but a severely corrupted file can fail to load entirely.
Frequently Asked Questions
Can I split every page at once?
Yes. Use the "Split Every Page" button to automatically generate a separate PDF for every single page in your document. These will be bundled into a convenient ZIP archive for download.
Does it work with encrypted PDFs?
Password-protected files cannot be split unless they are decrypted first. Please remove the password using a dedicated utility before using this tool.
Does the range field create one file per range, or one combined file?
One combined file. Typing 1-3, 5, 8-10 produces a single PDF containing pages 1, 2, 3, 5, 8, 9, and 10 in that order. Use "Split Every Page" if you need one file per page.
Does splitting reduce file size?
Not necessarily. The range field copies only the pages you selected, so the output is usually smaller than the source. "Split Every Page," however, copies any resource shared across pages — such as one embedded font — into every single-page file, so the total size of all split files combined can be larger than the original document.
What order do extracted pages follow?
Ascending page number, regardless of the order you type the ranges in. Typing 5, 1-3 produces the same page order as 1-3, 5.
Does splitting reduce image or text quality?
No. pdf-lib copies existing page objects rather than rasterizing and redrawing them, so splitting introduces no generation loss on its own.
What is the maximum document size?
There is no software-imposed limit, but very large multi-hundred-page documents, especially with "Split Every Page," may exceed your browser's available memory. If the tab becomes unresponsive, try a smaller page range or fewer pages at once.
Browser Support
This tool works in all modern browsers supporting the File API and WebAssembly, including Chrome, Firefox, Safari, and Edge.