FRAME ADDRESS GUIDE
A label is not
a stopwatch.
Framecode maps one video frame address to its zero-based offset from 00:00:00:00 or 00:00:00;00. The selected physical frame rate determines elapsed seconds. The numbering system determines the label.
What does zero-based mean?
Offset 0 is the start of the first frame. Offset 1 is one frame interval later, at the start of the second frame. An offset of 1800 therefore says there are 1800 frame intervals before that frame’s start. It does not mean an inclusive selection from the first through that frame contains 1800 frames.
This tool does not interpret clip in/out points, a custom starting timecode or a duration crossing midnight. Those questions need additional endpoint and rollover conventions. Here, all addresses belong to one label cycle and all offsets are anchored at zero.
Physical rate and nominal label rate
At 25 NDF, one nominal second contains labels 00 through 24 and the physical frame rate is 25 fps. At the 23.976 NDF preset, labels still count 00 through 23, but the physical rate is exactly 24000/1001 fps. Label 00:00:01:00 has offset 24 and starts at 24 × 1001/24000 = 1.001 physical seconds.
Similarly, the 29.97 presets mean exactly 30000/1001 fps and use a 30-label numbering base. The 59.94 NDF preset means exactly 60000/1001 fps and uses 60 labels. These presets do not represent literal decimal rates 29.97, 23.976 or 59.94. If a project truly uses a different exact rate, this tool’s presets are not a substitute for it.
Non-drop-frame calculation
NDF uses a colon before the frame field: HH:MM:SS:FF. It retains all nominal frame numbers. For hours h, minutes m, seconds s, frame field f and nominal label rate N:
Nominal label count = ((3600 × h + 60 × m + s) × N) + f
NDF frame offset = nominal label count
Physical elapsed seconds = frame offset × rate denominator ÷ rate numerator
At 30000/1001 NDF, label 01:00:00:00 gives 3600 × 30 = 108,000 frames. The physical time is 108,000 × 1001/30000 = 3603.6 seconds. The label looks like one hour; the physical elapsed time is longer.
The supported drop-frame rule
For this release, DF is available only at 30000/1001 fps. Use a semicolon before the frame field: HH:MM:SS;FF. Labels 00 and 01 do not exist at second 00 of each minute whose minute number is not divisible by 10. At minutes 00, 10, 20, 30, 40 and 50, both labels are present.
This changes frame numbering. It does not remove picture frames. For example, 00:00:59;29 is followed by 00:01:00;02. But 00:09:59;29 is followed by 00:10:00;00. The calculator rejects a nonexistent label instead of silently repairing it.
Total minutes M = 60 × h + m
Skipped label count = 2 × (M − floor(M ÷ 10))
DF frame offset = nominal label count − skipped label count
The inverse conversion uses ten-minute blocks: each has 17,982 actual frames, made from an initial 1800-frame minute and nine 1798-frame minutes. Its arithmetic is checked against an independent sequential label walk across every valid frame offset in the supported DF cycle.
Worked addresses at 30000/1001 DF
| Label | Frame offset | What it shows |
|---|---|---|
| 00:00:00;00 | 0 | First frame start |
| 00:00:59;29 | 1799 | Last label of minute 00 |
| 00:01:00;02 | 1800 | First valid label of minute 01 |
| 00:10:00;00 | 17,982 | No skip at minute 10 |
| 01:00:00;00 | 107,892 | 108 skipped labels before this address |
| 23:59:59;29 | 2,589,407 | Last address of this cycle |
At 00:10:00;00, the physical time is 17,982 × 1001/30000 = 599.9994 seconds. At 01:00:00;00 it is 3599.9964 seconds. DF closely follows elapsed time, but these values are not exactly 600 and 3600 seconds at the selected rational rate.
A cycle boundary is explicit
The supported DF label cycle contains 2,589,408 frames. Its last valid offset is therefore 2,589,407. Entering 2,589,408 is rejected rather than wrapped to zero. NDF cycle capacity is 86,400 × nominal label rate.
A complete DF cycle at 30000/1001 spans 86,399.9136 physical seconds. A 24-hour label cycle is a numbering boundary; it is not promised to last exactly 86,400 physical seconds at every rate. Hour 24 and negative timecodes are outside this calculator’s scope.
Input and report behaviour
Enter all four timecode fields with two digits each. Hours are 00–23, minutes and seconds 00–59, and frame numbers must fit the nominal label base. Whole frame offsets use digits only; scientific notation, commas, signs and fractional frames are rejected. Outer whitespace is trimmed.
The active field follows your selected input direction. The other field is read-only. Changing direction carries a valid exact address. Invalid input clears its calculated counterpart and disables reports. Changing rate reinterprets the active entry, including its separator; it does not convert or transcode media.
Copy, Text and CSV reports contain the exact rate, address, frame offset and reduced fractional elapsed seconds alongside a decimal rounded to at most 10 places. No intermediate frame count is rounded. Reset restores the 29.97 DF first-minute example after the browser’s native reset completes.
Primary reference context
Adobe’s official Premiere Pro reference (PDF) documents the nominal-30 drop-frame label rule. Apple’s Technical Q&A QA1447 records rational media rates and sample durations. Adobe’s timecode display documentation provides editing-interface context.
This is an independent arithmetic tool implementing the stated subset. It does not certify full SMPTE compliance, read LTC/VITC, address interlaced fields or support 59.94 DF. It does not inspect media, alter playback rate or infer a project’s settings.