How frames become timecode
Timecode is a frame count written in hours, minutes, seconds and frames. To turn a count into a label, divide by the number of frames counted per second for the rate: 24 at 23.976 and 24, 25 at 25, 30 at 29.97 and 30, 60 at 59.94 and 60. The remainder is the frames field; the whole seconds split into hours, minutes and seconds as on a clock.
Frame counts start at zero, so frame 0 is 00:00:00:00 and frame 25 at 25 fps is 00:00:01:00. Drop-frame rates add one more step: some labels are skipped each minute, so the calculator adds those skipped numbers back before it splits the count. That is why 1,800 frames at 29.97 drop-frame is 00:01:00;02, not 00:01:00;00.
1,000 frames at every rate
The same frame count gives a different label and a different running time at each rate.
| Rate | Timecode | Real time |
|---|---|---|
| 23.976 | 00:00:41:16 | 41.708 s |
| 24 | 00:00:41:16 | 41.667 s |
| 25 | 00:00:40:00 | 40.000 s |
| 29.97 DF | 00:00:33;10 | 33.367 s |
| 29.97 NDF | 00:00:33:10 | 33.367 s |
| 30 | 00:00:33:10 | 33.333 s |
| 50 | 00:00:20:00 | 20.000 s |
| 59.94 DF | 00:00:16;40 | 16.683 s |
| 60 | 00:00:16:40 | 16.667 s |
23.976 and 24 share a label because both count 24 frames a second; the 23.976 version plays slightly longer because its frames really run 1000/1001 slower.
Timecode to frames
Going the other way, multiply out the fields: hours × 3,600 plus minutes × 60 plus seconds gives whole seconds; multiply by the counted rate and add the frames field. Ten minutes is 14,400 frames at 23.976, 15,000 at 25, and 17,982 at 29.97 drop-frame, because drop-frame removes 18 labels in those ten minutes.
In the calculator, type in any of the three boxes: the timecode, the frame count or the running time in seconds. The other two follow, so you can paste a frame number from a render log or an edit list and read its timecode straight away.
Frames and seconds
Real time is the frame count divided by the real rate, not the counted one. At 25 fps the two are the same. At 29.97, 100,000 frames run 55 min 36.667 s and the drop-frame label is 00:55:36;20, which matches the clock. When you start from seconds, the result is rounded to the nearest frame and the calculator says so.
Need to add up several clips instead? Use the timecode duration calculator, or the main timecode calculator for every tool on one page.
Questions
How do I convert frames to timecode?
Divide the frame count by the frames counted per second for your rate (24, 25, 30 or 60); the remainder is the frames field and the rest splits into hours, minutes and seconds. For drop-frame rates the skipped labels are added back first. The converter does all of this as you type.
How many frames are in one second of timecode?
As many as the rate counts: 24 at 23.976 and 24 fps, 25 at 25 fps, 30 at 29.97 and 30 fps, 50 at 50 fps and 60 at 59.94 and 60 fps.
Why does 1,800 frames at 29.97 drop-frame show 00:01:00;02?
Drop-frame skips the labels ;00 and ;01 at the start of every minute except each tenth minute, so the frame after 00:00:59;29 is called 00:01:00;02.
Does the first frame count as frame 0 or frame 1?
Frame 0. Timecode is zero-based, so 00:00:00:00 is the first frame and a count of 25 at 25 fps lands on 00:00:01:00.