How this works: an MP4/MOV/M4V/3GP file is a sequence of "boxes" — a small index box called moov (track list, durations, where every frame lives) and a (usually much larger) mdat box holding the actual encoded audio/video bytes. The diagnostic above reads only box headers — never the file's full contents — to tell whether the index is present and consistent with the media data. The repair step compiles the open-source untrunc tool to WebAssembly and runs it in a Web Worker in your browser: it scans the reference file's structure and the broken file's raw media data to rebuild a working index, then writes the result to a private, sandboxed area of your browser's storage (never a server) that you then save wherever you like.
What this tool cannot do: recover media data that's genuinely missing from the end of a file (as opposed to just missing its index), recover a file deleted from a card or disk (browsers can't read raw storage), or fix corruption in the middle of otherwise-intact frame data.
Repair is powered by untrunc, originally by Federico Ponchio, maintained by anthwlock, licensed GPL-2.0. This page's own build of it — source, the exact patch applied, and build instructions — is published in this site's repository under the same license; see LICENSE, patches/, and BUILD.md.
Troubleshooting & FAQ
What does "moov atom not found" mean?
It means the file's index (the "moov" box, which lists every track, frame, and duration) is missing, usually because the recording was interrupted — a crash, a dead battery, a full memory card, or an app killed mid-write — before that index could be written. The actual video and audio data is usually still intact in the file's "mdat" box; only the index is gone. This page's diagnostic checks exactly that, for free, in your browser.
Is there an "untrunc online" or web version?
This page is that: a build of the open-source untrunc tool compiled to WebAssembly so it runs directly in your browser, with no install and no command line. Untrunc itself has historically only existed as a command-line program that most affected users can't run.
How do I repair a corrupted MP4 for free?
Drop the broken file above to see what's actually wrong with it. If the diagnosis is a missing index (the common case), drop a second, working video from the same device and settings as a reference, then click Repair. Everything runs locally in your browser — nothing is uploaded anywhere, and there's no size limit beyond what your device's storage and memory can handle.
My OBS recording is corrupted after a crash — can this fix it?
Usually yes, if the crash happened after OBS started writing the file (so there's real video data in it) but before OBS finished and wrote the index. Use a short clip recorded with OBS using the identical output settings (same encoder, resolution, framerate, container) as your reference file.
My GoPro video won't play — what's wrong?
If the camera died, the card filled up, or it was ejected mid-recording, the file can end up with its media data intact but no finished index — the same "moov atom not found" problem. Shoot a short clip in the same mode and resolution preset on the same GoPro to use as a reference file for repair.
My DJI drone video is corrupted — is it recoverable?
Often, if the drone lost power or the recording was interrupted (e.g. a forced landing or battery pull) rather than the SD card itself failing. Drop the file in above to see whether the index is what's actually missing before trying anything else.
A .mov file won't open after a crash — can I fix it?
MOV uses the same underlying container format (ISO-BMFF) as MP4, and this tool handles both. The same diagnosis and repair approach applies: an interrupted write usually leaves the media data intact but the index missing.
My video file shows 0 seconds or no duration — why?
Most players read duration from the index ("moov") box. If that box is missing or incomplete, players have nothing to report a duration from, even though the frames themselves may still be there — which is exactly what this page's diagnostic checks for.
What can this tool NOT fix?
If the actual video/audio bytes are missing — not just the index — no tool can rebuild frames that were never saved to disk. This also can't recover a file that was deleted from a card or drive (browsers can't read raw storage), and it doesn't repair corruption in the middle of otherwise-present frame data.