A video is a series of still images shown quickly one after another. The video frame rate, in frames per second (fps), is how many of those images make up one second. It decides how smooth motion looks, how many images you get when you extract frames, and how timecodes are counted.
Common frame rates and what they are for
| Frame rate | Typical use | Frames in 1 minute |
|---|---|---|
| 23.976 / 24 | Cinema and film-style video | 1,439 / 1,440 |
| 25 | Broadcast video in PAL regions (Europe, much of Asia) | 1,500 |
| 29.97 / 30 | Broadcast in NTSC regions, phones, screen recordings | 1,798 / 1,800 |
| 50 / 59.94 / 60 | Sport, games, smooth phone video | 3,000 / 3,596 / 3,600 |
| 120 / 240 | Slow-motion recording | 7,200 / 14,400 |
Higher rates capture faster movement with less blur between frames, which is why frame-by-frame analysis of sport works best with 60 fps or slow-motion footage. They also mean more frames to store and extract.
Why 23.976 and 29.97 instead of 24 and 30
When colour was added to the American NTSC television system, the frame rate was lowered by a factor of 1000/1001 to avoid interference between the colour and sound signals. 30 fps became 30000/1001 ≈ 29.97 fps, and film transferred to that system runs at 24000/1001 ≈ 23.976 fps. Cameras and editing software kept these rates for compatibility, which is why a phone or camera set to “30 fps” may actually record 29.97.
The difference is small but adds up: a 60-second clip has 1,800 frames at 30 fps and 1,798 at 29.97 fps. Over an hour, a clock that counts 30 frames per second runs 3.6 seconds behind real time at 29.97 fps.
Drop-frame timecode
Timecode labels each frame as hours:minutes:seconds:frames. At 29.97 fps, counting 30 frames per “second” makes the timecode drift away from the clock, as above. Drop-frame timecode fixes this by skipping frame numbers 00 and 01 at the start of every minute, except every tenth minute. No pictures are dropped, only labels. After 00:00:59;29 comes 00:01:00;02. Drop-frame timecode is written with a semicolon before the frames; non-drop uses a colon. At 59.94 fps, four numbers are skipped instead of two.
Variable frame rate (VFR) in phone and screen recordings
The video frame rate printed in a file’s details is not always constant. Many phones and screen recorders do not record at a fixed rate. When the scene is dark or nothing moves, they record fewer frames, so the gap between frames changes through the video. The “30 fps” shown by a file’s details is then only an average. This variable frame rate has two practical effects:
- Frame counts: you cannot simply multiply duration by fps. A 10-second VFR clip labelled “30 fps” can have fewer than 300 frames.
- Frame times: frame 124 is not necessarily at 4.1 seconds. Tools that compute times from an average rate land on the wrong frame; tools that read each frame’s own timestamp do not.
The video frame extractor reads every frame’s timestamp from the file, so frame numbers and times are exact for VFR videos too. Choose your video in the calculator below to see its real frame count and whether its frame rate varies.
How many frames will I get?
Use the calculator to count the frames in a clip, find which frame is on screen at a given time, convert to timecode, and see how many images you get when you save one frame every N seconds. With one frame every second, a 10-minute video gives 600 images; with every frame of a 10-minute 30 fps video, it gives 18,000.
Frame count and timecode calculator
- Frames in the clip
- 300
- Images at one every N seconds
- 10
- Frame on screen at that time
- 124
- That frame starts at
- 4.1 s
- Timecode (non-drop)
- 00:00:04:03
- Timecode (drop-frame)
- only for 29.97 and 59.94
- One frame lasts
- 33.33 ms
Check the frame rate of your video
To look at frames one at a time, open the clip in the frame by frame video player; it shows the frame number and time as you step.
Example results
Results from the calculator (the same functions are covered by our unit tests):
| Input | Result |
|---|---|
| 10 s at 30 fps | 300 frames; 4.1 s is frame 124, timecode 00:00:04:03 |
| 60 s at 29.97 fps | 1,798 frames |
| 60 s at 23.976 fps | 1,439 frames |
| 29.97 fps, frame index 1,800 | drop-frame 00:01:00;02 |
| 29.97 fps, frame index 17,982 | drop-frame 00:10:00;00 |
| 59.94 fps, frame index 3,600 | drop-frame 00:01:00;04 |
| 1 hour at 29.97 fps, non-drop | timecode 3.6 s behind the clock |
| 10 minutes, one image every 5 s | 120 images |
Frame indexes count from 0 as in timecode; frame numbers on this site count from 1.