Frames to Timecode Calculator - SMPTE Timecode Conversion

Use this frames to timecode calculator to convert frame numbers into SMPTE HH:MM:SS:FF values across 24, 25, 29.97, and 59.94 fps with drop-frame support.

Updated: June 19, 2026 • Free Tool

Frames to Timecode Calculator

Convert a frame count into SMPTE timecode, or paste a timecode to read the matching frame number.

Integer frame count from the start of the program. Frame 0 is the first frame.

Use HH:MM:SS:FF or HH:MM:SS;FF. A semicolon forces drop-frame reading regardless of the toggle.

Nominal clock rate. 23.976, 29.97, and 59.94 are fractional NTSC rates.

Drop-frame is only applied when the frame rate is 29.97 or 59.94 fps.

Results

SMPTE Timecode
0
Real Elapsed Time 0
Real Seconds 0s
Frame Number 0frames
Drop-Frame Status 0

What Is the Frames to Timecode Calculator?

A frames to timecode calculator turns a raw video frame number into a SMPTE 12M HH:MM:SS:FF clock value that editors, colorists, and broadcast engineers can read on a monitor, in an EDL, or inside an NLE timeline. This SMPTE timecode tool supports cinema, PAL, and NTSC rates (23.976, 24, 25, 29.97, 30, 50, 59.94, 60 fps) with drop-frame compensation for 29.97 and 59.94 broadcasts.

  • Edit decision list (EDL) round trips: Translate the frame numbers from an EDL into SMPTE timecode so you can spot-check the imported cuts against your NLE timeline.
  • Broadcast QC logs: Convert frame counts from a quality-control report into HH:MM:SS:FF timecode so producers can jump to flagged content.
  • Color, VFX, and OB trucks: Generate consistent timecode labels for color grades, conformed shots, VFX pulls, or live event coverage at NTSC 1080i59.94.

SMPTE timecode has been the standard clock for video, film, and broadcast workflows since the early 1970s. This tool mirrors that convention so the value you see is the same one your NLE will show on the timeline. Enter a frame count, choose a frame rate, and (for 29.97 or 59.94 fps) decide whether drop-frame compensation is needed; the calculator returns the matching SMPTE timecode, wall-clock duration, decimal seconds, and a drop-frame status flag.

If you also need to convert film gauge run-times into feet, frames, or rolls for 16mm, 35mm, or 65mm stock, Film Calculator pairs naturally with the frames to timecode workflow during a hybrid film-to-digital conform.

How the Frames to Timecode Calculation Works

SMPTE timecode labels every frame with four fields: hours, minutes, seconds, and a frame number (FF). The frame number rolls over to zero at the nominal frame rate, the seconds field rolls over at 60, and the entire clock wraps after 24 hours. This calculator performs that modular arithmetic for you and adds drop-frame correction for 29.97 and 59.94 fps where wall-clock time drifts away from a pure 30 or 60 fps clock.

FF = frames mod fpsNominal; SS = floor(frames / fpsNominal) mod 60; MM = floor(frames / (fpsNominal * 60)) mod 60; HH = floor(frames / (fpsNominal * 3600)) mod 24
  • frames: Integer frame count from the start of the program (frame 0 is the first frame).
  • fpsNominal: Nominal clock rate: 24 cinema, 25 PAL, 30 NTSC, 60 NTSC HD.
  • FF, SS, MM, HH: Output fields packed into HH:MM:SS:FF (or HH:MM:SS;FF when drop-frame applies).
  • dropFramesPerMinute: Two frames per minute at 29.97, four at 59.94; skipped at the start of every minute except minutes 00, 10, 20, 30, 40, and 50.

For integer rates (24, 25, 30, 50, 60) and 23.976 the modular split is enough. For 29.97 and 59.94 the wall-clock time per frame is slightly longer than 1/30 or 1/60 of a second, which causes a real hour of video to drift about 3.59 seconds ahead of the timecode clock. Drop-frame timecode compensates by skipping frame numbers at the start of every minute except every tenth minute.

Example 1: Frame 86400 at 24 fps cinema

frames = 86,400, fpsNominal = 24, drop-frame = off

FF = 86400 mod 24 = 0; SS = 0; MM = 0; HH = 1

SMPTE timecode = 01:00:00:00; real time = 01:00:00.000

Exactly one hour of 24 fps cinema footage, matching the SMPTE convention.

Example 2: Frame 107892 at 29.97 drop-frame NTSC

frames = 107,892, fpsNominal = 29.97, drop-frame = on

Adj = 107892 + 108 = 108000; FF = 0; SS = 0; MM = 0; HH = 1

SMPTE timecode = 01:00:00;00; real time = 01:00:00.000

Drop-frame compensation aligns the timecode with exactly one hour of wall-clock video at 29.97 fps.

Example 3: Reverse 01:23:45:12 at 25 fps PAL

timecode = 01:23:45:12, fpsNominal = 25

frames = ((1 * 3600) + (23 * 60) + 45) * 25 + 12 = 125637

Frame number = 125,637; real time = 01:23:45.480

Drop the result into an EDL or conform sheet to jump straight to that moment on the timeline.

According to Wikipedia: Timecode, SMPTE timecode labels each video frame using an HH:MM:SS:FF clock that wraps every 24 hours and supports both integer and fractional broadcast frame rates.

According to Society of Motion Picture and Television Engineers (SMPTE), SMPTE 12M defines the timecode clock and the frame counts per second used by video, broadcast, and film workflows worldwide.

When you are pulling individual frames from a high frame rate camera to assemble a time-lapse, Time Lapse Calculator helps you back-solve the interval and clip length from the same SMPTE math this calculator uses.

Key SMPTE Concepts Explained

Four foundational ideas drive the conversion; once you understand them, the drop-frame math stops feeling like a quirk.

SMPTE 12M Clock

SMPTE 12M defines the four-field HH:MM:SS:FF clock that labels every frame. It ticks once per frame regardless of integer or fractional rate, which is why 29.97 and 59.94 fps need drop-frame.

Nominal Versus Real Frame Rate

The nominal frame rate (24, 25, 30, 50, 60) drives the SMPTE clock; the real frame rate (24000/1001, 30000/1001, 60000/1001) drives wall-clock duration. The tool returns both.

Drop-Frame Compensation

Drop-frame timecode skips two frame numbers at the start of every minute except minutes 00, 10, 20, 30, 40, and 50 at 29.97 fps (four per minute at 59.94).

Frame Field Rollover

FF rolls over at the nominal frame rate (23, 24, 29, 49, or 59). After rollover the seconds field increments, with the clock wrapping after 24 hours.

These concepts map onto the outputs: the SMPTE timecode field shows HH:MM:SS:FF, the real elapsed time field shows HH:MM:SS.mmm, and the drop-frame status flag reports whether DF compensation was applied.

To translate the real elapsed seconds output into hours, minutes, and milliseconds in a different format, Time Unit Converter handles the multi-unit side of the same SMPTE clock.

How to Use the Frames to Timecode Calculator

The tool has two modes — convert a frame count into SMPTE timecode, or paste a timecode back into a frame count — sharing the same frame rate and drop-frame settings.

  1. 1 Pick the conversion direction: Select Frames → Timecode for a raw frame number, or Timecode → Frames for an EDL, capture log, or NLE value.
  2. 2 Choose the frame rate: Match the source media: 23.976 or 24 fps cinema, 25 fps PAL, 29.97 or 30 fps NTSC, 50, 59.94, or 60 fps HD/UHD.
  3. 3 Decide on drop-frame for 29.97 / 59.94: Turn Drop-frame on for NTSC broadcast masters where one hour of real time must equal 01:00:00:00 on the clock; leave it off for offline edits or web deliverables.
  4. 4 Enter the frame number or timecode: In Frames → Timecode mode, enter an integer frame count. In Timecode → Frames mode, paste HH:MM:SS:FF or HH:MM:SS;FF.
  5. 5 Read the result and real time: Copy the SMPTE timecode into your EDL, caption file, or QC report, and use the real elapsed time field to plan handoffs or run-times.

A QC report flags frame 432,432 in a 23.976 fps cinema master. Switch to Frames → Timecode, pick 23.976 fps, type 432432, and the calculator returns 05:00:00:00 with a real elapsed time of 05:00:01.260 — useful when matching a planned broadcast slot.

If you are producing a 3D render that needs to be cut into the master at a specific timecode address, 3D Render Time Calculator helps you estimate render node run-time so the SMPTE deadline holds.

Benefits of Using This SMPTE Calculator

A purpose-built SMPTE calculator removes three common sources of editorial error: wrong frame rate, wrong drop-frame setting, and manual arithmetic mistakes on long program durations.

  • Faster EDL round trips: Convert an EDL frame number into HH:MM:SS:FF in milliseconds so you can spot-check the cut against the NLE timeline.
  • Reliable NTSC broadcast math: Drop-frame compensation handles the 3.59 second per-hour drift between 29.97 and 30 fps so on-air clocks line up with program duration.
  • Cinema, PAL, and NTSC in one place: Switch between 23.976, 24, 25, 29.97, 30, 50, 59.94, and 60 fps without re-entering numbers.
  • Bidirectional conversion: Paste a timecode string to get the matching frame number, useful for cue sheets and shot lists.

If you need to add or subtract timecode ranges when planning a broadcast segment, Time Calculator handles the HH:MM:SS arithmetic on the same wall-clock values this calculator returns.

Factors That Affect Your Frames to Timecode Result

Three variables drive the result: nominal frame rate, real frame rate, and the drop-frame setting.

Nominal frame rate (24 / 25 / 30 / 50 / 60)

Determines the FF rollover and the size of the SMPTE clock. The same frame number at 25 and 24 fps produces a different HH:MM:SS:FF string because the per-second frame count differs.

Real frame rate (23.976 / 29.97 / 59.94)

Drives the wall-clock duration. A 29.97 fps hour is 3600 seconds of real time but covers 107,892 frames, so the SMPTE clock needs drop-frame correction to land back on 01:00:00:00.

Drop-frame compensation

Only applies at 29.97 and 59.94 fps. Skipping two (or four) frame numbers per minute cancels the per-hour drift.

  • The calculator assigns FF values 0 through 23 for 23.976 fps masters to match the SMPTE convention, even though the real elapsed time per frame is longer than 1/24 second.
  • If you enable drop-frame at 24, 25, 30, 50, or 60 fps, the calculator ignores the toggle because SMPTE drop-frame is defined exclusively for the fractional NTSC rates.
  • Frame numbers above 24 * 3600 * fpsNominal wrap modulo 24 in HH:MM:SS:FF. Use the real elapsed time field for total program length when crossing that boundary.

For 59.94 fps the calculator uses the same skip pattern at four frames per minute so 01:00:00;00 lines up with a real hour of HD NTSC video.

According to Wikipedia: Drop-frame timecode, 29.97 fps drop-frame timecode skips the first two frame numbers at the start of every minute except minutes 00, 10, 20, 30, 40, and 50.

For program lengths that wrap the 24-hour SMPTE boundary, Elapsed Time Calculator gives a quick way to sum multiple timecode ranges into a wall-clock total.

Frames to timecode calculator interface showing frame count, frame rate, drop-frame toggle, SMPTE timecode, and real elapsed time output
Frames to timecode calculator interface showing frame count, frame rate, drop-frame toggle, SMPTE timecode, and real elapsed time output

Frequently Asked Questions

Q: How do you convert frames to SMPTE timecode?

A: Divide the frame count by the nominal frame rate to get total seconds, then split that into hours, minutes, seconds, and a remaining frame number (FF). At 24 fps, frame 86400 is exactly 1 hour, so the SMPTE timecode reads 01:00:00:00. For 29.97 fps drop-frame, the calculator skips two frame numbers at the start of every minute except minutes 00, 10, 20, 30, 40, and 50.

Q: What is drop-frame timecode and when should I use it?

A: Drop-frame timecode is the SMPTE correction for the 0.1% drift between 29.97 (or 59.94) fps video and a 30 (or 60) fps SMPTE clock. It skips two frame numbers per minute at 29.97 fps (four per minute at 59.94 fps) so that 01:00:00;00 aligns with exactly one hour of wall-clock video. Use it for NTSC broadcast masters and live event coverage; leave it off for offline edits and web deliverables.

Q: How many frames are in one hour at 24 fps?

A: At 24 fps there are 24 frames per second, 1,440 per minute, and 86,400 per hour. The calculator confirms this when you enter frame 86400 with a 24 fps cinema rate: the SMPTE timecode reads 01:00:00:00 and the real elapsed time is 01:00:00.000.

Q: What is the difference between non-drop-frame and drop-frame timecode at 29.97 fps?

A: Non-drop-frame (NDF) counts every frame number 0 through 29, which means the displayed timecode falls about 3.59 seconds behind real time every hour. Drop-frame (DF) skips frame numbers 00 and 01 at the start of every minute except minutes 00, 10, 20, 30, 40, and 50, restoring real-time alignment. The calculator shows the chosen mode in the drop-frame status field.

Q: What frame rate should I pick for PAL versus NTSC video?

A: Pick 25 fps for PAL regions such as Europe, Australia, and most of Asia, and 29.97 fps for NTSC regions such as North America and Japan. For HD cinema masters choose 23.976 or 24 fps, and for HD broadcast choose 50 fps (PAL) or 59.94 fps (NTSC). Match the calculator's frame rate to the rate used when the media was captured so the SMPTE timecode lines up with the NLE timeline.

Q: How do I convert a timecode like 01:23:45:12 back into a frame number?

A: Switch the calculator to Timecode → Frames, paste 01:23:45:12, and pick the matching frame rate. The calculator multiplies hours by 3600, minutes by 60, adds the seconds, multiplies the total by the nominal frame rate, and adds the frame field. At 25 fps the result is 125,637 frames; at 24 fps it is 120,612 frames. A semicolon in the timecode (for example 01:23:45;12) forces drop-frame reading at 29.97 or 59.94 fps.