How to use it
- 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.
- Type timecode A as HH:MM:SS:FF. A colon, semicolon or dot between the parts all work.
- Choose add or subtract and type timecode B, or just a number of frames.
- 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.