File checker

# Check a video's keyframes and frame rate

Keyframe spacingExact frame rateVariable or constantNo upload

Drop a file and read what a timeline will see in it: how far apart the keyframes sit, the frame rate to three decimals, whether that rate wanders, the codec, the container and the audio. Only the file index is read, so even a large file answers in a moment.

### Drop a video to check it

or click to browse

Supports MP4, WebM, MOV, AVI up to 2048MB

## What each line means

#### Keyframes

A keyframe is a complete picture. The frames between keyframes only store what changed. A player can start anywhere there is a keyframe, so when they sit far apart, every seek has to decode a long run of frames first. Ableton Live's help centre describes exactly this stutter and asks for a keyframe on every frame or every second frame. Uploads from phones and editing software usually put keyframes one to ten seconds apart because that keeps files small.

#### Frame rate

Most footage runs at one of a handful of standard rates. The checker measures the frame timing and snaps to the nearest standard when it is within two percent, so a file that measures 29.98 is reported as 29.97\. Composers scoring to picture need the exact number because it decides where the beats fall against the frames.

#### Variable frame rate

Phones and screen recorders write frames when they have one rather than on a fixed clock. The file still plays fine in a media player. A timeline that assumes every frame lasts the same time can show it out of step with the sound. The checker tests whether each frame sits on a slot of a fixed clock, counts the ones that do not, and tells you.

#### Codec and container

The codec is how the picture is squeezed, for example H.264 or HEVC. The container is the box it ships in, for example MP4 or MOV. Timeline tools are picky about both. Most want H.264 inside MP4 or MOV, and some cannot open HEVC from a newer iPhone at all.

## Frequently asked questions

### How do I check the keyframe interval of a video?

Drop the file on this page. The keyframe line shows how many frames sit between keyframes, from the smallest gap to the largest. QuickTime Player's inspector and the Windows file properties dialog do not show this number. The usual alternative is a command line tool that lists every frame.

### What keyframe interval should a video have?

It depends on where the file is going. For streaming and uploads, a few seconds between keyframes is normal and keeps files small. For a timeline that scrubs, closer is better. Ableton Live's help centre asks for a keyframe on every frame or every second frame. For a general editing timeline this page treats half a second or closer as fine; that threshold is this page's own.

### How can I tell if my video is variable frame rate?

The frames per second line says either constant or variable. When it says variable, it also shows how many of the frames read sit between the slots of a fixed clock. Anything recorded on a phone, with a screen recorder or from a game capture is a likely candidate.

### Does the checker upload my file?

No. The browser reads the index of the file from your disk and never sends the rest anywhere. That is also why it is quick: only the index is read, which is a small part of even a long recording.

### Why does the frame rate show 29.97 instead of 30?

Because that is what the file contains. Broadcast rates such as 23.976, 29.97 and 59.94 are a fraction under the round number. Players round them for display; a timeline does not, and the difference adds up to a dropped or doubled frame every thirty three seconds.

### Can it fix what it finds?

This page only reads. The fixer page re-encodes the file with keyframes as close as you want, locks the frame rate and writes an MP4\. The buttons under the report open it with the keyframe and frame rate settings the report found already selected.

Privacy by architecture

## All processing happens locally in your browser, and your files never leave your device.

No upload step, no server queue, no waiting.

Verify in 30 seconds

1. 01`⌘⌥I` Open DevTools and switch to the Network panel.
2. 02 Filter to fetch and XHR requests.
3. 03 Drop your file in and start the tool.
4. 04 You will see the app itself and, on your first visit, the video engine download. Nothing involving your file.

How this works

Video and audio processing runs through FFmpeg compiled to WebAssembly. Hardware decoding goes through the browser's WebCodecs API. Speech recognition runs against a Whisper model that downloads once and caches in your browser, never streamed from a third-party server.

## Related Tools and Resources

#### [Convert variable frame rate to constant](/variable-frame-rate-to-constant)

Lock every frame to a fixed clock and bring keyframes closer, in the browser.

#### [Prepare video for Ableton Live](/prepare-video-for-ableton-live)

The shape Live's help centre asks for: H.264, keyframe on every frame, MP4.

#### [Compress video](/compress)

Going the other way: make a file smaller for an upload limit.

---
Source: [https://vidstudio.app/video-keyframe-checker](https://vidstudio.app/video-keyframe-checker)
