Timecode Calculator
Add or subtract video durations. Convert timecode and frames at one selected rate. Free, private, no account needed.
01 · Enter & review
Duration rows
Use HH:MM:SS:FF or choose Frames. Enter a positive magnitude; choose Subtract for a deduction. Rate changes reinterpret your entries.
Row 1
Enter a duration to review this row.
Your entries remain in memory in this tab. Reloading or leaving this page clears them. Copy and download happen only when you choose them.
How timecode arithmetic works
Add timecode durations
Choose the frame rate used by your project. Enter one duration in each row and leave its operation as Add. Use Paste durations for a longer list, then check every imported line before copying or downloading the total.
Subtract a duration
Enter the duration to deduct in another row and choose Subtract. Keep the source value positive; the operation supplies its sign. The signed total can be negative. This does not calculate an inclusive interval between source in/out points.
Convert timecode to frames
Enter one timecode row and read Signed frames in the total. To convert frames to timecode, choose the Frames input kind and enter a whole frame count. Both directions use the one selected rate, without retiming video.
Choose the rate before entering durations
The frame field counts full video frames within each labeled second. At 25 fps, 00:00:00:24 is the last label before 00:00:01:00. The worksheet converts each valid entry to an integer frame count, adds or subtracts those counts, then formats the complete result at the same rate.
Use the Frames input kind to convert a known whole frame count into timecode. Do not enter a bare frame count in a Timecode field. Each row is a duration measured from zero; the tool does not subtract source in/out addresses or decide whether an endpoint is included.
Nominal labels and exact elapsed time
23.976, 29.97 and 59.94 are display names for the exact rates 24000/1001, 30000/1001 and 60000/1001 frames per second. Their nominal label bases are 24, 30 and 60. Elapsed seconds use the exact rate, not the rounded name.
The result shows a six-decimal approximation and a reduced exact fraction. A labeled timecode hour is not necessarily exactly 3,600 seconds. The CSV preserves the fraction so you can inspect that distinction.
Drop-frame skips labels, not video frames
At 29.97 DF, frame labels 00 and 01 are omitted at the start of every minute except minutes divisible by ten. At 59.94 DF, labels 00–03 are omitted at those boundaries. This numbering adjustment keeps labels close to elapsed clock time; it does not remove frames from your video.
Use HH:MM:SS;FF for DF and HH:MM:SS:FF for NDF. A skipped DF label is rejected, with its source row still visible. Some editors accept other punctuation, including all-semicolon styles; those formats are outside this worksheet’s input grammar.
A complete worksheet, with no hidden omissions
Paste one duration per line, then review every row. Labels are optional. Choose Add or Subtract separately from the unsigned source value. Any blank or invalid row makes the total incomplete and disables copy and CSV. Finish that row or remove it; valid entries are never exported as a supposed grand total of the whole list.
Rate changes preserve and reinterpret your original entries. Review the rows again after a change, particularly frame-field limits and DF separators. Copy a result for a quick check, or download the CSV to retain the complete row-by-row worksheet.
Checked examples
Add two durations at 25 fps
00:00:01:20 is 45 frames. 00:00:02:10 is 60 frames. Add them for 105 frames: 00:00:04:05, exactly 4.2 elapsed seconds.
Cross a drop-frame minute
At 29.97 DF, 00:00:59;29 plus one frame becomes 00:01:00;02. The result is 1,800 frames and exactly 60.06 elapsed seconds. 00:01:00;00 and 00:01:00;01 are skipped labels.
At 59.94 DF, the corresponding next label is 00:01:00;04: 3,600 frames, also 60.06 seconds. At the tenth minute, label 00:10:00;00 is retained.
Compare fractional-rate hours
01:00:00:00 at 29.97 NDF is 108,000 frames, exactly 3,603.6 seconds. 01:00:00;00 at 29.97 DF is 107,892 frames, exactly 3,599.9964 seconds. DF is close to a clock hour, not perfectly equal to it.
Convert frames to timecode at 25 fps
Choose 25 fps · NDF, set a row’s input kind to Frames and enter 90. Three whole seconds use 75 frames; the remaining 15 give 00:00:03:15, exactly 3.6 seconds. Conversely, 00:01:00:00 at 25 fps gives 1,500 frames and exactly 60 seconds.
Subtract without wrapping
At 24 fps, adding one frame and subtracting two yields -00:00:00:01, or −1 frame. Equal add/subtract contributions give plain zero. A 24-hour duration remains 24:00:00:00; it does not roll over to midnight.
Supported rates, formats & limits
Integer rates
24, 25, 30, 48, 50 and 60 fps, all NDF.
Fractional rates
23.976 NDF; 29.97 and 59.94 in either NDF or DF. The exact rational rate is shown beside your selection.
Full-frame notation
At 60-base rates, FF runs 00–59. Select full frames per second, not an interlaced field rate.
Strict inputs, bounded lists
Hours must have two or three ASCII digits, from 00 through 999; minutes, seconds and frames each have two. Minutes and seconds are 00–59. Frame counts must be unsigned whole digits within the selected rate’s 999-hour input limit. Outer spaces and tabs are allowed; signs, decimals, exponents, comments, compact strings and lookalike digits are unsupported.
Use up to 200 rows, 64 source characters per row and 80 characters per label. Labels cannot contain line breaks or NUL. Paste accepts up to 20,000 characters; one final newline is a delimiter, while internal blank lines remain rows. Over-limit paste is rejected as a whole. Combined durations can exceed the per-row hour limit.
Duration review, not media conversion
No mixed-rate rows, custom rates, source time-of-day addresses, inclusive in/out intervals, automatic 24-hour wrapping, speed changes, EDLs, captions, audio samples or media uploads. The full-frame high-rate display is an editor/worksheet convention; this tool does not implement LTC, VITC, ATC or frame-pair transport.
The CSV is a review worksheet, not a universal NLE import file. Formula-leading text receives a safety apostrophe for spreadsheet use; generated numeric frame counts remain numeric. All processing stays in this tab. To prepare a separate thumbnail image, use the Image Resizer; your worksheet inputs are not transferred.
Common timecode questions
What do HH, MM, SS and FF mean?
They are hours, minutes, seconds and the frame label within a second. For example, 00:00:01:12 at 24 fps is one labeled second plus 12 frames: 36 frames, exactly 1.5 elapsed seconds. The frame field is not a decimal fraction or milliseconds.
Should I choose drop-frame or non-drop-frame?
Match the counting mode of the durations you are checking. NDF counts every frame label; DF skips specified labels to stay closer to clock time at 29.97 or 59.94 fps. Dropping labels does not drop video frames. A colon before FF means NDF in this worksheet; a semicolon means DF. Do not change punctuation just to make an error disappear.
Why is the total incomplete?
Every row belongs to the worksheet, including blank pasted lines. Finish or remove each incomplete row, and correct any frame label that is invalid for the chosen rate. The worksheet never silently leaves a row out of a grand total. Nothing can be copied or downloaded until every row passes review.
Can I convert 24 fps footage to 25 fps here?
No. Changing the selected rate reinterprets your same original values; it does not preserve their elapsed duration, resample footage or convert between source and destination timebases. Use a workflow that explicitly defines whether it preserves playback duration or frame count for that separate job.
Method & sources
These examples were independently checked with exact rational arithmetic and counts of surviving frame labels. This is engineering review, not certification or an endorsement by a standards body. The source edition is identified below; no claim is made that it is the newest edition or that every editor uses the same input strings.
- SMPTE ST 12-1:2014 — Time and Control Code: integer/rational rates and drop-frame numbering; this worksheet does not implement the complete transport standard.
- IETF RFC 5484 — SMPTE Time-Code in RTP Streams: frame duration, count mode and interpretation.
- Avid MC|AM — Timecodes: full-frame 59.94 DF/NDF examples and version-dependent address rollover.
Found a calculation or format problem? Use Corrections. Send a synthetic example rather than private clip names or production details.