moov atom missing: what it means and how to repair it
Your player says "file corrupted" or shows 00:00 length? The moov atom — the index of your MP4 — is probably gone. Here is how to spot the damage and fix it.
Founder · Engineer · May 19, 2026 · 5min read
If you’ve been trying to open a broken video in the last few days, you may have run into the term “moov atom” — on Reddit, in an ffmpeg tutorial, in the output of MediaInfo. This article explains what it actually is, why it goes missing so often, and how to repair it — from the free trick all the way to a specialized tool.
What is a moov atom?
In an MP4 file (technically: ISO BMFF, see Understanding the MP4 container), the moov atom is the index. It contains:
- the list of all tracks (video, audio, subtitles if present)
- per track: codec, resolution, frame rate, bit depth
- the sample table: for every frame, its size and its offset in the file
- the keyframe list for seeking
- color space, HDR metadata, recording date
Without this atom, no player can decode even a single frame — it doesn’t know where the frames live in the file, what codec they’re in, or how long they run.
Why does it go missing so often?
While recording, your camera (or your smartphone, your GoPro, your drone) writes the frames into a block called the mdat atom. It can only write the moov index once the recording ends cleanly — otherwise it doesn’t yet know the final size.
If the recording doesn’t end cleanly (dead battery, card pulled out, app crash, drone crashed), the moov atom never gets written. The file then has ftyp + mdat, but no index — and no player can open it.
Statistically, this is the single most common video damage there is — around 70% of all “broken” MP4 files are exactly this case.
How to spot the damage
Three signs that, taken together, are practically conclusive:
- The file is a normal size (e.g. 1.4 GB) but won’t open.
- Every player shows 00:00 length or says “file corrupted”.
- Tools like MediaInfo only show “Header-Information missing” or return no output at all.
If you want to be sure, you can use our free online diagnosis — it reads the header locally in your browser and tells you within 30 seconds whether this is exactly your case. Nothing gets uploaded.
Method 1: VLC repair (free, simple)
VLC has a built-in attempt at index repair. When you open a broken MP4, VLC asks: “Do you want to rebuild the index?”
Mac: VLC → File → Open Advanced File → select MP4 → rebuild index
Win: VLC → Media → Open File → broken MP4 → choose "Repair" when prompted
Success rate: ~30%. VLC can only reconstruct a generic container without codec specifics. With modern codecs (HEVC, XAVC, ProRes) it usually fails. But for a quick GoPro Hero 9 clip it’s sometimes enough.
Method 2: untrunc-anthwlock (free, open source)
untrunc is the classic CLI tool for exactly this case. It needs a reference recording from the same camera — an intact file with the same settings.
# Install on Mac (with Homebrew):
brew install ffmpeg
git clone https://github.com/anthwlock/untrunc.git
cd untrunc && make FF_VER=4.1
# Run:
./untrunc -n -s referenz.mp4 kaputt.mp4
# Output: kaputt_fixed.mp4
Success rate: ~75% on simple cases, ~40% with modern codecs.
Common problems:
- With HEVC 10-bit: it often returns a file with no picture, because the hvcC parameters aren’t reconstructed correctly
- With Sony XAVC using iPCM audio: it needs the
-sflag (skip unknown sequences), otherwise it aborts - Audio drift: the output almost always has 300–800ms of audio offset that has to be corrected by hand
More detail on the limits: untrunc and ffmpeg — open source repair and where it hits its limits
Method 3: Haven (commercial, automated)
Haven is built for exactly this case. You drag the broken file and a reference into the app, and Haven:
- Automatically detects the missing moov atom
- Identifies the codec (H.264, HEVC, ProRes, XAVC) and the profile
- Extracts the correct parameters from the reference
- Rebuilds the moov atom with a sample table drawn from the mdat stream
- Corrects audio drift automatically (cross-correlation against the reference)
- Shows you the result in a preview — before you pay
Success rate on moov-missing cases with a reference: ~94%. Without a reference: ~70%.
Advantages over untrunc:
- Audio drift is fixed automatically (no manual offset tuning)
- HEVC 10-bit, hvcC repair done correctly
- iPhone Cinematic, Sony XAVC-I, GoPro HEVC all supported natively
- Native Mac UI, no CLI
Method 4: Specialized pro tools
If the above aren’t enough, there’s still:
- recover_mp4 (Grau GmbH, 99 USD) — the IT-forensics gold standard, but no audio-drift correction and an ancient UI
- Stellar Repair, Recoverit, Wondershare Repairit — the usual Windows recovery suites, often only successful on simple H.264 files. See Stellar alternative and Recoverit alternative
- Aeroquartet Treasured (49–700+ USD) — a concierge service with hands-on human repair, 48h turnaround. Worth it for extreme cases — see Aeroquartet review
Before you try anything: two rules you can’t skip
- Copy the broken file to your hard drive first. Never work straight off the SD card — a second write can overwrite recoverable remnants.
- Lock the original away. Repairs are non-deterministic — the first attempt can fail, and you’ll want the original still untouched when it does.
Edge cases: when moov isn’t missing but corrupted
In about 5% of cases the moov is there, but individual bytes are broken (e.g. after a DiskDrill recovery, where sectors from neighboring files got mixed in). It looks similar — the file won’t open — but the repair is different. A simple untrunc doesn’t help here, because the fragmentary moov is still in the way. Tools like Haven detect this and can discard the corrupted moov and build a new one.
See Repair DiskDrill-recovered video for this special case.
Summary
| Method | Effort | Success rate | Audio sync |
|---|---|---|---|
| VLC repair | 30 sec | ~30% | Often wrong |
| untrunc + reference | 10 min | ~75% | Often wrong |
| Haven + reference | 2 min | ~94% | Auto-corrected |
| recover_mp4 | 15 min | ~85% | Manual |
| Aeroquartet | 48h | ~95% | Corrected |
My advice: try VLC first (costs you 30 seconds), and if that’s not enough, go straight to untrunc or Haven. With modern codecs, Haven is realistically the only route that won’t eat hours of your time.
About the author
Thomas
Founder · Engineer
Built Haven after losing footage on a Sony FX3 shoot. Three weeks of reverse-engineering later he had the recording back — and decided to polish the tool for everyone else. Writes about the engineering deep end.
Specialty · Container reverse-engineering · ISO BMFF · Codec internals
View profile →