Repair a PDF — Free
Runs in your browser. Fixes mild corruption; see below for what it can't do.
Select file to repair
Processed locally — verify in your browser's Network tab.
First page preview
What this actually does
This tool uses pdf-lib (a JavaScript library, not WebAssembly) to parse your PDF and then write it back out as a fresh file. That "write it back out" step genuinely regenerates a clean, valid cross-reference table and trailer — so if your file's problem was limited to that part (a common result of an interrupted save or download) while the actual page content is still intact and parseable, re-saving through pdf-lib can genuinely fix it.
What it can't do
pdf-lib is an editing library, not a forensic data-recovery tool. If the corruption is severe enough that pdf-lib's own parser can't locate your document's objects in the first place — including some cases of the classic "file is damaged and could not be repaired" error — loading will fail here too, and you'll see an error rather than a fixed file. In that case, try a dedicated PDF data-recovery tool, or restore from a backup / re-download the original.
Password-protected files
Not supported currently. If the file has an open password, remove it first, then try repairing the unlocked copy.
Frequently asked questions
Will this fix "the file is damaged and could not be repaired"?
Sometimes — if the underlying objects are still parseable and only the XREF/trailer is broken. If the file is too badly damaged for pdf-lib to parse at all, this tool will show an error instead.
Will it restore missing images?
Only if the image data is actually still in the file. If bytes are physically missing, no tool can recreate data that isn't there.
Is my file uploaded anywhere?
No — check your browser's Network tab while repairing a file.
Can it repair password-protected PDFs?
Not currently. Remove the password first, then try the unlocked file.