decoder.tools

SMPTE Timecode Decoder

Decode SMPTE video timecode and convert between timecode, frames and real time.

INPUT
OUTPUT

The result appears here as you type.

Decoding runs in your browser. What you paste is not sent to a server.

SMPTE timecode labels every frame of video as HH:MM:SS:FF, and a timecode decoder converts between that label, an absolute frame count and real elapsed time for a given frame rate.

Example

Input
01:23:45:12
Output
1h 23m 45s + 12 frames
Total frames: 125637
Seconds: 5025.480
Frame rate: 25 fps

What is the SMPTE Timecode Decoder?

Timecode is how film and broadcast address a specific frame. The format is hours:minutes:seconds:frames, where the frames field counts from zero up to one less than the frame rate. At 25 fps, 00:01:00:12 is the thirteenth frame of the second minute — frame 1512 overall.

The complication is 29.97 fps. NTSC colour television runs at 30/1.001 frames per second, so a counter labelled '30 fps' drifts against the clock by about 3.6 seconds per hour. Drop-frame timecode compensates by skipping the labels :00 and :01 in the frames field at the start of every minute except every tenth — no frames are lost, only their names. Non-drop timecode keeps sequential labels and accepts the drift.

Getting this wrong is a classic post-production error: a delivery timed against non-drop timecode arrives seconds long against a broadcast slot measured in real time.

How to use the SMPTE Timecode Decoder

  1. Choose the frame rate your project runs at.
  2. Enter a timecode to get the frame count, or a frame count to get the timecode.
  3. Note whether your workflow is drop-frame — the semicolon separator marks it.

When to use it

  • Converting an edit-decision-list timecode into an absolute frame number.
  • Checking programme duration against a broadcast slot in real seconds.
  • Reconciling drop-frame and non-drop timecode between two facilities.

SMPTE Timecode Decoder at a glance

FormatHH:MM:SS:FF (semicolon before frames = drop-frame)
Common rates23.976, 24, 25, 29.97, 30, 50, 59.94
Drop-frameSkips 2 frame labels per minute, except every 10th
Drift avoided≈3.6 seconds per hour at 29.97 fps

Frequently asked questions

What is drop-frame timecode?

A labelling scheme for 29.97 fps that skips two frame numbers at the start of most minutes so timecode stays aligned with real clock time. No picture frames are dropped — only their labels.

Why is NTSC 29.97 and not 30 fps?

When colour was added to NTSC, the frame rate was reduced by a factor of 1.001 to keep the colour subcarrier from interfering with the audio carrier. Every timecode headache since descends from that decision.

How do I tell drop-frame from non-drop?

By the separator: a semicolon or period before the frames field (00:01:00;02) means drop-frame; a colon throughout means non-drop.

Last reviewed · found a mistake? contact@decoder.tools · view as markdown