How timecode counts
SMPTE timecode labels every frame as hours:minutes:seconds:frames. The last field counts frames and rolls over at the project's frame rate, so at 24 fps it runs from 00 to 23 and at 30 fps from 00 to 29. That's why plain time maths gets it wrong: 00:00:10:20 plus 00:00:05:20 at 24 fps is 00:00:16:16, not 00:00:15:40.
Timecode is a counter, not a stopwatch. At whole-number rates such as 24, 25 or 50 fps the two agree perfectly. At the fractional rates inherited from broadcast TV, 23.976, 29.97 and 59.94, the video plays about 0.1% slower than the counter suggests, and that's where most mistakes creep in.
Drop-frame and non-drop-frame
Video at 29.97 fps shows 29.97 frames per real second, but timecode still labels 30 per second. Counted that way (non-drop-frame, or NDF), the counter falls behind the wall clock by 108 frames, 3.6 seconds, every hour.
Drop-frame (DF) fixes this by skipping two labels, ;00 and ;01, at the start of every minute except minutes 00, 10, 20, 30, 40 and 50. That's 108 skipped labels an hour, which brings the counter back in step. No picture is lost, only numbers are skipped. So 00:00:59;29 is followed by 00:01:00;02, while 00:09:59;29 is followed by 00:10:00;00. At 59.94 fps the same idea skips four labels, ;00 to ;03.
Drop-frame is usually written with a semicolon before the frames, like 01:00:00;00. The calculator accepts either separator and tells you when a label doesn't exist, which is a common sign that a timecode was typed at the wrong rate.
There's no standard drop-frame version of 23.976, so 23.976 timecode always runs 3.6 seconds an hour behind real time. Keep that in mind when a 23.976 edit has to hit an exact broadcast duration.
Real time versus timecode time
The Convert tab shows both. At 29.97 NDF, 01:00:00:00 is 108,000 frames and lasts 1 hour, 0 minutes and 3.6 seconds of real time. At 29.97 DF, 01:00:00;00 is 107,892 frames and lasts 59 minutes 59.996 seconds, within 4 milliseconds of a true hour.
Converting seconds to frames always lands on a whole frame, so the result is rounded to the nearest one. Need to know which rate a file actually uses? The video info tool reads it from the file.
Changing frame rate: keep the frames or keep the time?
Moving a timecode to another rate can mean two different things, so the Change rate tab gives both answers:
- Keep the frame count, every frame stays and the running time changes. This is what happens when 23.976 footage is conformed to 24, or 24 fps film is sped up to 25 for PAL delivery.
- Keep the real time, the same moment in real time, rounded to the nearest frame at the new rate. Use it to find a shot or a subtitle cue in a version of the programme made at another rate.
If you're retiming captions rather than a single timecode, the subtitle converter handles whole files, and the bitrate calculator tells you how big the export will be.
Shortcuts that save typing
- Digits only fill from the right, two per field, as in most editing apps:
1000is 00:00:10:00 and1000000is 01:00:00:00. - Fields fill from the right too, so
5:00means five seconds and1:00:00means one minute. - Add
ffor a frame count (250f) orsfor real-time seconds (2.5s). - Typing + or − in an empty line sets its operator. Backspace on an empty line removes it.