Timecode Calculator

Add or subtract two timecodes at any broadcast frame rate, correctly handling drop-frame arithmetic. The companion to the LTC Timecode Generator.

: : :
: : :

Result

Result Timecode—
Total Frames (A op B)—
Duration—

Embed This Tool

Add this calculator to your own site or wiki. It stays live and up to date, with a small credit link back to Infinite Creation.

Why Timecode Math Isn't Just Clock Math

Timecode looks like a clock (HH:MM:SS:FF) but doesn't behave like one. The frame count per second depends on your frame rate, and 29.97/30 fps drop-frame timecode deliberately skips frame numbers to keep long-form timecode in sync with real wall-clock time, so naive HH:MM:SS:FF addition gives the wrong answer unless you convert through total frame counts first, which is what this tool does.

Drop-Frame vs Non-Drop-Frame

Drop-frame (DF) timecode skips frame numbers 00 and 01 at the start of every minute except every 10th minute, which keeps 29.97 fps timecode matching real-world clock time over long recordings. Non-drop-frame (NDF) counts every frame and drifts about 3.6 seconds per hour against wall-clock time. Broadcast delivery almost always specifies which one to use, mixing them on the same project causes sync errors.

When You'd Use This

FAQ

Q: Why does subtracting give a huge timecode instead of going negative?
A: Timecode wraps at 24 hours. If B is larger than A, the result wraps around from 23:59:59:xx rather than showing a negative value. Treat a result close to 24:00:00:00 as effectively negative.

Q: Does the frame rate of A and B have to match?
A: Yes. This tool assumes both timecodes are at the frame rate you select above. Convert one first with the Frame Rate Converter if your sources differ.

Worked examples: timecode against real elapsed time

One hour of timecode is not always one hour of clock time. This shows how many frames an hour holds at each rate, how long that actually takes, and how far it drifts. The drift is why drop-frame timecode exists.

Frame rateFrames in 1 hourReal time elapsedDrift per hourDrop-frame
23.976 fps86,40001:00:03.600+3.600 sNo
24 fps86,40001:00:00.000+0.000 sNo
25 fps (PAL)90,00001:00:00.000+0.000 sNo
29.97 fps non-drop108,00001:00:03.600+3.600 sNo
29.97 fps drop-frame107,89200:59:59.996-0.004 sYes
30 fps108,00001:00:00.000+0.000 sNo
50 fps180,00001:00:00.000+0.000 sNo
59.94 fps non-drop216,00001:00:03.600+3.600 sNo

The rates ending in .97 and .976 come from a 1/1.001 slowdown introduced when colour was added to black and white television, and every drift in this table traces back to it. Drop-frame does not drop frames of picture. It skips two numbers in the counting each minute, except every tenth minute, so the labels stay aligned with the clock. Non-drop counts every frame and accepts running long.

Vocabulary

Timecode. A label attached to each frame in hours, minutes, seconds and frames, used to identify an exact point in a recording. A counting system for frames, which is not the same thing as a measurement of elapsed time.

Drop-frame. A timecode counting scheme that skips two frame numbers at the start of most minutes so the count stays aligned with the wall clock at 29.97 and 59.94 fps. No picture is lost, only numbers in the sequence.

Non-drop. Timecode that counts every frame in order. Simpler to reason about, and at 29.97 fps it runs about 3.6 seconds long over an hour, which matters for broadcast durations and not much else.

Pull-down. The 1/1.001 slowdown applied when colour television was introduced, which turned 30 fps into 29.97 and 24 into 23.976. Every awkward frame rate in this table exists because of that one change.

Translate this page

Machine translation provided by Google Translate, on Google’s servers. We do not check these translations and they will get technical terms wrong. The English page is the authoritative one. Following a link sends this page’s address to Google. Your browser may also offer to translate this page itself, which keeps the request on your device.