Skip to content
Choose language
Free

Repair PDF

Fix damaged or corrupted PDFs by re-saving them with strict cleanup.

Repair re-saves the PDF with strict cleanup. It won't fix every kind of damage — heavily corrupted files may still fail.

Drop a PDF, or click to browse

Free: up to 15 MB · 100 pages

About this tool

Repair PDF re-opens your file with a tolerant PDF parser and writes it back out with strict cleanup — PyMuPDF's garbage=4, clean=True, deflate=True options. That's enough to fix the most common viewer-rejection cases: missing or partial xref entries, malformed object streams, and orphaned objects left over from incremental edits. Best-effort, not magic — heavily corrupted PDFs may still fail.

Repair is honest about its limits. Truly truncated or byte-corrupted files usually can't be recovered, and content streams damaged at the page-drawing level are out of scope. Note that repaired output is sometimes larger than the input — decompressed intermediate objects can outweigh the original gzipped layout. That's normal, not a regression. We show the before/after sizes after every run so you can see exactly what changed.

How it works

  1. Drop your damaged PDF

    Upload the file you can't open, can't print, or that crashes a viewer. Up to 15 MB and 100 pages.

  2. Click Repair

    We re-parse the file with PyMuPDF's tolerant reader, then rewrite it with strict cleanup options applied.

  3. Read the size delta

    You'll see the original size, the repaired size, and the difference — sometimes smaller, sometimes larger, both are normal.

  4. Download the cleaned PDF

    The repaired file should open in viewers that previously rejected it. If repair couldn't help, we say so directly.

When to use it

  • PDFs that won't open in Preview, Acrobat, or your browser but open in another viewer
  • Files that throw errors in the middle of a print job
  • PDFs that crash a viewer or freeze a tab on load
  • Output from legacy or in-house export systems with sloppy PDF generation
  • PDFs that show damage warnings or recovery dialogs when you open them
  • Files generated by older PDF libraries with broken xref tables

Frequently asked questions

What kind of damage can Repair PDF fix?
Repair handles the issues a tolerant PDF parser can already work around: missing or partially broken xref tables, malformed object streams, unused or orphan objects, and minor trailer issues. After re-parsing, the file is rewritten with PyMuPDF's strict cleanup (garbage=4, clean=True, deflate=True) so the resulting PDF has a fresh, well-formed structure.
What can't it fix?
Truly truncated files (the end of the PDF is missing) usually can't be recovered. Same for encrypted PDFs without the password — try the unlock tool first if you have it. Corrupted page content streams (the actual drawing instructions) and PDFs whose damage prevents the parser from reading the file at all are also out of scope. Repair is best-effort, not a forensic recovery tool.
Why is my repaired PDF bigger than the original?
Repair re-saves the file with cleaned-up object streams, and decompressed intermediate objects sometimes outweigh the original gzipped layout — especially for PDFs that already used aggressive compression. You can run the result through compress afterwards if size matters. Repaired output being larger doesn't mean anything went wrong.
Why does repair sometimes fail outright?
If the parser can't even parse the file — corrupted header, missing trailer with no recoverable xref, encrypted without a password, or extensive byte-level corruption — there's nothing to re-save. The error message tells you what happened. In those cases the file is genuinely damaged beyond what a re-save can recover.
Is the content preserved exactly?
Yes — repair is a re-save, not a re-render. Pages, text, fonts, images, annotations, form fields, and metadata come through unchanged. We're rewriting the PDF's container structure, not regenerating the visual content. If the original was readable enough for the parser to understand it, the output is the same document with a cleaner internal layout.