Timecode, Frames and Seconds: How the Conversion Works
How SMPTE HH:MM:SS:FF timecode maps to frame counts and seconds, why the frame rate matters, and where non-drop-frame differs from drop-frame.
Reading a SMPTE timecode
A SMPTE timecode has four fields written HH:MM:SS:FF, standing for hours, minutes, seconds and frames. The first three behave like an ordinary clock, counting up to 59 before rolling over. The last field, frames, counts from 0 up to one below the project frame rate, so at 24 fps it runs 0 to 23 and then ticks the seconds field. This four-part label lets an editor point at an exact single frame rather than a rough position in time.
Turning timecode into a frame count
To get a total frame count you first collapse the clock part into whole seconds: hours times 3600, plus minutes times 60, plus the seconds field. Multiply that by the frame rate and add the frame field, and you have the number of frames from the very start. For 00:01:30:00 at 24 fps the clock part is 90 seconds, times 24 gives 2160 frames, plus a frame field of 0. Reverse the process to go from frames back to timecode: divide by the rate for the total seconds, take the remainder as the frame field, then split the seconds into hours, minutes and seconds.
Why the frame rate changes everything
The same timecode means different real durations at different rates only in the frame field, but the same frame count means very different timecodes. A count of 500 frames is just over 20 seconds at 24 fps but exactly 20 seconds at 25 fps, because 500 divided by 25 is a whole 20. That is why this calculator always asks for the rate before it converts. Mixing footage shot at different rates without accounting for this is a common source of sync drift.
Non-drop-frame versus drop-frame
Broadcast video in North America often runs at 29.97 fps rather than a round 30, which slowly pushes the timecode clock ahead of real time. Drop-frame timecode fixes this by skipping two frame numbers at the top of most minutes, keeping an hour of timecode close to an hour on the wall clock. Non-drop-frame makes no such correction and simply counts every frame, so it is exact for frame math but not for matching a real clock at 29.97 fps. This tool uses non-drop-frame, which is ideal for film rates like 24 and 25 and for any workflow where you care about frame counts rather than broadcast clock time.