Split PDF

Pull pages out of a PDF — 1-3,5,9- style ranges with error messages that name the real problem (a backwards range, a page past the end), instead of silently doing the wrong thing.

🔒 Your data never leaves your browser.

✂️

Drop a PDF here

A range language with real errors

3 is a page. 1-5 is a range. 7- runs to the end, -4 from the start, last is the last page, and 1,1 legitimately means two copies of page one. Write 9-3 and the tool tells you the range runs backwards and suggests 3-9; ask for page 12 of a 5-page file and it names the real page count. Every message is a numbered rule below — the same discipline as every other tool on this site.

Diagnosis before processing

The file’s structure is checked before any work happens: truncated downloads and password-protected files are reported in plain language up front, not as a parser stack trace halfway through.

Every check this tool runs (26 rules)

PDFI-001 No PDF header

The first kilobyte has no %PDF marker — the file is not a PDF, or its beginning is gone. Renamed Office files and HTML error pages saved as ".pdf" land here.

Fix: Re-export or re-download; check the true format.

Source: This is a rule of this tool's engine, stated so you can see exactly what it does. Structural facts (header, %%EOF, /Encrypt, startxref) follow the PDF file format (ISO 32000); the diagnosis heuristics are this project's own.

PDFI-002 Truncated file

No %%EOF marker near the end. PDFs end with %%EOF; a missing one means an interrupted download or copy. This copy usually cannot be repaired.

Fix: Re-download or re-export from the source.

Source: This is a rule of this tool's engine, stated so you can see exactly what it does. Structural facts (header, %%EOF, /Encrypt, startxref) follow the PDF file format (ISO 32000); the diagnosis heuristics are this project's own.

PDFI-003 Encrypted PDF

The file carries an /Encrypt dictionary. This tool does not remove passwords or process protected files — that is a deliberate boundary, not a bug.

Fix: Open it with the password in any viewer and re-export an unprotected copy.

Source: This is a rule of this tool's engine, stated so you can see exactly what it does. Structural facts (header, %%EOF, /Encrypt, startxref) follow the PDF file format (ISO 32000); the diagnosis heuristics are this project's own.

PDFI-004 Damaged cross-reference

No startxref pointer near the end. Some readers rebuild the table and open the file anyway; processing may still fail.

Source: This is a rule of this tool's engine, stated so you can see exactly what it does. Structural facts (header, %%EOF, /Encrypt, startxref) follow the PDF file format (ISO 32000); the diagnosis heuristics are this project's own.

PDFR-001 Unreadable page selection

Selections are pages and ranges: 3, 1-5, 7- (to the end), -4 (from the start), last.

Source: This is a rule of this tool's engine, stated so you can see exactly what it does. Structural facts (header, %%EOF, /Encrypt, startxref) follow the PDF file format (ISO 32000); the diagnosis heuristics are this project's own.

PDFR-002 Backwards range

A range like 9-3 runs backwards. Ranges are low-to-high; the fix suggests the swap.

Source: This is a rule of this tool's engine, stated so you can see exactly what it does. Structural facts (header, %%EOF, /Encrypt, startxref) follow the PDF file format (ISO 32000); the diagnosis heuristics are this project's own.

PDFR-003 Page out of bounds

The selection points past the last page. The message names the document's real page count.

Source: This is a rule of this tool's engine, stated so you can see exactly what it does. Structural facts (header, %%EOF, /Encrypt, startxref) follow the PDF file format (ISO 32000); the diagnosis heuristics are this project's own.

PDFR-004 Empty selection

The selection matches no pages at all.

Source: This is a rule of this tool's engine, stated so you can see exactly what it does. Structural facts (header, %%EOF, /Encrypt, startxref) follow the PDF file format (ISO 32000); the diagnosis heuristics are this project's own.

PDFO-001 Bad file skipped, merge continued

A file that fails its diagnosis is skipped with its diagnosis attached — never silently dropped — and the merge continues with the rest.

Source: This is a rule of this tool's engine, stated so you can see exactly what it does. Structural facts (header, %%EOF, /Encrypt, startxref) follow the PDF file format (ISO 32000); the diagnosis heuristics are this project's own.

PDFO-002 Engine could not read a structurally-plausible file

The byte-level checks passed but the parser failed deeper in. The engine error is quoted; the file is skipped.

Source: This is a rule of this tool's engine, stated so you can see exactly what it does. Structural facts (header, %%EOF, /Encrypt, startxref) follow the PDF file format (ISO 32000); the diagnosis heuristics are this project's own.

PDFC-001 Nothing to recompress

This tool shrinks image-heavy PDFs by recompressing their JPEGs. A text-only file has no images to work on — that is reported, not papered over.

Source: This is a rule of this tool's engine, stated so you can see exactly what it does. Structural facts (header, %%EOF, /Encrypt, startxref) follow the PDF file format (ISO 32000); the diagnosis heuristics are this project's own.

PDFC-002 Original kept — it was already efficient

If re-encoding would not make the file smaller, the original bytes are returned unchanged. No fake savings, no needless re-save.

Source: This is a rule of this tool's engine, stated so you can see exactly what it does. Structural facts (header, %%EOF, /Encrypt, startxref) follow the PDF file format (ISO 32000); the diagnosis heuristics are this project's own.

PDFC-003 Every change is listed

Each recompressed image reports its before/after size, resolution and PSNR (a decibel measure of how close the pixels stayed). Nothing is changed silently.

Source: This is a rule of this tool's engine, stated so you can see exactly what it does. Structural facts (header, %%EOF, /Encrypt, startxref) follow the PDF file format (ISO 32000); the diagnosis heuristics are this project's own.

PDFC-004 Unprocessable image kept untouched

Images in colour spaces or encodings the codec cannot handle (some CMYK press files, masked images) are kept byte-for-byte — a wrong re-encode would corrupt the page.

Source: This is a rule of this tool's engine, stated so you can see exactly what it does. Structural facts (header, %%EOF, /Encrypt, startxref) follow the PDF file format (ISO 32000); the diagnosis heuristics are this project's own.

PDFC-005 Images present, but none recompressable

The file has images, but every one of them is in a form this tool deliberately leaves alone (bitonal fax scans, stencil masks, transparency, unusual colour spaces). Each image says which — the tool never claims "no images" when there are images it simply does not handle.

Source: This is a rule of this tool's engine, stated so you can see exactly what it does. Structural facts (header, %%EOF, /Encrypt, startxref) follow the PDF file format (ISO 32000); the diagnosis heuristics are this project's own.

PDFU-001 Not encrypted — nothing to unlock

The file carries no /Encrypt dictionary, so there is no password on it. Nothing is changed.

Source: This is a rule of this tool's engine, stated so you can see exactly what it does. Structural facts (header, %%EOF, /Encrypt, startxref) follow the PDF file format (ISO 32000); the diagnosis heuristics are this project's own.

PDFU-002 Password required

Encrypted PDFs are decrypted with the password YOU supply. This tool never cracks, guesses or bypasses protection — including the permissions ("owner") password, which some sites strip without asking.

Source: This is a rule of this tool's engine, stated so you can see exactly what it does. Structural facts (header, %%EOF, /Encrypt, startxref) follow the PDF file format (ISO 32000); the diagnosis heuristics are this project's own.

PDFU-003 Wrong password

The supplied password did not open the document. A PDF can carry two passwords; the one that opens the file is the one needed here.

Source: This is a rule of this tool's engine, stated so you can see exactly what it does. Structural facts (header, %%EOF, /Encrypt, startxref) follow the PDF file format (ISO 32000); the diagnosis heuristics are this project's own.

PDFU-004 Decrypted locally

The document was decrypted in your browser with your password and saved without encryption. Nothing was uploaded.

Source: This is a rule of this tool's engine, stated so you can see exactly what it does. Structural facts (header, %%EOF, /Encrypt, startxref) follow the PDF file format (ISO 32000); the diagnosis heuristics are this project's own.

PDFU-005 Could not rebuild the document

The engine failed after the password step; the underlying error is quoted rather than hidden.

Source: This is a rule of this tool's engine, stated so you can see exactly what it does. Structural facts (header, %%EOF, /Encrypt, startxref) follow the PDF file format (ISO 32000); the diagnosis heuristics are this project's own.

PDFG-001 Not a quarter turn

PDF stores page rotation as /Rotate, which the format restricts to multiples of 90. An arbitrary angle would require re-drawing the page content, which this tool does not do — so it is refused rather than silently rounded.

Source: This is a rule of this tool's engine, stated so you can see exactly what it does. Structural facts (header, %%EOF, /Encrypt, startxref) follow the PDF file format (ISO 32000); the diagnosis heuristics are this project's own.

PDFG-002 Every page removed

A PDF with zero pages is not a valid document, so the plan is refused instead of writing an unopenable file.

Source: This is a rule of this tool's engine, stated so you can see exactly what it does. Structural facts (header, %%EOF, /Encrypt, startxref) follow the PDF file format (ISO 32000); the diagnosis heuristics are this project's own.

PDFG-003 Page does not exist

A page outside the document was requested. The whole plan is refused: unlike a merge, a page silently dropped from a reorder is invisible in the result.

Source: This is a rule of this tool's engine, stated so you can see exactly what it does. Structural facts (header, %%EOF, /Encrypt, startxref) follow the PDF file format (ISO 32000); the diagnosis heuristics are this project's own.

PDFG-004 Plan changes nothing

The page plan is identical to the original document, so the output would only be a rebuild. Said plainly rather than presenting it as work done.

Source: This is a rule of this tool's engine, stated so you can see exactly what it does. Structural facts (header, %%EOF, /Encrypt, startxref) follow the PDF file format (ISO 32000); the diagnosis heuristics are this project's own.

PDFG-005 What survives a page rebuild

Page content, images, annotations and form fields are copied. Document outlines (bookmarks) are carried through a merge — destinations are remapped onto the new page positions — but a page rebuild that reorders or drops pages does not remap them, because an outline entry pointing at a page that is no longer there has no correct answer. Stated up front rather than discovered afterwards.

Source: This is a rule of this tool's engine, stated so you can see exactly what it does. Structural facts (header, %%EOF, /Encrypt, startxref) follow the PDF file format (ISO 32000); the diagnosis heuristics are this project's own.

PDFO-003 Nothing to output

Every input failed — there is no result file.

Source: This is a rule of this tool's engine, stated so you can see exactly what it does. Structural facts (header, %%EOF, /Encrypt, startxref) follow the PDF file format (ISO 32000); the diagnosis heuristics are this project's own.

Structural facts follow the PDF file format (ISO 32000); the range language and diagnosis heuristics are this tool's own engine rules, labelled as such.