Timecode Calculator

Add or subtract timecodes at any frame rate, with drop frame handled properly — and see instantly how many frames and how much real time that is.

Free Instant No sign-up

Your timecodes

Frame rate
Drop frame

Only exists at 29.97 and 59.94 fps.

Operation
Result
00:00:00:00
0total frames
0real duration
0frames in A
0frames in B

Format HH:MM:SS:FF. In drop frame the frame separator is “;” — that is how the industry writes it.

Quick cases

How timecode maths works

You do not add timecodes column by column. First each one is converted to an absolute frame number, then you operate on that number, and only then format it back.

frames=(HH × 3600 + MM × 60 + SS) × fps + FF

With drop frame there is one more step. At 29.97 fps two frame labels are skipped at the start of every minute, except on minutes 0, 10, 20, 30, 40 and 50. At 59.94 fps four are skipped. That is subtracted like this:

DF frames=frames − skips × (total minutes − ⌊total minutes ÷ 10⌋)

The result is that the counter lines back up with the wall clock. After one real hour shooting at 29.97 fps you have captured 107,892 frames, which in drop frame read exactly 01:00:00;00. That same point counted as non-drop would read 00:59:56:12 — nearly four seconds below the clock.

Example: the minute rollover in drop frame

The case that throws everyone the first time. At 29.97 fps DF, add a single frame to 00:00:59;29:

  • 00:00:59;29 is 1,799 frames (nothing is skipped in minute 0).
  • Add 1 frame → 1,800 frames.
  • Result: 00:01:00;02, not 00:01:00;00.

Entering minute 1 skips two labels, so frames ;00 and ;01 of that minute simply do not exist. The picture loses nothing: only the numbering jumps.

And the exception to the exception: on minutes that are multiples of ten nothing is skipped. That is why 00:09:59;29 + 1 frame gives a clean 00:10:00;00 — and why the hour rollover is clean too, since minute 60 is a multiple of ten.

Timecode FAQ

What is timecode and how do I read it?
It is the exact address of a frame, written HH:MM:SS:FF — hours, minutes, seconds and frames. The last pair counts frames inside the second, so at 25 fps it runs 00 to 24, and at 30 fps 00 to 29. It never reaches the frame rate number itself.
What is drop frame and why does it exist?
NTSC video does not run at exactly 30 fps but at 29.97. If you counted 30 frames per second, timecode would run ahead of the real clock by about 3.6 seconds every hour. Drop frame fixes that by skipping two frame labels at the start of every minute, except on minutes that are multiples of ten.
Does drop frame delete frames from my video?
No. Not a single picture frame is lost: only numbers in the counting are skipped. It is a way of counting, not a trim. That is why footage looks identical in DF and NDF.
Why is it written with a semicolon?
By convention, drop frame uses ";" before the frames (01:00:00;00) and non-drop uses ":" (01:00:00:00). That way you can tell them apart at a glance in any editing application.
When should I use drop frame versus non-drop?
Drop frame for NTSC broadcast work (29.97 and 59.94 fps), where running time has to match the real clock to the second. Non-drop for film, for PAL (25 fps) and for any 24 fps project, where the frame rate is a whole number and there is no drift to correct.
Can I add timecodes from different frame rates?
Not directly: a frame at 24 fps and a frame at 60 fps do not last the same. You have to convert both to frames or to seconds using their own frame rate before operating. This calculator works with one frame rate at a time, precisely so you do not mix them by accident.