# SMPTE Timecode Decoder

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

- Page: https://decoder.tools/smpte-timecode-decoder
- Category: Image, Media & Steganography
- Status: live, runs in the browser
- Last reviewed: 2026-10-23

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

```text Input
01:23:45:12
```

```text 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

| | |
|---|---|
| Format | HH:MM:SS:FF (semicolon before frames = drop-frame) |
| Common rates | 23.976, 24, 25, 29.97, 30, 50, 59.94 |
| Drop-frame | Skips 2 frame labels per minute, except every 10th |
| Drift avoided | ≈3.6 seconds per hour at 29.97 fps |

## FAQ

### 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.
