Video File Metadata Viewer

Read codec, resolution, duration, and frame rate from video files locally

Read resolution, duration, and an estimated frame rate from the HTML5 video element, plus container brand and codec fourCCs by scanning the MP4/MOV ISO BMFF box structure with DataView. No upload — everything is parsed in your browser. It runs free in your browser on Gera Tools, with nothing uploaded.

Last updated Source: Gera Tools

How is the codec detected?

For MP4 and MOV files the tool walks the ISO BMFF box tree (moov → trak → mdia → minf → stbl → stsd) and reads the sample-entry fourCCs such as avc1 (H.264), hev1 (H.265), or mp4a (AAC), then maps them to readable names.

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

FieldWhat it tells you
ResolutionWidth × height in pixels; determines aspect ratio and display sharpness
DurationTotal length in seconds, as reported by the container
Frame rateFrames per second, estimated from playback (see note below)
File sizeTotal bytes; with duration gives you a rough sense of effective bitrate
Container brandThe ftyp major brand — for example isom (generic MP4), mp42, or qt (QuickTime)
Video codec fourCCavc1 = H.264, hev1/hvc1 = H.265, av01 = AV1, vp09 = VP9
Audio codec fourCCmp4a = 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 ffprobe on 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.