Repair PDF
Rewrite a damaged PDF's cross-reference table and structure. Drop as many as you like.
Runs on your device. The file is never uploaded.
Repair PDF reads a damaged document with qpdf and writes it straight back out, which rebuilds the cross-reference table and trailer on the way through. No operation flags are passed at all, because that rewrite is the whole repair. A wrong or missing startxref offset is beyond it, and so is an encrypted file.
Questions
What kind of damage does it fix?
Inconsistencies in the cross-reference table and trailer: a wrong object count, a stale table, structure that no longer matches the file. qpdf corrects those by default whenever it reads a document, so reading your file and writing it back out applies the fix. That is a real class of damage, and a narrower one than the word repair suggests.
What can it not fix?
A file whose startxref offset is itself wrong or missing. In this qpdf WebAssembly build those fail outright rather than triggering the full linear scan reconstruction qpdf's own documentation describes; that was found by testing against a deliberately corrupted file, not assumed. Truncated downloads and files that are not PDFs at all are also beyond it.
Does it upload my broken file?
No. qpdf 12.2.0 compiled to WebAssembly runs in a Web Worker in this tab. Your file is written to an in-memory filesystem, processed and read back, with no request out. That is worth knowing for a damaged file, since a broken document is often one you cannot open to check what is in it first.
What about a password-protected PDF?
It is refused rather than mangled, with a message telling you to unlock it first. Run Unlock PDF with the password you have, repair the result, then apply Protect PDF again if you still need encryption. There is no way to repair a file that cannot be decrypted.
Will it change how my document looks?
No. This rewrites the file structure, not the page content. Text, images, fonts and page geometry are carried across as they are. The output size might differ slightly because the structure is rebuilt, but nothing is re-encoded or resampled. The file comes back with a -repaired suffix.
Why are there no settings?
Because there is nothing to choose. The repair happens as a side effect of qpdf reading and writing the document, so no operation flags are passed at all. A warning-level result still counts as success, since qpdf writes a valid output file in that case and rejecting it would mean rejecting every slightly damaged PDF it had fixed.