Timecode calculator

Pick the frame rate, type two timecodes (or a timecode and a number of frames) and add or subtract them. Drop-frame 29.97 and 59.94 are handled, and the real clock time of the result is shown.

HH:MM:SS:FF, or a number of frames
HH:MM:SS:FF (drop-frame: HH:MM:SS;FF), or frames
Result01:12:34:10
Result in frames
108,860
Real elapsed time (h:mm:ss)
1:12:34.4
A in frames
90,000
B in frames
18,860
Actual frames per second
25

Runs in your browser: nothing you enter is sent anywhere.

How to use it

  1. Choose the frame rate of your project. For NTSC broadcast choose 29.97 drop-frame; for film at 23.976 or PAL at 25 choose those.
  2. Type timecode A as HH:MM:SS:FF. A colon, semicolon or dot between the parts all work.
  3. Choose add or subtract and type timecode B, or just a number of frames.
  4. Read the result as a timecode, in frames and as real time.

How it works

Each timecode is turned into a frame count:

frames = (3600 × h + 60 × m + s) × nominal fps + ff

The nominal rate is 24 for 23.976, 30 for 29.97 and 60 for 59.94. For drop-frame, 2 labels (4 at 59.94) are subtracted for each minute that is not a multiple of ten:

frames −= drop × (total minutes − ⌊total minutes ÷ 10⌋)

The counts are added or subtracted and the sum is turned back into a label. Real time is frames ÷ actual fps, where 29.97 means exactly 30000/1001.

Worked example

At 25 fps, 01:00:00:00 is 3,600 × 25 = 90,000 frames and 00:12:34:10 is 754 × 25 + 10 = 18,860 frames. The sum, 108,860 frames, is 01:12:34:10, and 108,860 ÷ 25 = 4,354.4 s = 1:12:34.4 of real time.

At 29.97 drop-frame, one frame after 00:00:59;29 comes 00:01:00;02: the labels ;00 and ;01 of minute 1 do not exist. One frame after 00:09:59;29 comes 00:10:00;00, because every tenth minute keeps them.

Common mistakes

  • Mixing drop-frame and non-drop: the same label means a different frame. Check the separator: editors write drop-frame with a semicolon before the frames.
  • Typing frames above the rate, such as :25 at 25 fps. Frames run from 00 to 24 there.
  • Treating 23.976 timecode as clock time. It runs slow; use the real elapsed time row for durations on the clock.

Frequently asked questions

What is drop-frame timecode?

NTSC video runs at 30 × 1000/1001 ≈ 29.97 frames per second, so plain 30-frame labels fall behind the clock by about 3.6 seconds an hour. Drop-frame timecode skips the labels ;00 and ;01 at the start of every minute except minutes 00, 10, 20, 30, 40 and 50. No frames are dropped, only numbers, and the timecode then matches the clock to within a frame or so over an hour.

How many frames are in an hour of 29.97 drop-frame?

01:00:00;00 is frame 107,892: 60 minutes × 1,800 labels minus 2 labels in each of the 54 minutes that are not a multiple of ten. Real time is 107,892 ÷ 29.97 = 3599.996 s.

Why does 23.976 fps not have drop-frame?

There is no standard drop-frame scheme for 23.976. Its timecode counts 24 labels per second, so it runs 0.1 % slower than the clock: one timecode hour lasts 1 hour 3.6 seconds of real time. The real elapsed time row shows this.

Can I type frames instead of a timecode?

Yes. A plain whole number in either box is read as a frame count, so you can add 250 frames to a timecode or turn a frame count into a timecode by adding it to 00:00:00:00.

More in Unit converters

All tools in this category: Unit converters ·Updated November 4, 2026

Privacy choices

Google Analytics shows us which tools are used and whether they work. It may set cookies. Your choice is kept in this browser.