Timecode to Frames Calculator

Convert an SMPTE timecode (HH:MM:SS:FF) into a total frame count and a real-world duration for any standard frame rate, including drop-frame and non-drop-frame timecode.

Quick Facts

Formula
Total Frames = FPS x (H x 3600 + M x 60 + S) + F
Drop-frame timecode (29.97/59.94 fps) skips frame numbers each minute, except every 10th minute, to stay synced with real time.

Your Results

Calculated
Total frames
-
Frame count from 00:00:00:00
Real-time duration
-
Decimal seconds at actual playback rate
Duration (H:M:S.ms)
-
Wall-clock length of the clip
Timecode type
-
Drop-frame vs non-drop-frame

Ready

Enter a timecode and frame rate, then press Calculate.

Understanding Timecode to Frames conversion

SMPTE timecode labels every frame of video with an address in the form HH:MM:SS:FF — hours, minutes, seconds, and a two-digit frame number. This tool converts that address into a single total frame count (the frame number counting from 00:00:00:00), plus the equivalent real-world duration. It is the same math editing systems, VFX pipelines, and broadcast automation use to locate exact frames, trim clips, and hand off cue sheets between tools.

The core formula

For non-drop-frame timecode, the conversion is direct:

  • Total Frames = FPS x (Hours x 3600 + Minutes x 60 + Seconds) + Frames

where FPS is the nominal frame rate used for counting — 24, 25, 30, 50, or 60 — and Frames is the FF field, which must be less than FPS (frame numbers run 0 to FPS−1, never reaching FPS itself). For example, 01:23:45:12 at 30 fps is 30 x (1 x 3600 + 23 x 60 + 45) + 12 = 30 x 5025 + 12 = 150,762 frames.

Drop-frame vs. non-drop-frame timecode

Fractional NTSC rates (23.976, 29.97, and 59.94 fps) are exactly 24, 30, and 60 fps multiplied by 1000/1001 — a tweak made in 1953 so the added color signal would not interfere with the existing black-and-white broadcast. Because 29.97 fps runs slightly slower than 30 fps, a timecode that simply counts at 30 frames per second drifts about 3.6 seconds behind real time over one hour. Non-drop-frame (NDF) timecode accepts that drift; it always uses the plain formula above. Drop-frame (DF) timecode corrects it by skipping frame numbers 00 and 01 at the start of every minute except minutes divisible by 10 (00, 10, 20, 30, 40, 50). No video frames are deleted — only the numbers 00 and 01 are skipped in the count — which keeps the displayed timecode matching a wall clock to within a frame over long recordings.

Worked example: drop-frame at 29.97 fps

For 01:23:45:12 with drop-frame enabled, first compute the plain (non-drop) frame number at the nominal 30 fps: 150,762 frames, as above. Then subtract the frames dropped over the elapsed 83 minutes (60 x 1 + 23): 2 dropped frames per minute except every 10th minute leaves 83 − floor(83/10) = 75 "droppable" minutes, so 2 x 75 = 150 frames are subtracted, giving 150,612 total frames. The real elapsed time is the same either way — the drop-frame adjustment only changes how frame numbers map onto the clock, not how many frames actually exist.

Common frame rates and where they are used

  • 23.976 fps — film-originated content mastered for NTSC broadcast or streaming.
  • 24 fps — the traditional cinema film rate.
  • 25 fps — PAL/SECAM video, standard across most of Europe, Asia, Africa, and Australia.
  • 29.97 fps — NTSC broadcast video (North America, Japan); almost always paired with drop-frame timecode for long-form content.
  • 30 fps — non-broadcast digital video and some webcast formats.
  • 50 / 59.94 / 60 fps — high frame rate broadcast, sports, and slow-motion capture.

Reading the result

The real-time duration divides the total frame count by the exact frame rate (for example 30000/1001 for 29.97 fps, not the rounded 30), so it reflects actual elapsed time regardless of whether the timecode is drop-frame or non-drop-frame — that field is what changes when you toggle timecode type.

Frequently Asked Questions

What is the formula for converting timecode to frames?
Total Frames = FPS x (Hours x 3600 + Minutes x 60 + Seconds) + Frames, using the nominal frame rate (24, 25, or 30, for example) for counting. For 01:23:45:12 at 30 fps: 30 x 5025 + 12 = 150,762 frames.
What is the difference between drop-frame and non-drop-frame timecode?
Non-drop-frame (NDF) counts frames with the plain formula and drifts from real time on 29.97/59.94 fps footage. Drop-frame (DF) corrects that drift by skipping frame numbers 00 and 01 at the start of every minute except minutes divisible by 10, keeping the displayed timecode synced to a wall clock. No frames of video are removed — only frame numbers are skipped.
Why is NTSC frame rate 29.97 fps instead of 30 fps?
When color was added to NTSC broadcasting in 1953, engineers slowed the frame rate by a factor of 1000/1001 (30 fps to 30000/1001 = 29.97 fps) to prevent the new color subcarrier from interfering with the audio signal. The same 1000/1001 scaling gives 23.976 fps and 59.94 fps.
How do I convert a frame count back to timecode?
Reverse the formula: Frames = TotalFrames mod FPS, Seconds = floor(TotalFrames / FPS) mod 60, Minutes = floor(TotalFrames / (FPS x 60)) mod 60, Hours = floor(TotalFrames / (FPS x 3600)). For drop-frame timecode, add back the skipped frame numbers for each elapsed minute (except multiples of 10) before applying this reverse calculation.