“Moov atom not found” — what it actually means, and the fix for each cause
You ran ffmpeg, a player, or an editor on a video and got
moov atom not found (often followed by "Invalid data
found when processing input"). This is one of the few error messages
in video that is precise about what's wrong — and the right fix
depends entirely on why the moov is missing. There are three
causes. This page tells them apart.
What a moov atom is — at the byte level
An MP4/MOV file is a sequence of "atoms" (boxes), each starting with an 8-byte header: 4 bytes of size, 4 bytes of type. A healthy file from a camera typically looks like this:
offset size type
0x00000000 32 B ftyp (file type: mp4/mov brand)
0x00000020 1.4 GB mdat (the compressed frames)
0x59A2C020 6 MB moov (the index: tracks, timestamps,
sample tables, codec setup)
The moov is the index: which byte ranges are frames, in what order, at what timestamps, decoded with which parameters. Players read it first and seek from it. "Moov atom not found" means the parser walked every atom in the file and no index exists — so nothing else about the file can even be interpreted.
Cause 1: the recording was interrupted
Most cameras write mdat continuously and write the moov once, at stop-record. Battery death, overheating shutdown, or a crash means the moov was never written at all. Tell-tale signs: the file came straight off a camera/recorder, and it's large (the frames are all there).
The fix: the index must be rebuilt from the raw frames — this is real recovery, not remuxing. See the full camera-died-mid-recording explainer; DIY-wise, untrunc handles the classic camera cases if you have a matching reference clip.
Cause 2: the file transfer was cut short
In a standard (non-faststart) file the moov lives at the end. Interrupt a download, a copy from a network drive, or a cloud sync at 95% and you get a file missing exactly its tail — where the index was. Tell-tale signs: the file came from a transfer, and it's noticeably smaller than the original.
The fix is honest and boring: transfer the file again, completely. No repair tool is the right answer while the original still exists at the source. Recovery only makes sense when the source is gone — then the truncated copy is treated like an interrupted recording (cause 1), and everything up to the cut is potentially rebuildable.
Cause 3: a recovery tool produced the file
Files carved back by undelete software can come out with the moov missing, incomplete, or detached from its real payload. This is its own world of failure modes — some very fixable, some (TRIM'd flash) genuinely gone — covered in recovered video won't play.
What won't work — so you don't burn hours on it
ffmpeg -i broken.mp4 -c copy fixed.mp4— ffmpeg reads the moov to copy streams. No moov, nothing to copy. Full honesty page: can ffmpeg fix a corrupted MP4?- qt-faststart / "web optimize" tools — they relocate an existing moov to the front; they cannot create one.
- Renaming to .mov / another extension — the container family is the same; the parser fails identically.
The analysis reads the file's actual atom structure and tells you which cause you have — and whether the frames behind the missing index survived. Free during the beta: there is no payment step today. When paid recovery eventually launches, the analysis will stay free.
Frequently asked questions
What does 'moov atom not found' literally mean?
MP4/MOV files are made of tagged blocks called atoms, and the moov atom is the index that maps every frame: byte positions, timestamps, tracks and codec parameters. The error means the parser scanned the file and no index exists — the frames may all be present, but nothing can locate or interpret them without it.
The file is the full size, so how can something be missing?
The frames (mdat) are written continuously during recording and make up nearly all of the file's size; the index is small and written last. A full-size file with no moov means recording was interrupted before the index was written — which is the good case for recovery, since the footage itself survived.
Can ffmpeg or VLC fix a missing moov?
No. ffmpeg's stream copy and VLC's repair prompts both work from an existing index. When the moov was never written, the index has to be rebuilt by analyzing the raw frames — a different kind of operation that neither tool performs.
My file was cut off during download or copying. Is that the same problem?
The error is the same but the fix isn't: in most files the index sits at the end, so an interrupted transfer slices it off. If the original file still exists at the source, re-transferring it is the whole fix — only if the source is gone does the truncated copy become a recovery case.
What does it cost?
Nothing today. RepairMyVideo is free during the beta: there is no payment step, and analysis, repair and download all cost nothing. When paid recovery eventually launches, analysis and diagnosis will stay free, and payment will apply only to a successful repair, meaning a file verified to actually play, not just one that opens.