"MOOV atom not found" — What It Means and How to Fix It
Of all the error messages a corrupted video file can produce, moov atom not found is the one most worth understanding. It's not a generic "file is broken" message — it's a specific, technical statement about exactly what is broken. And it's one of the most-recoverable categories of file failure.
If you've seen this error from FFmpeg, from QuickTime, from VLC's diagnostic output, or buried in a Premiere / Resolve import error, this page is for you.
What MOOV is
A MOV / MP4 file is a sequence of atoms — typed binary blocks that contain either metadata or media data. The two atoms that matter most are:
mdat— the media data atom. This holds the actual compressed video frames, audio samples, and so on. For a normal recording,mdatis by far the biggest atom in the file (usually 99%+ of the file size).moov— the movie atom. This is the index. It's the table of contents. It tells the player exactly where each frame lives insidemdat, what codec was used, what the frame rate is, what the audio configuration is, and how the streams sync up.
Without a valid moov, the player can't decode the file. It has the data; it doesn't know how to use it.
Why your file doesn't have a MOOV
The MOOV atom is finalised at the moment recording stops. Cameras build the structure incrementally as they record — they have to, because the offsets and sizes inside MOOV depend on how much was actually recorded — but they don't write it to the file until the user (or the firmware) issues a clean stop.
If the recording is interrupted before that moment:
- Battery dies mid-record.
- SD card / CFexpress / SSD pulled while recording.
- Camera firmware crashes.
- External recorder (Atomos, etc.) loses power.
- App that's recording crashes (third-party camera apps on phones).
- Drone hits the ground, power lost, write interrupted.
- AC power brownout to a tethered camera.
The MOOV is never written. The mdat is on disk, intact (or mostly intact, with a possibly-truncated final frame). What you have is:
[ftyp] ← container type declaration, ~12 bytes, intact
[mdat] ← potentially gigabytes of compressed video and audio, intact
← MOOV would be here (or earlier in the file
if the camera does "fast-start" / leading MOOV)
but it isn't
Your editor opens the file, reads ftyp, doesn't find a valid MOOV, and gives up. Hence the error.
What you can try yourself
The good news is this is a well-known problem with documented free tools.
1. untrunc (open-source)
untrunc is a small command-line tool built specifically for this exact failure pattern. It takes:
- A broken file (no MOOV, intact
mdat). - A reference file from the same camera in the same recording mode (resolution, fps, codec, bit-rate). The reference's MOOV serves as a template.
If you have a healthy file from the same camera and mode, untrunc is excellent. Install via Homebrew on macOS or build from source on Linux. Quick command:
untrunc reference.mov broken.mov
It produces broken.mov_fixed.mov. Try opening that.
The catch: untrunc needs the matching reference. If the camera that produced the broken file is the only one you used and the broken file is the only one you've got, untrunc can't help.
2. FFmpeg -c copy re-mux
ffmpeg -i broken.mov -c copy out.mov
Doesn't fix anything but tells you what FFmpeg sees. If FFmpeg returns moov atom not found with no further info, the file is in our recovery territory. If FFmpeg returns useful stream information, the file may be more recoverable than the error suggests.
3. VLC
VLC is famously permissive. Sometimes a file that won't open in QuickTime opens in VLC. Worth a 30-second test.
4. The camera's own software
If the file came from a recent camera, check the manufacturer's free software:
- Sony Catalyst Browse (Sony cameras).
- Canon Cinema RAW Development / EOS Utility (Canon).
- DJI Studio (DJI).
- Insta360 Studio (Insta360).
- DaVinci Resolve (Blackmagic).
These tools sometimes open files generic players reject because they understand their manufacturer's specific quirks.
How automated recovery handles it
When the manual paths above don't work — most often because you don't have a matching reference clip — the next step is automated container reconstruction. Our engine:
- Scans the
mdatpayload at the byte level for frame markers (ProResicpf, H.264 / H.265 NAL start codes, MJPEG markers, ...). - Identifies the codec from the frame data, not from the file extension.
- Extracts codec parameters (resolution, profile, level, chroma format, frame rate) from the first valid IDR / keyframe.
- Synthesises a fresh MOOV atom referencing the existing
mdatbyte ranges. - Probes audio for sample rate, channel count, byte order, and chunk placement.
- Writes a rebuilt file using
co64(64-bit offsets) for any file over 4 GB.
The result is a file your editor will mount and play. No reference clip needed.
What you do
- Upload the broken file. Up to 50 GB.
- ~1 minute later you get a free 5-second preview of the recovered video. If the picture and audio are right, the rest of the file is too.
- If it works, pay $5 / $15 / $29 (depending on size) and download the full file. If not, adjust parameters interactively or escalate to a human review. No charge until you have a working file.
FAQ
Does "moov atom not found" always mean the file is recoverable?
Almost always, yes — if the mdat is intact. The exception is when the camera wrote a partial file that got further damaged (partial overwrites, filesystem corruption). In that case the error is the same but the recovery may be only partial.
My file is 0 bytes — same error? No. A 0-byte file means nothing was written. Different problem; nothing to recover from.
Will recovery preserve my colour grade / Log gamma / HDR metadata? Yes. The codec data (which carries colour information) is referenced verbatim. The rebuild only affects the container, not the codec stream.
The error from QuickTime is "the document could not be opened" — same thing? See that page. QuickTime tends to use a single generic message for several underlying causes; "moov not found" is the most common cause.
Is my footage safe during recovery? File on a server in France, auto-deleted after 48 hours, never used to train anything or shared. Privacy policy.
Related
- The document could not be opened (QuickTime)
- MP4 file truncated — repair guide
- How our recovery engine works
Aperçu gratuit · Sans engagement
Prêt(e) à récupérer votre vidéo ?
Importez votre fichier – obtenez gratuitement un aperçu de 5 secondes en environ une minute. Payez uniquement si l'aperçu vous semble correct.
Importez votre vidéo →