About the Frame to Timecode
This calculator turns a raw frame count into a standard hours:minutes:seconds:frames timecode at a chosen frame rate, the format editors and colorists use to reference exact points on a video timeline. It also reports the equivalent total clip duration in seconds.
How It Works
Enter the total frame count and the frame rate in frames per second. Both inputs are rounded to whole numbers, with the frame rate floored at a minimum of 1 and the frame count floored at a minimum of 0, and the tool then works out whole seconds, minutes, and hours by successive division, with any leftover frames becoming the frame component of the timecode.
Formula & Methodology
Working this out by hand follows the same steps: divide the frame count by the frame rate and keep only the whole-number part to get total elapsed seconds, then split those seconds into hours, minutes, and remaining seconds using standard base-60 division. The leftover frames, found with total frames mod fps, fill in the final two digits of the timecode.
Examples
A 50-Second Clip at 30fps
Using the calculator's default inputs of 1,500 total frames at 30 fps returns a timecode of 00:00:50:00 and a total duration of 50.00 seconds, since 1,500 divides evenly by 30 with nothing left over.
A Partial-Second Frame Count
Entering 725 total frames at 24 fps gives 30 whole seconds with 5 frames remaining, producing a timecode of 00:00:30:05 and a duration of about 30.21 seconds.
Advantages
- Converts an editing tool's raw frame counter directly into the timecode format used across professional video software and delivery specs
- Handles hour and minute rollover automatically, avoiding manual base-60 arithmetic mistakes on longer clips
- Reports total duration in seconds alongside the timecode, useful for matching against audio length or export requirements
Common Mistakes
- Applying this non-drop-frame calculation to 29.97 or 59.94 fps footage that actually uses drop-frame timecode in its editing project, producing numbers that drift from the project's displayed timecode over long durations
- Entering a decimal frame rate like 29.97 directly without accounting for it being rounded to the nearest whole number (30) before the calculation runs
- Mistaking the frame component of the output, a count from 0 up to fps minus 1, for a fraction of a second rather than a whole-frame index
Edge Cases to Watch For
- Non-integer inputs are rounded to the nearest whole number before any math runs, since both frame counts and frame rates are inherently whole values.
- A frame rate of zero or below is floored up to a minimum of 1 fps, and a negative frame count is floored up to 0, so unusual inputs never produce an undefined or negative timecode.
- This is non-drop-frame timecode, which counts frames exactly; footage shot at 29.97 or 59.94 fps under a drop-frame workflow will show a different, skipped-frame-number count over long durations even though the underlying rate rounds to 30 or 60 here.
Common Use Cases
- Video editors converting between a raw frame count reported by software and a human-readable timecode for notes or client communication
- Colorists and VFX artists checking where a specific frame number falls within a longer timeline
- Anyone verifying total clip duration in seconds from a known frame count and frame rate ahead of an export