What is the Frames to Timecode Calculator?
This tool converts a raw frame count into SMPTE-style timecode written as HH:MM:SS:FF (hours, minutes, seconds, frames). Editors, animators, colorists and motion-graphics artists constantly work in frames, but delivery specs, EDLs and review notes are usually expressed in timecode. Enter the total number of frames and the project's frame rate to get the exact timecode plus the equivalent duration in seconds.
How to use it
Type the total frame count, then pick the frame rate (fps) that matches your sequence — common choices are 24, 25, 29.97, 30, 50, 59.94 and 60. The calculator returns the timecode along with a breakdown of hours, minutes, seconds and the remaining frames, and the total length in seconds.
The formula explained
The duration in seconds is simply the frame count divided by the frame rate. To build the timecode, the frames are divided by the (rounded integer) frame rate to get the whole seconds; that value is split into hours, minutes and seconds, while the leftover frames form the FF field: \(\text{FF} = \text{frames} \bmod \text{fps}\). This calculator uses non-drop-frame counting, where every second contains the same whole number of frames.
$$\begin{gathered} \text{TC} = \text{HH}:\text{MM}:\text{SS}:\text{FF} \\[1.5em] \text{where}\quad \left\{ \begin{aligned} r &= \operatorname{round}\!\left(\text{FPS}\right) \\ \text{FF} &= \text{Frames} \bmod r \\ S &= \left\lfloor \dfrac{\text{Frames}}{r} \right\rfloor \\ \text{SS} &= S \bmod 60 \\ \text{MM} &= \left\lfloor \dfrac{S}{60} \right\rfloor \bmod 60 \\ \text{HH} &= \left\lfloor \dfrac{S}{3600} \right\rfloor \end{aligned} \right. \end{gathered}$$
Worked example
Suppose you have 1500 frames at 30 fps. Duration = \(1500 \div 30 = 50\) seconds. Whole seconds = 50, so MM = 0, SS = 50, and the leftover frames \(\text{FF} = 1500 \bmod 30 = 0\). The timecode is 00:00:50:00.
$$1500 \div 30 = 50 \text{ s}$$$$\text{FF} = 1500 \bmod 30 = 0$$FAQ
Does this use drop-frame timecode? No — it computes non-drop-frame (NDF) timecode. At 29.97 or 59.94 fps, broadcast deliverables may require drop-frame, which periodically skips frame numbers to stay aligned to wall-clock time.
Why round 29.97 to 30 for the FF field? Timecode frame fields are whole numbers, so the nominal integer rate (30) is used for the HH:MM:SS:FF breakdown, while the precise rate (29.97) is used for the exact duration in seconds.
Can I go the other way? Yes — to convert timecode back to frames, multiply each field out: \(\text{frames} = ((\text{HH}\times 3600 + \text{MM}\times 60 + \text{SS}) \times \text{fps}) + \text{FF}\).