Split PDF

Extract PDF pages by range, entirely in your browser

Split PDF pulls the pages you want out of a document and saves them as a new file. There are two ways to choose them — type a range string like 1-3,5,8- into the field, or click the page thumbnails below it; the two stay in sync. Thumbnails are drawn page by page on your own device with pdf.js and the extraction is done by pdf-lib, so not a single byte of the document goes anywhere. Two things to know up front: the output is always one file, and pages always come out in ascending order. This is a tool for taking pages out, not for rearranging them.

How to use it

  1. Drop one PDF onto the dashed box or click to open the picker. This tool takes a single file at a time — the label reads "Select a PDF file", not the multi-select wording.
  2. Wait for "Loading preview..." to clear. The page count is read first and shown as "N pages", and only then are the thumbnails rendered one at a time, so the count appears well before the pictures do. You can start typing a range while they are still filling in.
  3. Enter the pages you want in the "Page range" field. Comma-separated segments, each of which can be a single page like 5, a run like 1-3, or an open-ended 8- meaning page 8 through the end. The hint underneath reads "Click page thumbnails below, or type a range" — mixing the two is fine.
  4. Or just click thumbnails. A selected page gets a highlighted border and the input rewrites itself into the equivalent compact form: picking pages 1, 2, 3 and 5 turns the field into 1-3,5. Note that this rewrite expands an open-ended 8- into explicit numbers.
  5. Check that the "N pages selected" counter next to the button matches what you expect, then press "Extract pages". The button is disabled whenever nothing is selected.
  6. A "Download" link appears; the file is always named extracted.pdf. Editing the range or picking a different file invalidates that link straight away, so you will need to press the button again.

When it comes in handy

Send only the pages that need signing

An 80-page contract where the other side needs page 12 for the seal and pages 45 to 48 of the schedule. Entering 12,45-48 produces a four-page file — less hunting for them, and none of the commercial terms that were not up for discussion. The extracted pages keep their text layer, so the recipient can still search and copy the clauses.

Pull expense-claim pages out of a scanned statement

Accounting wants March and April; you have a 60-page scan of the whole book. Clicking thumbnails beats typing numbers here, because you recognise the months by sight. One thing to Thumbnails of black-and-white scans render properly too — bitonal compressions such as CCITT and JBIG2 are supported.

Hand out a single chapter of a course pack

Two hundred pages of lecture notes and you only want chapter three. Find where it starts and ends, enter 78-125, and you get a 48-page file that is dramatically smaller to download on a phone. Do warn students that the original outline does not come along, and that the printed page numbers still start at 78 rather than being renumbered.

Drop trailing blank or advertising pages

Plenty of reporting systems append a blank sheet or a promo page at the end. Deleting works inside out here: you select what to keep, not what to remove. For a 30-page file whose last two pages are junk, enter 1-28. To drop something in the middle — say page 13 — use 1-12,14-.

Limits and behavior

  • A malformed range produces no error message; the "Extract pages" button simply goes grey. The string is re-parsed on every keystroke, and a parse failure is treated as "nothing selected right now" so that you are not interrupted by red text halfway through typing. The cost is that typos and out-of-bounds numbers both show up only as an unresponsive button. If it is greyed out and the counter reads zero, check for a full-width comma pasted in from a chat app, a page number larger than the document (999 in a 10-page file), or a dash that is not actually a hyphen.
  • Extracted pages always come out in ascending original order, and duplicates are collapsed. 3-4,1 yields pages 1, 3 and 4; 2,2,2 yields a single page. The underlying extraction function does support arbitrary order and repeats, but this screen sorts and deduplicates before calling it, so neither reordering nor duplicating is reachable from the interface.
  • One file comes out, always. There is no per-page export mode and no ZIP bundling. Splitting into several documents means repeating the cycle — change range, press, download — and every download is called extracted.pdf, so your browser will append (1), (2) and you will want to rename them yourself.
  • Thumbnails render strictly one after another, and each page re-parses the whole document from scratch. On a dozen pages you will not notice; on a 300-page scan it is a visible wait with memory usage climbing throughout. The saving grace is that the page count is known before rendering starts, so you can type a range and extract without waiting for a single thumbnail.
  • Documents over 500 pages cannot even be previewed — reading the page count enforces the ceiling first, so you get "Page count exceeds the limit of 500" and nothing else happens. The 50 MB per-file cap applies as well.
  • Thumbnails are re-rendered, while extraction copies the original data streams — two entirely separate paths. Treat the thumbnails as a picking aid: even if some page previews imperfectly, the extracted.pdf you download is a copy of the original bytes and will open correctly. (The bitonal compressions common in scans — CCITT Group 4, JBIG2, JPEG 2000 — and the predefined CJK encodings are all supported, so previews render normally.)
  • The result is a newly built document, so outlines, the title and author fields, and form fields are not carried over, and the producer shown in document properties becomes pdf-lib. Link annotations sitting on a page are copied with it, but internal links pointing at other pages — a table of contents entry, for instance — are not guaranteed to land anywhere sensible in the new file, especially when the target page was not extracted too.
  • Password-protected files are refused while the page count is being read, showing "This PDF is encrypted. Please remove its protection before uploading." Neither the preview nor the extraction gets going.
  • What it does not do: reorder pages, rotate them, delete specific content from a page, auto-split by bookmark or every N pages into multiple files, or extract the images and plain text off a page.

Frequently asked questions

I typed a range but "Extract pages" stays greyed out.

That means your string did not resolve to any page at all. The four usual causes: full-width commas or dashes, which arrive easily when pasting from a web page or messenger; a number beyond the document length, such as 999 in a 10-page file; a start greater than the end, like 8-3; or a stray non-digit character. The parser is all-or-nothing about the whole string, so one bad segment zeroes out the entire selection — with several segments, check them one by one. The messages "Invalid page range" and "Page number out of range" exist in the code but are never surfaced on this screen.

Can I save every page as its own file?

No — one run produces exactly one PDF. Genuinely wanting one file per page means repeating the change-range, extract, download loop, which is 20 rounds for a 20-page document, all landing under the same filename with browser-appended numbers to sort out afterwards. Worth considering: most "one file per page" requests are really about pasting single pages elsewhere, and the PDF to Image tool exports every page in a single run, which is far less work.

A thumbnail does not show that page properly. Will the extracted file be damaged too?

No. The two operations take entirely different code paths: a thumbnail re-renders the page into an image, while extraction copies the original streams into the new file byte for byte with no rendering involved. So even where a preview falls short, the download opens in a reader exactly as the original does. If a particular page previews poorly, just pick it by typing the number.

Will the thumbnails of my Chinese PDF display correctly?

Yes. When a PDF uses one of the predefined CJK encodings without embedding its fonts — common in Traditional Chinese official paperwork — pdf.js needs an extra character-mapping table to turn codes into glyphs, and this site serves that table, so the previews show the text. And even if a preview did fall short, extraction never renders anything — the font objects travel with the pages — so the download is identical to the original in any reader.

I want to move page 5 to the front. Can I do that here?

No. Even typing 5,1-4 gives you pages 1 through 5 in their original sequence, because this screen sorts and deduplicates before handing anything to the extraction step. The workaround is to extract page 5 into one file, extract pages 1 to 4 into another, and then join them in the order you want with the Merge PDF tool.

Does `8-` include page 8 itself?

Yes. 8- means "page 8 through the last page", with both ends included, just as 1-3 is three pages including 1 and 3. If you click any thumbnail after typing 8-, the field is rewritten into explicit numbers such as 8-20, at which point it no longer stretches automatically with the document — harmless for a single operation, but worth knowing.

Are the extracted pages renumbered from 1?

Internally, yes — a reader will say "1 of 4". But the page numbers printed on the paper were drawn into the page content when the original was laid out, so extracting pages 78 to 125 leaves 78, 79 and 80 visible on the sheets. This tool neither renumbers nor adds page numbers.