MP4 file checker: find out if your video is corrupted

This free checker reads the internal structure of an MP4, MOV, M4A, M4V or 3GP file in your browser and tells you whether it is intact, damaged but repairable, or empty. It looks for the boxes every MP4 needs (ftyp, moov, mdat), checks whether the file was cut off, and lists the codecs, resolution and duration stored in the index. Nothing is uploaded; the file never leaves your device. Use it before you buy any repair software: many "corrupted" videos are healthy files that simply use a codec your player lacks.

How to read the result

  • Structure looks healthy: the index (moov) is present and readable. If the video still will not play, the cause is almost always the player. Try VLC; see file is not supported and MP4 won't play on Windows.
  • Damaged: likely repairable: media data is present but the index is missing, or the box structure breaks partway through. This is what happens when a camera, phone or app stops recording abruptly. The repair tool rebuilds the index.
  • No recoverable data: the file is 0 bytes or its first 64 KB are all zeros. The data was never written; see MP4 is 0 bytes.
  • Not a readable MP4/MOV: no MP4 structure at the start. The file may be a different format with the wrong extension, encrypted, or overwritten.

What the checker actually inspects

An MP4 file is a sequence of boxes (also called atoms). Each box starts with a 4-byte size and a 4-byte type. The checker walks these boxes from the start of the file, reading only the 16-byte headers, so even multi-gigabyte files are checked in a second or two.

BoxRoleIf missing
ftypFile type and brand (isom, mp42, qt, M4A)Some players refuse the file
moovThe index: tracks, codecs, frame sizes and positionsFile will not open, or shows 0:00
mdatThe audio and video data itselfNothing to recover
moofFragments in a fragmented MP4Normal for some recorders
free / skip / widePaddingHarmless

When a moov box is present, the checker parses it to read the movie duration, each track's codec (avc1 for H.264, hvc1 or hev1 for HEVC, mp4a for AAC audio) and the video resolution.

Typical results and what to do

mdat present, no moov. The recording was interrupted before the camera wrote the index. Very common after a dead battery, a full card, a crash in OBS or Zoom, or a dashcam losing power. Repair by rebuilding the index from a short healthy clip recorded on the same device with the same settings. See fix moov atom not found.

A box is larger than the remaining file. The file was truncated: an interrupted copy, a download that stopped, or a recording that ended mid-write. Copy the file again from the original source first; if the source is gone, the part that exists can usually be repaired.

Structure breaks at a byte offset. Something after that point is not valid MP4. Sometimes the end of the file was overwritten or filled with zeros by the card. Data up to that point can often be saved.

moov at the end of the file. Normal for camera recordings. It only matters for web playback; you can move it to the front with ffmpeg -i in.mp4 -c copy -movflags +faststart out.mp4.

Healthy structure, HEVC video. If the file will not play on Windows, install the HEVC Video Extensions or use VLC.

Checking a file on the command line instead

If you prefer FFmpeg:

`` ffprobe -v error -show_entries format=duration:stream=codec_name,width,height -of default=nw=1 video.mp4 ``

A healthy file prints a duration and its streams. A file without an index prints "moov atom not found". To decode every frame and list errors (slower, but finds damage inside the media data):

`` ffmpeg -v error -i video.mp4 -f null - ``

No output means every frame decoded cleanly.

Limits of a structure check

The checker verifies the container, not every frame. A file can have a perfect index and still contain a damaged region in the middle (green blocks or a freeze at one point); the full FFmpeg decode above finds that. Conversely, files from some professional cameras use structures this checker does not fully understand, so treat "not readable" as a prompt to check with FFmpeg rather than a final verdict.

Why check before repairing

Repair tools work by rebuilding the index from the raw media data. If the index is already there and intact, there is nothing to rebuild, and a "repair" will at best return the same file. Checking first avoids wasted time and money. It also tells you whether you need a reference file: an index rebuild for H.264 or HEVC video almost always needs one healthy clip from the same camera and settings, so it is worth finding one before you start.

FixMP4 compared with other options

FeatureFixMP4Desktop repair suitesuntrunc (CLI)VLC
Runs whereBrowser, on your deviceDesktop appCommand lineDesktop player
Keeps your file on your device✓✓✓✓
Nothing to install✓✕✕✕
Rebuilds a missing MP4/MOV index✓✓✓✕
Preview of your own repaired file before paying✓Trial (varies)Free tooln/a
Voice Memos / AAC without a referenceUsuallyVaries✕✕
Formats beyond MP4/MOV/M4A✕✓Many (FFmpeg)Plays many

Try it on your file

Free diagnosis and 15-second preview. Nothing is uploaded.

Open the repair tool

Frequently asked questions

Is the MP4 checker free?

Yes. The check is free, has no file size limit set by us, and runs entirely in your browser.

Is my video uploaded?

No. The checker reads the file structure locally with JavaScript. Nothing leaves your device.

What does 'moov atom missing' mean?

The moov box is the file's index. Without it, players cannot find the frames. It is the most common damage after an interrupted recording and it is usually repairable.

The checker says the file is healthy but it still will not play. Why?

The container is fine, so the problem is most likely a codec your player does not support, such as HEVC on Windows. Try VLC.

Can it check MKV or AVI files?

No. It understands the MP4 family only: MP4, MOV, M4A, M4V and 3GP.