Video timecodes and frames
This page covers video timecodes in the HH:MM:SS:FF form used by editing software: working out clip lengths, adding frames, and converting between timecodes, frame counts and seconds. Reach for it when you log shots, plan an edit to a fixed running time, or check how many frames an animation needs.
For ordinary clock times and durations, see Clock times and durations.
Timecodes and frame rates
A timecode has four fields: hours, minutes, seconds and frames. Give its frame rate with @ or at, then convert it to frames or seconds with in.
00:12:04:10 @ 25 fps gives 00:12:04:1000:12:04:10 at 25 fps in frames gives 18,110 frames00:12:04:10 @ 25 fps in seconds gives 724.4 s00:00:10:00 in frames gives 240 framesWithout a frame rate, a timecode is read at 24 fps, which is why the last line gives 240 frames. The space in 25 fps is optional.
If the frames field is larger than the rate allows, the extra frames carry into the seconds:
00:00:10:30 @ 25 fps gives 00:00:11:05Clip lengths
Subtract one timecode from another to get the length of a clip, or count the frames between them.
clip start = 00:12:04:10 @ 25 fpsclip end = 00:12:31:05 @ 25 fpsclip end - clip start gives 00:00:26:20clip end - clip start in seconds gives 26.8 sframes between clip start and clip end gives 670 framesChoose names that don’t contain the word in on its own, such as in point. in starts a conversion, so a line like out point - in point isn’t read the way you mean. Names like clip start and clip end avoid the problem.
Adding frames and seconds
Add or subtract frames, seconds or whole timecodes. Multiply or divide to repeat or split a length.
cut = 00:01:14:23 @ 24 fpscut + 2 frames gives 00:01:15:01cut - 1 frame gives 00:01:14:22cut + 5 seconds gives 00:01:19:2300:00:09:00 @ 25 fps + 00:00:04:12 @ 25 fps gives 00:00:13:1200:01:30:00 @ 25 fps * 3 gives 00:04:30:0000:00:05:00 @ 25 fps / 2 gives 00:00:02:13- Answers are whole frames. Halving 5 seconds at 25 fps gives 62.5 frames, which is rounded to 63, so the answer is
00:00:02:13. - Timecodes stop at zero. Subtracting more than the timecode holds gives
00:00:00:00rather than a negative timecode. - Keep one frame rate. Only add timecodes that share a frame rate; to move to another rate, see Changing frame rate.
Frames, seconds and timecodes
A frame count or an ordinary duration turns into a timecode when you give it a frame rate. Add in frames to count the frames in a duration instead.
750 frames @ 25 fps gives 00:00:30:0086 frames at 25 fps gives 00:00:03:112 minutes at 25 fps gives 00:02:00:003 seconds 10 frames @ 25 fps gives 00:00:03:1012 frames @ 25 fps in seconds gives 0.48 s30 seconds at 25 fps in frames gives 750 frames90 minutes @ 25 fps in frames gives 135k framesLarge counts that end in zeros are shortened, so 135,000 frames shows as 135k frames.
29.97 and 23.976 fps
Timecodes here are non-drop-frame. At 29.97 fps the frames field still counts 30 frames to each timecode second, and at 23.976 fps it counts 24. Drop-frame timecodes, written with a semicolon, aren’t supported.
00:00:10:00 @ 29.97 fps in frames gives 300 frames100 frames at 29.97 fps gives 00:00:03:1000:00:01:00 @ 29.97 fps in seconds gives 1.001001001 s00:00:01:00 @ 23.976 fps in seconds gives 1.001001001 sBecause these rates are slightly slower than their labels, a timecode second lasts a little over one real second. Converting to seconds gives the real running time, so a programme that ends at 00:21:30:00 at 29.97 fps actually runs for about 1,291 seconds rather than 1,290.
Changing frame rate
To move a length from one frame rate to another, convert it to seconds first, then give the new rate.
(00:00:10:00 @ 25 fps in seconds) at 50 fps in frames gives 500 frames(00:02:30:00 @ 25 fps in seconds) at 30 fps gives 00:02:30:00Putting it together
Here is a note for a 30-second advert edited at 25 fps. The three shots have to fit the broadcast slot, and the last lines show how much room is left.
intro = 00:00:04:12 @ 25 fpsinterview = 00:00:18:20 @ 25 fpsend card = 00:00:05:00 @ 25 fpsedit = intro + interview + end card gives 00:00:28:07slot = 00:00:30:00 @ 25 fpsslot - edit gives 00:00:01:18slot - edit in frames gives 43 framesEvery timecode carries the same rate, so the total adds up frame by frame. With 43 frames spare, you can lengthen the interview or hold the end card a little longer, and the running total updates as you change the shot lengths.