Split PDF
Break a large PDF into smaller documents: by custom page ranges such as 1-3, 4-8, 9-, into fixed-size chunks, or into one file per page.
Runs in your browser
How to use
- Drop a PDF.
- Choose custom ranges, every N pages or one file per page.
- Click Split PDF.
- Download the files one by one or all as a ZIP.
How it works
For each range, the corresponding pages are copied into a new PDF without re-compression, so quality and selectable text are preserved. Ranges use 1-based page numbers; “7-” means from page 7 to the end and ranges may overlap.
Files are processed in your browser with the open-source pdf-lib and pdf.js libraries — they are never uploaded.
Examples
- Scanned batch
- A 60-page scan of 20 three-page forms → every 3 pages → 20 separate PDFs.
- Book chapters
- 1-12, 13-40, 41- → three chapter files.
- Just the pages to sign
- From a 40-page lease, the range 12, 39-40 gives one small PDF with only the pages your landlord asked for.
Common uses
- Separating scanned documents
- Sending only part of a report
- Splitting books into chapters
- Reducing attachment size
Privacy & security
This tool runs entirely in your browser. Your files and text are never uploaded to our servers — processing happens on your device and results are created locally. How each tool handles files
Frequently asked questions
Can I extract just a few pages into one file?
Yes — use a single range, or the Extract PDF Pages tool to click pages visually.
Is there a page limit?
No, but very large documents take longer on slow devices.
How do I write the ranges?
Separate them with commas: 1-3, 5, 8- gives three files (pages 1 to 3, page 5 alone, page 8 to the end). Page numbers start at 1 and refer to the pages of the PDF, not to any numbering printed on them.
Can I split a scanned document into single pages?
Yes — choose “every 1 page”. Each page becomes its own PDF, and the files are delivered as a ZIP so you download them in one go.
Do the smaller files add up to the original size?
Roughly, but often a little more: fonts and images used across several ranges have to be embedded in each output file.
Last updated: