Inspect a video’s technical details in the browser
A metadata viewer tells you the resolution, duration, frame rate, container, and codecs of a video file — the facts you need before editing, transcoding, or uploading somewhere with strict requirements. This tool reads all of it locally, so the file never leaves your machine.
How it works
Two complementary sources are combined. First, the file is opened in a hidden HTML5 <video> element; its loadedmetadata event exposes duration, videoWidth, and videoHeight, and requestVideoFrameCallback (where available) is used to estimate the frame rate by counting rendered frames over a short span of media time.
Second, the first few megabytes of bytes are parsed as ISO Base Media File Format boxes with a DataView. The scan reads the major brand from the ftyp box, the timescale and duration from mvhd inside moov, and the codec fourCCs from each stsd sample entry. Those fourCCs — avc1, hev1, mp4a, and so on — are mapped to human-readable codec names.
Why you would need to check video metadata
Knowing a file’s codec and resolution before doing anything with it prevents a range of common problems:
Before uploading to a platform. YouTube, Vimeo, TikTok, and most social platforms accept only certain codec and container combinations. Uploading a video in an unsupported format results in transcoding failures or silent quality degradation. Checking that your export is H.264 in an MP4 container before uploading avoids that.
Before editing in a timeline. Some video editing applications handle H.264 or H.265 natively; others need proxy files or re-encoding. Knowing the codec first lets you decide whether to ingest directly or create proxies to avoid dropped frames during editing.
Before AI video upscaling. Tools like Topaz Video AI or Real-ESRGAN need to know the source resolution and codec to apply the right model and scale factor. Confirming the exact resolution (for example 512×896 from a portrait-mode AI generation) lets you target the correct upscaling multiplier.
For debugging playback issues. If a video plays on one device but not another, the codec is often the cause. A HEVC (H.265) file plays fine in VLC but may not play in older browser-based players that only support H.264. Reading the codec from the file confirms the cause without needing to guess.
What each metadata field means
| Field | What it tells you |
|---|---|
| Resolution | Width × height in pixels; determines aspect ratio and display sharpness |
| Duration | Total length in seconds, as reported by the container |
| Frame rate | Frames per second, estimated from playback (see note below) |
| File size | Total bytes; with duration gives you a rough sense of effective bitrate |
| Container brand | The ftyp major brand — for example isom (generic MP4), mp42, or qt (QuickTime) |
| Video codec fourCC | avc1 = H.264, hev1/hvc1 = H.265, av01 = AV1, vp09 = VP9 |
| Audio codec fourCC | mp4a = AAC, ac-3 = Dolby, Opus = Opus |
Tips and notes
- MP4 and MOV give the fullest report; WebM and MKV still show resolution and duration but may not list codecs because they use a different container format.
- The frame rate is an estimate derived from actual decoded frames during playback. For variable-frame-rate footage it reflects the playback average rather than a fixed editorial value. If you need exact FPS, use a dedicated tool like
ffprobeon the command line. - Container duration (from
mvhd) and playback duration (from the video element) usually match; a meaningful mismatch can indicate edit lists, fragmented MP4 packaging, or a corrupted file. - Only the first few megabytes of header bytes are read via DataView, so even very large files are inspected quickly without loading the whole video into memory. For a multi-gigabyte 4K file, the check typically completes in under a second.