Media Checker

FPS Checker

Check what a browser can determine about a video's timing, and get the exact command that reveals the real frame rate.

Free · no account Runs in your browser Media Checker

Convert with this tool

Drag & Drop File Here

or choose a file from your device — it is processed in this tab and never uploaded

Accepted: MP4, MOV, MKV, WebM and other containers

    Ready.

    Files stay on your device. There is no upload, no queue and no watermark, so a conversion works even with the network switched off after the page has loaded.

    Supported formats & processing

    Accepted inputMP4, MOV, MKV, WebM and other containers
    Produced outputAn inspection report with a downloadable JSON file
    ProcessingWeb Audio API + canvas + native JavaScript encoders
    Upload requiredNo — the file is read locally and never transmitted

    How to use this tool

    1. Add the video fileThe container header is parsed for codec and dimension information.
    2. Read the resolution and durationThese are confirmed by decoding the video metadata.
    3. Note the frame rate rowIt states honestly that the value is not exposed to JavaScript.
    4. Use the ffprobe command if you need the exact rateIt is printed on this page.
    5. Or set a known rateThe FPS converter can force the output to any rate you choose.

    About this tool

    This page exists because the honest answer is more useful than a number that might be wrong. Frame rate is stored in the MP4 stts box as a table of sample durations, or in Matroska as a default frame duration element. Reading it requires walking the container structure — and no browser API exposes it.

    What the browser does give you is the decoded resolution and duration, which are useful for confirming a file matches its description. This checker reports those, explains the limitation plainly, and gives you the one-line ffprobe command that returns the exact frame rate in under a second.

    Features

    • Codec and resolution read from the container header
    • Duration confirmed by decoding the video metadata
    • Plain explanation of where frame rate is stored
    • The exact ffprobe command for the definitive answer
    • A practical alternative: force a known rate with the FPS converter
    • No guessed values presented as facts

    Browser limits on this page

    Reading a video's frame rate in the browser

    Browsers expose no frame-rate property for a video file. The reported rate is calculated from the container header when one is available and from the measured frame intervals of a decoded stream otherwise, so treat it as a measurement with a stated method rather than a declared value.

    For an exact figure, ffprobe -v error -select_streams v:0 -show_entries stream=r_frame_rate -of csv=p=0 input.mp4 reads it straight from the container.

    Frequently asked questions

    What command shows a video's frame rate?

    ffprobe -v error -select_streams v:0 -show_entries stream=r_frame_rate -of csv=p=0 input.mp4 returns the rate as a fraction, such as 30000/1001 for 29.97 fps. ffprobe ships with FFmpeg.

    Can the browser read it from the video element?

    No. HTMLVideoElement exposes duration, videoWidth and videoHeight, and nothing about timing granularity. The requestVideoFrameCallback API reports the presentation time of frames as they play, which can be used to estimate a rate, but only by playing the whole file in real time.

    Why does the frame rate matter so much?

    Delivering the wrong rate causes judder, and platform specifications are strict. It also affects file size directly, since a lower rate means fewer frames to encode.

    What if I do not know the original rate?

    Convert to a rate that matches your delivery target with the FPS converter. If the source rate was higher, the output will drop frames; if lower, it will duplicate them.