Frame Rate & Timecode Calculator

Convert a frame count to HH:MM:SS:FF timecode and back at any frame rate, with the matching duration in seconds. Calculated in your browser.


Frames → timecode:


Timecode → frames (HH:MM:SS:FF):

Timecode for frame count

-

Duration of that frame count-
Frames for the timecode-

Show the math

Non-drop timecode counts whole frames at the rounded frame rate:

seconds = frames ÷ fps  FF = frames mod fps

At 24 fps, 1,440 frames is exactly one minute (00:01:00:00). Drop-frame timecode (used for 29.97 fps broadcast) is not applied here.

Everything is calculated in your browser.

What this does

A frame rate and timecode calculator converts a frame count to HH:MM:SS:FF timecode and back at any frame rate, with the matching duration in seconds.

How to use it

  1. Set the frame rate.
  2. Enter frames or a timecode.
  3. Read the converted value.
  4. See the duration in seconds.

How it works

Non-drop timecode counts whole frames at the rounded rate; the frame field is frames mod fps. Drop-frame (for 29.97 fps broadcast) is not applied here.

seconds = frames ÷ fps

Understanding your result

Timecode is an address for a single frame, not just elapsed time, so the frame field counts from zero up to one less than the frame rate before the seconds tick over. This calculator uses non-drop timecode, which counts every frame; broadcast 29.97 fps uses drop-frame to stay in sync with real clock time, so for that workflow expect a small drift this does not model.

Example

At 24 fps, 1,440 frames is exactly 00:01:00:00.

Sources & methodology

Last updated .

Frequently asked questions

How does the conversion work?

Non-drop timecode counts whole frames at the rounded frame rate: seconds = frames ÷ fps, and the frame field is frames mod fps. At 24 fps, 1,440 frames is exactly 00:01:00:00.

Does it handle drop-frame timecode?

No — this uses non-drop timecode. Drop-frame (used for 29.97 fps broadcast) skips frame numbers to stay in sync with real time and is not applied here.

Is anything uploaded?

No. The calculation runs entirely in your browser — nothing you enter is sent anywhere.