The short version
If a video won't play because its container or index is damaged — a recording cut off mid-write, an MP4 or MOV that opens straight to an error — this tool rebuilds the structure around the frames that survived and hands back a playable file. It all happens in your browser: the file is read from your disk, repaired in the tab, and saved back, with 0 bytes uploaded — open the Network tab and watch it happen. The honest limit is size, not quality: the free in-browser tier caps files at 500 MB, and it rebuilds broken structure but can't recover footage that was never written.
How to verify the zero-upload claim
Every browser ships with the instrument that proves or disproves what this page says. It takes under a minute:
- Open DevTools: press F12 (Windows/Linux) orCmd+Option+I (Mac).
- Select the Network tab.
- Drop a file (the bigger the better) into the widget above and let the tool work.
- Watch the request list. You'll see the page's own assets (HTML, CSS, the repair engine). What you will not see is any request carrying your file: no
POST, noPUT, no upload of any size.
This isn't a marketing claim that happens to be hard to check — it's the whole design. A tool that uploads your file cannot pass this test; a tool that doesn't, passes it every single time, for anyone, on any file.
Try it with a sample file
No corrupted video handy — or would rather not risk one you care about? Grab one of these intentionally-broken sample files, drop it into the widget above with the Network tab open, and watch: the page's own assets load, and your file goes nowhere. Each one is tiny and repairs from the single file alone.
- sample-truncated.mp4— an MP4 whose recording was cut off before it finished writing. The frames that survived the cut are remuxed back into a playable file.
- sample-broken.zip— a ZIP cut short ("unexpected end of archive"). The intact entries are verified and rebuilt into a fresh, working archive.
- sample-damaged.pdf— a PDF with a destroyed cross-reference table ("damaged and could not be repaired"). The index is rebuilt and the document opens again.
These are small, synthetic test files with no real content — details insamples/README.txt. Sample or not, nothing you drop into the widget is ever uploaded.
Why this matters
Sensitive footage
Legal evidence, medical recordings, family videos that exist nowhere else. Uploading creates a copy on hardware you don't control, governed by terms you didn't write. When the repair happens on your machine, that copy never exists — there is nothing to store, because nothing is received.
NDA and client material
If you're bound by a confidentiality agreement, "I uploaded the raw cut to a repair website" is a sentence you never want to say. In-browser repair keeps the material inside the boundary the NDA assumes: your device.
Multi-gigabyte files
Video is big. A 4K drone clip or a two-hour OBS recording can be larger than what a typical connection can upload reliably at all, and with upload-based tools you pay that cost before learning whether the file is even fixable. Local repair starts reading the file in seconds.
How in-browser repair works
Modern browsers can run compiled code at near-native speed: the same parsing and rebuilding engine that would otherwise run on a server, now inside the tab you already have open. When you drop a file, the browser's File API gives the engine direct read access to the bytes on your disk. The engine walks the file's structure, locates the data that survived, rebuilds the broken index or container around it, and assembles the repaired file in your tab's memory. Saving it is a local memory-to-disk write. Your CPU, your RAM, your file — the network is simply not part of the pipeline.
What "online tool" usually means
The standard "online repair" model is upload → process → download: your file travels to a server, gets repaired there, and a result comes back. There are honest reasons tools are built that way — the server can throw more memory at very large files, and one engine is easier to maintain than one per browser. The tradeoffs are just as real: you wait through the upload before anything happens, the service carries a full copy of your file for some period, and you can't independently verify what happens to it. Neither model is a scam; they're different architectures. But only one of them lets you check the privacy claim from your side of the wire — and that's the one we built.
What this can and can't fix
The honest limit of in-browser repair is size, not quality. The engine performs the same structural repair regardless of where it runs, but a browser tab has a memory ceiling that a native process doesn't — very large files (well into the multi-gigabyte range, varying with your device's RAM) can exceed it. The free tier caps files at 500 MB; paid repairs remove our cap and process large files in a streaming pipeline on the app origin. Everything else follows the site-wide rule:structure can be rebuilt, missing data can't.