Drop-frame timecode, explained

What drop-frame timecode is, which frame numbers it skips, and how to do math with it without being off by a frame or two.

Why drop-frame exists

NTSC video runs at 29.97 frames a second, not 30. Timecode counting 30 frames a second falls behind the clock: an hour of 29.97 non-drop timecode takes 1 hour and 3.6 seconds to play. For broadcast, where a program has to end on time, that drift adds up.

Drop-frame timecode fixes the drift by skipping frame numbers, never frames of picture. At 29.97 DF, frames ;00 and ;01 are skipped at the start of every minute, except every tenth minute. That's 108 numbers an hour, which brings an hour of timecode to within a tenth of a frame of an hour on the clock.

See it skip

One frame after 00:00:59;29 is 00:01:00;02. Change the expression to try others; a ; before the frames means drop-frame.

Try one:

The rules

  • 29.97 DF skips 2 frame numbers (;00 and ;01) at each minute, except minutes 00, 10, 20, 30, 40 and 50.
  • 59.94 DF skips 4 (;00 to ;03) on the same minutes.
  • Drop-frame is written with a semicolon or a period before the frames: 01:00:00;00. Non-drop uses colons throughout.
  • 23.976 has no drop-frame. Its timecode counts like 24 and drifts from the clock by 3.6 seconds an hour.

Doing math with drop-frame

Because numbers are skipped, you can't add drop-frame timecodes digit by digit. By hand, 00:00:30;00 + 00:00:45;00 looks like 00:01:15;00, but the sum crosses a minute where two numbers were skipped, so the right answer is 00:01:15;02. Convert to frames, add, and convert back, which is what the calculator does.

Drop-frame and non-drop of the same frame

The same frame has a different timecode in drop-frame and non-drop. At an hour in, they're 3.6 seconds apart (108 frames). The calculator shows both, so you can match a drop-frame timecode against a non-drop log or the other way round.