Apps & Tools
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
Knowledge Base
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
- Working out the timecode of a cut point a known duration into a clip.
- Confirming a program's total runtime by adding segment timecodes together.
- Checking how far apart two logged shot timecodes are.
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 rate | Frames in 1 hour | Real time elapsed | Drift per hour | Drop-frame |
|---|---|---|---|---|
| 23.976 fps | 86,400 | 01:00:03.600 | +3.600 s | No |
| 24 fps | 86,400 | 01:00:00.000 | +0.000 s | No |
| 25 fps (PAL) | 90,000 | 01:00:00.000 | +0.000 s | No |
| 29.97 fps non-drop | 108,000 | 01:00:03.600 | +3.600 s | No |
| 29.97 fps drop-frame | 107,892 | 00:59:59.996 | -0.004 s | Yes |
| 30 fps | 108,000 | 01:00:00.000 | +0.000 s | No |
| 50 fps | 180,000 | 01:00:00.000 | +0.000 s | No |
| 59.94 fps non-drop | 216,000 | 01:00:03.600 | +3.600 s | No |
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
- Español
- 简体中文
- हिन्दी
- العربية
- Português
- Français
- Deutsch
- 日本語
- Русский
- Bahasa Indonesia
- 한국어
- Italiano
- Türkçe
- Tiếng Việt
- Polski
- Nederlands
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.