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.