Split PDF
Split PDF files online. Extract specific pages or split into multiple PDFs. Free PDF splitter with page selection. Fast, secure, works in browser.
About PDF Splitter
This tool splits PDF files into multiple documents or extracts specific pages. You can choose from various split modes including page ranges, every N pages, or individual pages. All processing happens in your browser for complete privacy.
How do I split a PDF into separate files?
Upload your PDF, choose a split mode — every page becomes its own file, fixed-size chunks of N pages, or custom page ranges like 1-3,5,8-10 — then click Split. The tool reads each page using pdf-lib, copies it into a fresh PDF document of its own, and bundles all the outputs into a ZIP so you do not have to download dozens of files individually. Page numbering inside each piece restarts at 1, the original page size and orientation are preserved, and embedded fonts ride along with the pages that use them. Because everything runs in your browser, even confidential bank statements or medical records never touch a server. The original file on disk is untouched; you keep both the source and the split outputs.
What's the maximum file size I can split?
Splitting is bounded by your device's available RAM, since pdf-lib has to hold the source document and every produced piece in memory before the ZIP is sealed. A typical desktop with 8 GB RAM handles 500-page scanned documents around 200–300 MB without trouble; a phone tab usually copes with 100 MB or so before stalling. Memory pressure grows with images more than with text — a vector-heavy report of 1000 pages and 5 MB splits faster than a 100-page colour scan of 80 MB. If you hit a ceiling, split in two passes: first cut the document into halves with a custom range like 1-N/2, then split each half by the rule you really want. The output ZIP is streamed to disk as soon as it is built.
Can I extract specific page ranges instead of splitting every page?
Yes — the Custom Range mode accepts a comma-separated list of pages and ranges, for example `1-3,5,8-10,15`. Each entry produces one output PDF: pages 1–3 become file 1, page 5 alone becomes file 2, pages 8–10 become file 3, and so on. Use a single range like `5-12` to extract exactly one continuous excerpt. Hyphens denote inclusive ranges, commas separate independent pieces, and you can mix them freely. This is the cleanest way to pull chapters out of a textbook, isolate a single contract clause for review, or build a smaller redacted version without ever decompressing the full source. The tool validates the input and warns about out-of-range pages before splitting begins.
Will splitting reduce the file size or change image quality?
Each split PDF contains exactly the bytes of the pages it represents, plus a small overhead for the catalog, page tree, and cross-reference table — typically a few kilobytes per file. Images, fonts, and content streams are copied verbatim, so visual quality, OCR text layer, and embedded colour profiles are byte-identical to the source. There is no re-encoding, no JPEG recompression, no font subsetting beyond what was already present. If you want a smaller version, run each split file through Compress PDF afterwards; that step does re-encode and can shrink images via JPEG 2000 or JBIG2 (for monochrome scans). For lossless size cuts, Linearize PDF can also help by removing duplicate objects and dead references that pdf-lib does not strip automatically.

Are bookmarks, links, and form fields preserved in the split files?
Intra-page hyperlinks and annotations are preserved because they live inside each page's dictionary. Outline bookmarks (the PDF table of contents) become orphaned when their target pages move to a different file — pdf-lib drops them rather than rewrite the tree, so the split outputs typically have no outline at all. Cross-page links (e.g., "see page 42") become broken if page 42 ended up in a different file; the link object survives but its destination is unreachable. Interactive AcroForm fields are kept page-local, so form fields on page 7 land in whatever output contains page 7. Digital signatures are invalidated by the split, which is correct cryptographic behaviour — the signed byte range no longer matches.
How does splitting handle scanned PDFs with OCR text layers?
OCR text layers are stored as invisible text objects on top of the scanned image of each page, in the same content stream as the visible image. Because pdf-lib copies pages whole, the invisible text rides along — search and copy-paste continue to work in each split file exactly as in the original. The OCR confidence metadata, language tags, and structured tags from a tagged PDF/A are also preserved per page. What is lost is the global structure tree for accessibility (PDF/UA) — splitting breaks that tree into orphaned subtrees, so screen readers may navigate poorly through the split outputs. If accessibility matters, re-run the OCR PDF tool on each split file to rebuild a per-file structure tree.
Does the tool support splitting by bookmarks or by file size threshold?
The current modes are Every Page, Fixed Chunks of N pages, and Custom Ranges. Splitting by bookmark (each top-level outline entry becomes its own file) is a common request but requires walking the outline tree and mapping destinations back to page indices — not implemented yet in this client-side tool, though qpdf and mutool both do it from the command line if you need a one-off. Splitting by output file-size threshold is non-deterministic in PDF because each page can vary 10× in byte size, so most tools approximate it by splitting per page then concatenating in size order; for now use Fixed Chunks with a small N (say 10 pages) and merge if needed. We are tracking both modes for a future release.
Is splitting a PDF lossless at the ISO 32000 binary level?
Splitting with pdf-lib is logically lossless — every visible byte of page content, every glyph, every image sample, and every annotation comes through unchanged — but the resulting files are not byte-identical to the corresponding pages of the original. pdf-lib rebuilds the cross-reference table, may rewrite the trailer, and assigns fresh object numbers, all of which are valid edits per ISO 32000-2 section 7.5. The DocumentID is regenerated for each output, which is the correct behaviour according to the PDF spec because they are now distinct documents. For forensic or audit scenarios where byte equality matters, use mutool or qpdf with the `--qdf --object-streams=disable` flags to produce a more stable layout; this tool prioritises a clean valid output over byte-stability.
