Diagnose a broken PDF and rebuild it with a fresh cross-reference table — structural recovery, entirely in-browser.
Drop a broken PDF for a five-point diagnosis and structural rebuild
Repair runs entirely in your browser with pdf-lib and pdf.js. Your file is never uploaded. Structural recovery has limits — a truncated file cannot regrow missing bytes.
A PDF is a graph of numbered objects plus a cross-reference table (xref) that maps each object number to its byte offset. Most "corrupted PDF" failures are structural: a bad xref after a botched download, an interrupted write that truncated the file, offsets shifted by an email gateway, or a trailer that lost its %%EOF. This tool runs two independent parsers — pdf.js (the tolerant renderer browsers use) and pdf-lib (a strict parser) — and when the strict parser succeeds, it re-serializes every object with a fresh xref table and trailer, which fixes bad offsets, orphaned references, and malformed trailers. What it cannot do is regenerate bytes that are simply gone: a truncated file stays truncated, and image data that never made it into the file cannot be re-invented. The diagnosis panel tells you which case you are in — five checks, each marked ok, warn, or fail with an explanation.
The rebuild rewrites the object graph with a new cross-reference table — the fix for most 'file is damaged' errors.
Dana's accounting system rejects a vendor invoice with "file is damaged", but the vendor insists it opens on their side.
To repair a damaged PDF: load the file and run the structural check — the header, object graph, and cross-reference table are rebuilt locally so the file opens again.
FreeToolHub PDF Repair is a free browser-based tool that diagnoses broken PDF structure and rebuilds the object graph and cross-reference table, no signup, no upload.
Réparez gratuitement des PDF endommagés en ligne. Diagnostic structurel en cinq points et reconstruction du graphe d'objets avec une nouvelle table de références croisées. Sauvegardez les pages lisibles à partir de documents endommagés. 100 % basé sur le navigateur - pas de téléversement, pas d'inscription.
Un PDF est un graphe d'objets numérotés — pages, polices, images, flux de contenu — ainsi qu'une table de références croisées qui mappe chaque numéro d'objet à son décalage d'octets dans le fichier. La plupart des corruptions ne sont pas un contenu détruit mais une carte cassée : un téléchargement interrompu perd entièrement la xref, une passerelle de messagerie décale les décalages en réencodant le fichier, un éditeur planté laisse un trailer sans son terminateur %%EOF. Les visionneurs doivent alors deviner, et beaucoup refusent. Le panneau de diagnostic sépare ces cas : les problèmes d'en-tête, les échecs de couche de rendu, les échecs d'analyse stricte et la troncature pointent chacun vers une solution différente.
Lorsque l'analyseur stricte réussit, la réparation charge l'ensemble du graphe d'objets en mémoire et le resérialise à partir de zéro : les objets sont écrits dans un ordre déterministe, compressés dans des flux d'objets, et une nouvelle table de références croisées est calculée à partir des nouveaux décalages. C'est pourquoi la réparation est robuste — la sortie n'hérite d'aucune des écritures cassées. Si l'analyseur stricte échoue mais que le rendu tolérant affiche toujours des pages, le fichier est au-delà de la réparation structurelle locale ; le diagnostic le dit honnêtement plutôt que d'expédier un fichier qui prétend être réparé.
Commencez par le diagnostic — il ne prend que quelques secondes et vous indique en quel mode de défaillance vous vous trouvez. Pour un téléchargement tronqué, demandez une copie fraîche ; aucun outil ne réinvente les octets manquants. Pour un fichier complet mais structurellement cassé, téléchargez la reconstruction et vérifiez le nombre de pages dans n'importe quel visionneur. Pour les fichiers partiellement récupérables, notez combien de pages sont lisibles et utilisez PDF Split pour conserver les survivants, puis fusionnez avec les pages de remplacement. Gardez l'original : la réparation ne modifie jamais votre fichier source, et une seconde passe de réparation avec un autre outil peut extraire davantage.
Les dommages structurels sont la cible : tables de références croisées cassées après des téléchargements interrompus, décalages d'octets des passerelles de messagerie, trailers EOF manquants, objets orphelins et entrées xref malformées. La réparation réanalyse le graphe d'objets et le resérialise avec une nouvelle xref et trailer, ce qui corrige la plupart des erreurs "le fichier est endommagé". Ce qu'elle ne peut pas faire, c'est régénérer les octets manquants — un fichier tronqué à 80 % reste privé de sa fin.
La signature d'en-tête vérifie le marqueur %PDF- ; la vérification de la couche de rendu analyse le fichier avec pdf.js (ce que les navigateurs utilisent réellement — si cela passe, les visionneurs peuvent ouvrir le fichier) ; la vérification de la structure d'objet analyse strictement avec pdf-lib (si cela échoue mais que le rendu fonctionne, le fichier s'ouvre mais est structurellement fragile) ; la vérification de chiffrement signale la protection par mot de passe ; et la vérification EOF recherche le trailer %%EOF dont l'absence indique une troncature.
Pour les réparations structurelles, oui : la reconstruction resérialise les mêmes objets de page, donc le contenu, les polices et les images restent intacts. La taille du fichier peut changer légèrement (les flux d'objets sont compressés efficacement). Si les dommages ont détruit des octets de contenu, le fichier reconstruit contient ce qui a survécu — le diagnostic vous indique combien de pages sont lisibles pour que vous sachiez à quoi vous attendre avant de télécharger.
Vérifiez le diagnostic : si la couche de rendu a échoué et qu'aucune reconstruction n'était possible, les dommages dépassent la réparation structurelle locale. Essayez d'extraire la couche de texte avec l'Extracteur de texte PDF pour sauvegarder le contenu, ou divisez avec le nombre de pages de la couche de rendu si certaines pages s'analysent. Si le fichier est tronqué, demandez une copie fraîche — aucun outil ne peut récupérer des octets qui n'ont jamais été reçus.
Entièrement dans votre navigateur : pdf.js et pdf-lib fonctionnent tous les deux localement, et le fichier reconstruit est assemblé en mémoire. Rien n'est téléversé, ce qui est important lorsque le document endommagé est un contrat, un dossier médical ou quoi que ce soit de confidentiel.
Why did the robot eat a light bulb?
No signups, no data sold. Every tool is free to use — the free tier allows 5 downloads or saves per day, and the optional Pro plan ($7/mo, $59/yr) adds unlimited downloads, batch processing, white-label exports and an ad-free experience.
☕Support me on Ko-fi— support the free tier100% of proceeds go towards hosting & building more free tools.