TIMECODE

Drop-Frame Timecode Explained Without Dropping Frames

Drop-frame skips selected timecode numbers—not picture frames—to keep fractional-rate timecode close to elapsed clock time.

Reviewed August 18, 2026 · 8 minute read

SHORT ANSWER

The decision in one minute

At 29.97 fps, drop-frame timecode omits frame numbers 00 and 01 at the start of every minute except each tenth minute. At 59.94 it omits four labels. The video frames remain continuous; only their displayed addresses change. Non-drop timecode at the same frame rate slowly drifts from clock time.

Why fractional rates create clock drift

The common “29.97” rate is 30000/1001 frames per second, slightly slower than 30. If you count every frame as though exactly 30 occur each second, the timecode label falls about 3.6 seconds behind elapsed time per hour.

Drop-frame numbering compensates by skipping 108 labels per hour at 29.97: two labels in nine of every ten minutes. No media frames are deleted, duplicated, or blended.

Read the punctuation, then verify metadata

A semicolon before frames is a common drop-frame notation and a colon usually indicates non-drop, but text formatting is not proof. Confirm the project rate and timecode mode in the NLE, container metadata, EDL, or delivery specification.

FFmpeg documents that MOV timecode can be carried in a tmcd stream metadata tag. Other containers and workflows differ. A browser duration alone cannot prove starting timecode, drop-frame mode, reel, or 24-hour behavior.

Do not confuse timecode with frame-rate conversion

29.97 DF and 29.97 NDF can address the same sequence of frames using different labels. Conforming 29.97 media to another playback rate changes duration; changing timecode display mode does not.

Before comparing cue sheets, EDL events, captions, or QC notes, normalize rate, drop/non-drop mode, starting offset, reel, and whether the endpoint is inclusive or exclusive. A one-frame discrepancy is often a boundary convention, not bad arithmetic.

Test known boundaries

At 29.97 DF, 00:01:00;00 and ;01 are invalid labels, while 00:10:00;00 is valid because every tenth minute is exempt. Boundary fixtures catch implementations that apply the skip on the wrong minute or treat nominal 30 as actual 30.

Use standards-aware software for interchange and retain the original metadata. The calculator is useful for transparent frame arithmetic, but the current delivery specification and SMPTE timecode standard govern professional handoffs.

A practical workflow

  1. Identify the exact playback rate, preferably as a rational value.
  2. Confirm drop/non-drop mode and starting timecode from authoritative metadata or project settings.
  3. Record reel/clip identity and 24-hour wrap convention.
  4. Test a minute boundary and a tenth-minute boundary.
  5. Convert through absolute frame count when comparing systems.
  6. Verify critical conforms, captions, and EDLs in the destination application.