Free Timecode Calculator: frames, seconds, drop-frame and frame rates
Convert a timecode to frames, seconds or a YouTube time stamp and back, add and subtract timecodes, add up a list of durations, move a timecode to another frame rate and see how far non-drop timecode drifts from the clock. It handles 29.97 and 59.94 drop-frame (HH:MM:SS;FF) and can read the frame rate of your video file. Everything runs in your browser.
Timecode calculator
Convert (type in any field)
Add or subtract
Add up a list of durations
Change the frame rate
Timecode vs real time
| Frame rate | Lasts in real time | Difference | The same clock time reads |
|---|
Nothing is uploaded. The calculator is arithmetic in this page. If you read a video, your browser only looks at the file's header, right here in this tab.
How to use it
- Pick the frame rate of your timeline (at 29.97 and 59.94, choose drop-frame if your editor shows semicolons). If your timeline starts at 01:00:00:00, type that as the start: the frames, seconds and YouTube fields then count from the start of the video.
- Type in any of the four fields: a timecode, a frame count, seconds or a YouTube time stamp (1:02:03, 62:03, 1h2m3s or a link with t=). The other three update as you type. You can also type a timecode like on a keypad: 1000000 is 01:00:00:00.
- Add or subtract two timecodes, paste a list of durations to get the total, move a timecode to another frame rate, or type a length to see how much real time it lasts at each rate. Every result has a Copy button.
How drop-frame timecode works
Timecode counts frames: 30 frame numbers per timecode second at 29.97, 60 at 59.94. Because the real rate is a little slower than 30 (30000/1001 frames per second), counting 30 per second runs behind the clock. Drop-frame skips frame numbers to catch up. These jumps are what the calculator does:
- 29.97 drop-frame: 00:00:59;29 is followed by 00:01:00;02 (numbers 00 and 01 of minute 1 do not exist), but 00:09:59;29 is followed by 00:10:00;00, because every tenth minute keeps them.
- 59.94 drop-frame: 00:00:59;59 is followed by 00:01:00;04 (numbers 00 to 03 are skipped), and 00:09:59;59 is followed by 00:10:00;00.
- A timecode like 00:01:00;00 does not exist in drop-frame, so the calculator rejects it and tells you the two labels around the gap.
What one hour of timecode means at each frame rate, computed with the same formulas as the calculator:
| Frame rate | Frames in 01:00:00:00 | Real time of 01:00:00:00 | Difference | After one real hour the timecode reads |
|---|---|---|---|---|
| 23.976 fps | 86,400 | 1:00:03.600 | 3.6 s behind the clock | 00:59:56:09 |
| 24 fps | 86,400 | 1:00:00.000 | none | 01:00:00:00 |
| 25 fps | 90,000 | 1:00:00.000 | none | 01:00:00:00 |
| 29.97 fps (non-drop) | 108,000 | 1:00:03.600 | 3.6 s behind the clock | 00:59:56:12 |
| 29.97 fps drop-frame | 107,892 | 0:59:59.996 | 3.6 ms ahead of the clock | 01:00:00;00 |
| 30 fps | 108,000 | 1:00:00.000 | none | 01:00:00:00 |
| 47.952 fps | 172,800 | 1:00:03.600 | 3.6 s behind the clock | 00:59:56:19 |
| 48 fps | 172,800 | 1:00:00.000 | none | 01:00:00:00 |
| 50 fps | 180,000 | 1:00:00.000 | none | 01:00:00:00 |
| 59.94 fps (non-drop) | 216,000 | 1:00:03.600 | 3.6 s behind the clock | 00:59:56:24 |
| 59.94 fps drop-frame | 215,784 | 0:59:59.996 | 3.6 ms ahead of the clock | 01:00:00;00 |
| 60 fps | 216,000 | 1:00:00.000 | none | 01:00:00:00 |
So a marker at 01:00:00:00 on a 29.97 non-drop timeline that starts at 00:00:00:00 is at 1:00:03.6 in the exported video. With drop-frame it is 3.6 milliseconds before the hour, about a tenth of a frame.
Sources
- Apple, Final Cut Pro User Guide, Glossary: drop frame timecode skips two frame numbers each minute except every tenth minute, numbers are skipped but frames are not, and non-drop timecode at 29.97 is off by 3 seconds and 18 frames per hour. Read October 21, 2026.
- FFmpeg, libavutil/timecode.c: drop-frame skips fps / 30 × 2 frame numbers a minute (two at 29.97, four at 59.94, eight at 119.88), is refused when the rounded rate is not a multiple of 30, and is written with a semicolon before the frames. I also compared the calculator with these functions on thousands of frame numbers. Read October 21, 2026.
- GStreamer, gstvideotimecode.c: only rates of the form X/1001 can be drop-frame, and 24000/1001 (23.976) is not one of them; the first two timecodes of every minute except every tenth are skipped at 30000/1001, the first four at 60000/1001 and the first eight at 120000/1001. Read October 21, 2026.
- YouTube Help, Video chapters: the first time stamp starts with 00:00, at least three time stamps in ascending order, chapters at least 10 seconds long. Read October 21, 2026.
FAQ
Who made this
I'm Kevin Tabares. I've edited long-form YouTube videos since 2015 (1,277 videos and 152.2M+ views tracked on YT Jobs) for channels like Rex & Alexa, Puff and Mud. I move between timecode, frame counts and YouTube time stamps all the time: chapter lists, notes from a client at a time in the video, exports at another frame rate. I built this so the drop-frame and 29.97 math is done right in one place, without opening an editor. If you want an editor for your channel, get in touch.
More free tools
A markers to YouTube chapters tool for Premiere Pro and DaVinci Resolve, a YouTube timestamps generator and a dropped frames and variable frame rate checker, all free and without signup.
See all tools →