Skip to main content
Asset RecoveryJPEGPNGPDF xref
Upload a corrupted JPEG, PNG or PDF, then Repair. The recovered file previews here.

Asset Recovery

A client-side binary repair tool for damaged JPEG, PNG and PDF files. It reconstructs broken headers, stitches truncated streams, and rebuilds corrupted PDF cross-reference tables — all with bounds-checked parsing so a fuzzed or malicious payload can't over-read memory.

What it repairs

  • JPEG: missing SOI/EOI markers, leading/trailing garbage, truncated scans.
  • PNG: broken 8-byte signature, wrong chunk lengths, bad CRC-32s, missing IEND, truncated IDAT.
  • PDF: broken trailer / startxref, rebuilt xref table from raw obj scanning, best-effort /Root recovery.

On the “freemium paywall” — an honest threat model

A pure client-side tool cannot stop a determined user from reading the repaired bytes. If the browser holds or can decrypt the payload, it lives in memory and is reachable via DevTools, a heap snapshot, or the network tab — and any decryption key shipped to the client is itself extractable. “Encrypt the ArrayBuffer in memory” is security theatre.

The only sound design is server-side release: repair (or at least the final assembly) happens on a server; the client gets only a low-res / watermarked preview; the full payload is streamed back exclusively after a server-verified payment, over an authenticated session. The paywall lives at the server boundary, never in client JavaScript. This tool therefore ships the repair engine and a free full download — no fake in-browser lock.

FAQ

Is my file uploaded?
No. Detection, parsing and reconstruction all run in a Web Worker in your browser.
Why did some data stay unrecoverable?
Truncated pixel/stream data can't be invented. The tool salvages structure and everything that survived, and lists what it couldn't restore under Warnings.
Can it guarantee the repaired file opens?
No — it repairs container structure (markers, chunks, xref). If the payload itself is destroyed, structure alone can't bring the pixels back.