Frames to Timecode Converter

Enter a frame count and frame rate to get the SMPTE timecode and duration in seconds.

How it is calculated

The frame count is cut to a whole number and the frame rate is rounded to the nearest integer, R. Then: FF = frames mod R, total seconds = frames div R, SS = total seconds mod 60, MM = (total seconds div 60) mod 60, HH = total seconds div 3600. The timecode is printed as HH:MM:SS:FF with leading zeros. The second result, duration in seconds, uses the unrounded rate: frames ÷ fps. This is non-drop-frame counting only. At 29.97 fps the timecode counts at 30 per second while the seconds line uses 29.97, so the two drift apart: 107,892 frames shows 00:59:56:12 but lasts 3,600.00 seconds. Negative frames or a rate of zero give no result.

Worked example

90,137 frames at 25 fps. Whole seconds: 90,137 div 25 = 3,605, with a remainder of 90,137 − 3,605 × 25 = 12 frames, so FF = 12. Seconds 3,605 = 60 × 60 + 5, so HH = 1, MM = 0, SS = 5. Timecode: 01:00:05:12. Duration: 90,137 ÷ 25 = 3,605.48 seconds. Because 25 is a whole number, the timecode and the duration agree exactly: 12 frames is 0.48 s at 25 fps.

Try this example →

Common mistakes

  • Using the result as drop-frame timecode for 29.97 fps material: this tool counts at 30 per second without dropping any numbers, so it can differ from the clock by seconds over an hour.
  • Typing 29.97 and expecting the frame field to count to 29.97: the frame rate is rounded to 30 for the counting, so FF runs from 0 to 29.
  • Reading the last field as hundredths of a second: FF is a frame number, from 0 to the rate minus one, not a decimal.
  • Entering a time in seconds instead of frames: 3605 means 3,605 frames, which is under 2.5 minutes at 25 fps.
  • Starting the count at frame 1 instead of 0: frame 0 is 00:00:00:00, so the 25th frame of video is frame number 24, shown as 00:00:00:24.

About this calculator

SMPTE timecode labels every frame of video with an HH:MM:SS:FF address, letting editors, colorists and broadcast engineers reference an exact frame instead of a rough time. This calculator converts a raw frame count into that timecode at the frame rate the project uses — 24, 25, 29.97 or 60 fps, among others — rounding the rate to a whole number for counting, so 29.97 fps counts as 30.

At fractional NTSC rates like 29.97 fps, plain frame counting drifts from wall-clock time, which is why drop-frame timecode exists: it skips certain frame numbers on a schedule so the displayed timecode stays aligned with real elapsed time. This calculator always produces non-drop-frame timecode, which keeps every frame number but slowly diverges from the clock at 29.97 fps; the real elapsed time (frames ÷ exact frame rate) is shown next to it as seconds. Knowing which mode your delivery spec requires is essential for matching cut lists, syncing audio, and hitting broadcast specs frame-accurately.

Was this helpful?

You can pick up to 3 reactions.

Comments (1)

  • Editorial team

    At 29.97 fps, 107,892 frames last exactly 3,600.00 seconds on the tool's duration line, yet the timecode reads 00:59:56:12 because the counter runs at a flat 30 per second and never drops numbers. That is a lag of 3.6 seconds on a one-hour programme. For broadcast delivery on 29.97 material, use a drop-frame tool or check your editor's setting. Which frame rate do your clips use?

Popular calculators

All Calculators