Add your file
Choose or drop a .mp4, .m4v, or .mov file. You can paste the contents instead.
Pick an .mp4, .m4v or .mov file and the inspector walks every box in the container: type, absolute byte offset, declared size, header size and nesting depth, including 64-bit largesize boxes and size-0 boxes that run to the end of the file. From the file type box it shows the major brand, minor version and compatible brands; from the movie header, the timescale, raw duration, duration in seconds and creation and modification times in UTC. Each track gets one row with its track ID, enabled flag, handler (video, audio, subtitle, timecode and so on), the first sample-entry four-character code with a codec name when that code is on a built-in list (H.264, H.265/HEVC, AV1, Apple ProRes, MPEG-4 Audio, Opus, FLAC and others), display and coded size, channel count, sample rate, language, and whether the track declares encrypted samples. It also detects fragmented MP4 (mvex and moof) and counts fragments, reports whether moov sits before mdat (fast start), lists iTunes-style ilst tags and 3GPP udta text with their declared type, and lists every box type it does not recognise exactly as written. The box table can be copied or downloaded as a tab-separated file with plain decimal offsets. It is free to use online with no account and no install.
or drop a file here
Choose or drop a .mp4, .m4v, or .mov file. You can paste the contents instead.
The file is read and parsed in this browser — nothing is uploaded.
Look over what came back, then copy it, download it, or move on.
Want to know how files are handled? Read the privacy notice →
Choose the .mp4, .m4v or .mov file on this page and the inspector lists every box with its depth, type, byte offset, size and header size, plus tracks and duration. Start with the Movie and Tracks panels for a summary, then use the box table for the exact layout. The Copy and Download buttons give the same table as tab-separated text named after your file with -boxes.tsv, with offsets in plain decimal bytes so they can be compared with a hex editor.
No. The MP4 file is read by your own browser and the box structure is worked out on your device; the video is not sent anywhere for analysis. Only the container headers are interpreted, the media samples in mdat are skipped over, and nothing about the file is kept after you close or reload the page.
Open this page in Safari or Chrome, tap or click the file picker and choose the MOV from Finder or the Files app; the Tracks table shows each track's codec code. For example hvc1 or hev1 means H.265/HEVC, avc1 means H.264, apcn or apch means Apple ProRes and mp4a means MPEG-4 Audio. On an iPhone, videos in the Photos library may need to be saved to Files first so the picker can see them.
The first eight bytes do not form an MP4/QuickTime box header with a known type such as ftyp, moov, mdat or free, so the file is not read as MP4 at all. The usual causes are a Matroska/WebM, AVI or MPEG transport stream file that was renamed to .mp4, a download that saved an HTML error page, or a file that starts with garbage. In that case no tracks, brands or duration are invented; check the real format with a format identifier first.
The duration stays empty when the movie header gives nothing usable, and a warning names the reason. MVHD_ABSENT means there is no movie header, typical of a recording that stopped before moov was written; TIMESCALE_ZERO means the timescale is 0 so seconds cannot be computed; DURATION_UNSPECIFIED means the field is all ones; UNKNOWN_FROM_MOOV means a fragmented file stores 0 in mvhd, in which case the mehd fragment duration is used when the file has one.
Up to 256 MB, exactly 268,435,456 bytes; a bigger MP4 or MOV file is refused with a file-too-large message instead of being half-read. Inside that limit the walk stops at 200,000 boxes or 32 levels of nesting, at most 1,024 tracks and 4,096 tags are listed, tag text is cut at 4,096 characters and the box table preview at 200,000 characters. Shortened lists (boxes, tracks, tags, unrecognised types, brands) each raise a warning with the number still shown, and cut tag text is counted in a separate warning.
It names codecs from a fixed table of sample-entry codes: H.264, H.265/HEVC, Dolby Vision, AV1, VP8, VP9, Apple ProRes, MPEG-4 Visual, MPEG-4 Audio, AC-3, E-AC-3, AC-4, Opus, FLAC, ALAC, AMR, PCM and several subtitle formats. Any other code is shown verbatim and labelled unknown, and encv or enca entries are labelled as encrypted entries. The name comes from the code alone, so profile, level and bitrate are not part of the result.
No. It describes container structure only and never says a file is safe, virus-free, unprotected or DRM-free. If sinf, schm, frma or pssh boxes are present it states only that the file declares encrypted samples, and their absence proves nothing. Because the media itself is never decoded, inspecting the structure does not run the file through a video decoder, but use your usual security software for any verdict about where the file came from.
All three use the same box structure, so the inspector reads them identically; the difference shows up in the ftyp major brand and compatible brands. Typical MP4 files declare isom, mp41 or mp42, iTunes M4V files declare M4V, and QuickTime MOV files declare qt followed by two spaces or have no ftyp box at all. MOV files also tend to carry QuickTime-only boxes such as wide or tmcd timecode tracks.
Not by themselves. Tags in ilst and udta, the copyright atom and even the creation time in the movie header are written by whatever software made the file and can be set to anything, so they are labelled self-declared and unverified. Times are shown in UTC from the 1904 QuickTime epoch, and a stored 0 is left empty rather than shown as 1904. Treat them as claims, not proof of ownership or authorship.
Open the file and read the Fast start panel: it compares the byte offsets of the first top-level moov and mdat boxes and reports yes when moov comes first, citing both offsets. A trailing moov is not damage, it only means a player streaming the file must fetch the end before playback can begin. When either box is missing, for example in a fragmented stream segment, the panel says which one and gives no yes or no.
Yes, this page is free, needs no account and no install, and lists the ilst tags and 3GPP udta text of an MP4 together with tracks, brands and duration. Keys appear exactly as stored, so the title atom shows its copyright-sign first byte as an escape code. Cover art appears as an image entry with its type indicator (13 for JPEG, 14 for PNG, 27 for BMP) and byte length, but is not displayed. For bitrate, frame rate or HDR details a full media analyser is still the better choice.