What is inside a PDF file, and what does repairing one do?
A PDF is a header naming its version, a body of numbered objects (pages, fonts, images, streams), a cross-reference table that records where each object starts, and a trailer pointing at the catalogue and the metadata. Metadata lives in the Info dictionary (title, author, dates, producer) and, since PDF 1.4, in an XMP stream; fonts are embedded whole, subsetted or only referenced by name. A viewer that cannot find an object walks the file to rebuild the cross-reference table — repair does the same and writes the rebuilt table, which fixes most "damaged file" errors without touching the pages.
How to use Repair PDF
- Drop the damaged PDF.
- Click "Repair".
- Read the outcome and download the rewritten file if one was produced.
Repair PDF features
- Rebuilds the cross-reference table and trailer
- Recovers pages from files with wrong offsets, junk or missing %%EOF
- Re-validates the result and reports errors before / after
- Honest outcomes: already valid, repaired, partially recovered, unrecoverable
- Keeps form fields when present (in-place re-save)
- Local processing
Repair PDF example
A PDF that went through a text-mode FTP transfer
Input:
damaged.pdf — CRLF-converted, xref offsets wrongOutput:
damaged-repaired.pdf — outcome: repaired, 32 pages recovered, errors before 2 / after 0Frequently asked questions about Repair PDF
What kinds of damage can be repaired?
Broken or missing cross-reference tables, wrong object offsets (files that went through a text-mode transfer), junk before the header, missing %%EOF, and invalid objects that are not pages. Truncated files lose the pages that were in the missing part.
What do the outcomes mean?
"Already valid": the file parsed cleanly before repair; a freshly written copy is offered anyway. "Repaired": the rewritten file passes validation. "Partially recovered": some pages or objects were recovered but errors remain. "Unrecoverable": no page tree could be found — if the download was interrupted, obtain the file again.
Will the repaired file look the same?
Recovered pages are copied as they are, so yes. Pages whose content streams were destroyed may be blank; the report says how many pages were recovered.
Is my PDF uploaded to a server?
No. The file is opened and processed by your browser with WebAssembly and JavaScript; nothing is sent to Mutqan Soft or anyone else. Close the tab and the file is gone. Downloading the result needs a free account — no subscription, no payment.
Can I use it on a password-protected PDF?
Yes, if you know the password: the file list asks for it once and every operation then works on the decrypted pages. The output is saved without a password unless you protect it again.
Technical notes
pdf-lib’s tolerant parser scans the file for objects instead of trusting the cross-reference table; recovered pages are copied into a fresh document (or the document is re-saved in place when it has an AcroForm). The rewritten bytes go through the validator again, and the outcome is derived from the comparison, never assumed.
References
- ISO 32000-2:2020 — Document management — Portable document format — Part 2: PDF 2.0The current PDF standard: file structure, objects, pages, fonts, annotations, forms and encryption.
- PDF Reference — ISO 32000-1:2008 (PDF 1.7), Adobe copyThe freely readable PDF 1.7 specification: page trees, content streams, metadata, permissions and the standard security handler.
- PDF.jsThe open-source PDF renderer that draws PDF pages in the browser without a plugin — how documents are previewed locally.