Editorial illustration of a video timeline divided into frame segments with timecode notation blocks on a dark background
NLE workflows

What Is Timecode in Video Editing?

The ScriptCut Team
/
August 3, 2026
/
9 min read
Timecode is a numerical address stamped on every frame of video, giving editors a universal language for locating, cutting, and handing off media across tools, formats, and collaborators without guesswork.

If you have ever opened a project in DaVinci Resolve and seen numbers like 01:00:00:00 at the top of the timeline, that is timecode. If you have ever sent an XML export and had it link up perfectly in another editor's NLE, timecode made that possible. Understanding it is not just theoretical -- it is what separates an editor who can troubleshoot an offline clip in two minutes from one who spends an afternoon on it.

Defining timecode

What timecode actually is, and why every frame needs an address

Timecode is a sequential numbering system used to identify each individual frame in a video file or recording. The most widely used standard is SMPTE timecode, developed by the Society of Motion Picture and Television Engineers in the 1960s, originally as a way to synchronize audio and video tape machines. Before timecode existed, finding a specific moment in recorded footage meant physically winding tape and guessing -- an expensive, slow process when tape stocks cost real money per foot.

The core idea is simple: every frame gets a unique address, and that address persists no matter what happens to the file. You can transcode a ProRes clip to H.264, import it into five different NLEs, and send it to a colorist in a different city. The timecode stays locked to the frame it was assigned at record time. That stability is what makes multi-person, multi-tool post-production workflows possible at all.

SMPTE timecode became the broadcast and post-production standard and remains so today. Every professional NLE -- Premiere Pro, DaVinci Resolve, Final Cut Pro, and Avid -- reads and writes it natively. It is one of the few universal agreements in a field full of competing formats.

The four-number format

How HH:MM:SS:FF encodes a precise moment in any recording

SMPTE timecode displays as four pairs of numbers separated by colons or semicolons: HH:MM:SS:FF. Hours, minutes, seconds, frames. A timecode of 01:22:47:12 means 1 hour, 22 minutes, 47 seconds, and 12 frames into the recording.

The frame count resets every second, so the highest frame value depends on the frame rate. At 24fps, the frame counter runs 00 through 23. At 30fps, it runs 00 through 29. This is worth internalizing early: the last number is a frame count, not a fraction of a second, and its range is rate-dependent.

One formatting detail: a colon (:) between the seconds and frame values signals non-drop frame timecode. A semicolon (;) signals drop frame. The difference between those two is one of the most reliably confusing things in post-production, so it gets its own section.

Drop frame vs non-drop frame

The one distinction that trips up every editor eventually

NTSC video runs at approximately 29.97 frames per second -- not exactly 30. That 0.03fps difference sounds trivial. Over time it adds up: an hour of 29.97fps footage contains 107,892 frames, not 108,000. If you count frames at exactly 30fps on 29.97 footage, your timecode clock drifts ahead of real time by roughly 3.6 seconds per hour.

Drop frame timecode corrects for this by periodically skipping frame numbers from the count -- not actual frames. Specifically, frame numbers 00 and 01 are skipped at the start of every minute, except every tenth minute. No real frames are removed; it is a counting adjustment, like adding a leap day to a calendar. The result is a timecode clock that stays synchronized with wall time across a long 29.97fps recording.

Non-drop frame runs a pure frame-for-frame count. It is accurate for calculating exact frame positions but drifts from wall time on NTSC footage. It is correct for 24fps and 25fps material, where the frame rate is an exact whole number and there is no drift to correct.

In practice: if someone gives you a timecode and asks you to find a moment in a 29.97fps broadcast recording, confirm whether it is drop or non-drop before hunting. The same clock display can point to two different frames depending on which system the recorder used. Most broadcast deliverables specify drop frame in their technical requirements for exactly this reason.

Types of timecode

LTC, VITC, embedded timecode, and when each one shows up

Timecode is stored and transmitted in a few different ways. Knowing which type a piece of gear or file uses occasionally matters for troubleshooting.

Linear Timecode (LTC) is audio-encoded timecode recorded on a separate track alongside video, or on a dedicated audio channel. In tape-based workflows, you could literally hear it as an audible tone if you patched it to a speaker. LTC is still used in some professional camera setups and in live broadcast timecode distribution.

Vertical Interval Timecode (VITC) is embedded in the vertical interval of the video signal itself, readable even when a tape was paused. Tape editors relied on VITC for frame-accurate logging and shuttle because LTC becomes unreliable at slow speeds. Today it is largely a tape-era artifact.

Embedded timecode is what most editors encounter now. Modern camera files store timecode in the container metadata -- a QuickTime or MXF file's dedicated timecode track -- where your NLE reads it automatically on import. Professional cameras like the Sony FX3, Canon EOS C70, and ARRI Alexa embed continuous timecode across a shoot day when that setting is enabled.

Frame rates and timecode

Why 23.976 exists, and why it matters when you export

The frame rate your footage was shot at determines the frame counter range and which timecode mode applies. The rates editors encounter most:

  • 23.976fps (called 23.98 or 24p): The film-look rate used by cinema cameras for digital distribution. It is 24fps divided by 1.001 for NTSC compatibility reasons. Non-drop frame. Frame counter runs 00-23.
  • 24fps: True cinema frame rate. Non-drop frame. Standard for theatrical delivery.
  • 25fps: The PAL broadcast standard used in Europe, Australia, and much of the world. Non-drop frame. Frame counter runs 00-24.
  • 29.97fps: NTSC broadcast. Uses drop frame timecode. Frame counter runs 00-29 with the periodic skip.
  • 59.94fps and 60fps: High frame rate variants following the same drop/non-drop logic as their 29.97/30 counterparts.

When you export an XML or EDL from a transcript-based editing tool, the frame rate determines how every cut point gets encoded. An in-point that works at 23.976 will land on a different frame if interpreted at 24fps. A tool that does not lock to the source frame rate before export introduces frame-accuracy errors that stay invisible until someone tries to conform in an NLE.

Timecode in each major NLE

How Premiere, Resolve, and Final Cut Pro handle source timecode

Each NLE surfaces timecode prominently because precise navigation by timecode address is central to professional editing. A few specifics worth knowing:

In Adobe Premiere Pro, you can customize the sequence's start timecode (broadcast workflows often begin at 01:00:00:00 by convention) and display source clip timecode in the Source Monitor alongside sequence timecode. Premiere's XML format carries clip-level source timecodes, which is what makes relinking happen automatically when a media path is correct.

In DaVinci Resolve, source timecode is critical for conform workflows. Resolve matches clips by timecode and reel name when conforming an offline edit to an online master. It is strict: if an XML carries timecodes expressed in reel-based absolute timecode -- such as a Resolve SRTX transcript that starts at 01:00:04:00 rather than 00:00:00:00 -- every clip position in the XML must match that absolute address. Getting it wrong displaces clips by an hour or more.

In Apple Final Cut Pro, FCPXML carries timecode through its asset elements and clip references. Final Cut's conform is generally more forgiving than Resolve when timecodes are approximate, though precision still matters for anything going to a professional online or color suite.

Timecode and transcript-based editing

Why word-level timecodes change how editors work with text

The paper edit predates timecode. In Michael Rabiger's documentation of the method in "Directing the Documentary" (Focal Press, 1987), editors were cutting transcripts with scissors and tape, finding moments by reading and then searching the physical footage. Timecode turned the transcript from a reading document into a navigational one. Once every word in a transcript carries its source timecode, you can jump directly to that word in the source footage, export a cut list, or generate an XML that an NLE assembles automatically.

This is the principle behind transcript-based editing tools. Premiere Pro's speech-to-text feature (shipped in the 23.4 update at NAB 2023), Descript's text-based editing, and ScriptCut all rely on word-level timecodes to keep transcript and media synchronized. You mark a line of dialogue in the transcript, and the tool knows which frames to include because each word is tagged with its start and end timecode from the source file.

For long-form unscripted content -- interviews, documentaries, podcasts -- this approach compresses days of logging and assembly into a fraction of the time. Select the lines you want, export, and the NLE receives a frame-accurate cut based on the word-level timecodes in the export. ScriptCut ties every select to its source timecode so each exported cut lands frame-accurately in Premiere, Resolve, or Final Cut. For more on the workflow, see how to do a paper edit, Premiere Pro transcript editing, and transcript-based editing in DaVinci Resolve.

Common timecode mistakes

The errors that cost editors hours and how to avoid them

A handful of timecode problems come up reliably enough that naming them directly is worth the time:

Ignoring source timecode on import. Consumer cameras often reset timecode to 00:00:00:00 on every new clip, eliminating address uniqueness across a shoot. Professional cameras record continuous timecode across a shoot day -- but only if that setting is enabled. If every clip in your project starts at the same timecode, you have lost the address that makes reel-based conform possible. Confirm the camera's timecode settings before each shoot.

Mixing drop and non-drop in the same sequence. This produces subtle duration errors over long recordings. The drift accumulates at roughly 3.6 seconds per hour, invisible in short cuts but meaningful in broadcast where program length is contractually specified to the frame. Set the sequence timecode mode to match the source material.

Assuming XML timecodes are file-relative. An XML exported from DaVinci Resolve may express clip timecodes as absolute reel timecodes starting at 01:00:00:00 or wherever the original record began, not as file-relative positions. A tool that reads these as file-relative will displace every clip by an hour or more.

Stripping timecode during transcode. Some consumer transcode tools do not pass through embedded timecode to the output file. If you hand off an H.264 proxy and the online editor needs to conform back to the original's timecode, confirm the proxy preserves it. A timecode burn-in on the proxy is a reliable fallback when the metadata path is uncertain.

For a closer look at how timecodes flow through a real export, see exporting a paper edit to Final Cut and Avid and what is an EDL.

Sources

frequently asked questions

What Is Timecode in Video Editing? FAQs

What does timecode mean in video editing?

Timecode is a numerical address in hours, minutes, seconds, and frames (HH:MM:SS:FF) stamped on every frame of video. It lets editors and NLEs locate specific frames reliably across different software and handoffs without guesswork.

What is drop frame timecode?

Drop frame timecode compensates for the 0.03fps difference between NTSC's 29.97fps and a round 30fps by periodically skipping frame numbers in the count. No actual frames are removed. This keeps the timecode clock synchronized with real elapsed time over long recordings.

What is SMPTE timecode?

SMPTE timecode is the video industry standard for addressing frames, developed by the Society of Motion Picture and Television Engineers. It displays as four pairs of numbers -- HH:MM:SS:FF -- representing hours, minutes, seconds, and frames.

Does timecode affect video quality?

No. Timecode is metadata embedded in or alongside the video file. It has no effect on image or audio quality and does not alter the media itself.

Which frame rates use drop frame timecode?

Drop frame timecode is used with 29.97fps and 59.94fps material, the NTSC-derived rates that run slightly below a whole number. All other common rates -- 24fps, 23.976fps, 25fps, 30fps -- use non-drop frame timecode.

Why does timecode matter for transcript-based editing?

When every word in a transcript carries its source timecode, an editing tool can translate text selections directly into frame-accurate cut points. This is how tools like ScriptCut export XML and EDL files that assemble automatically in Premiere Pro, DaVinci Resolve, or Final Cut Pro.

What is embedded timecode?

Embedded timecode is timecode stored in a video file's container metadata rather than on a separate audio track. Modern cameras record it automatically, and NLEs read it on import without any extra configuration.

Get the ScriptCut newsletter
Editing tips and product news. No spam, unsubscribe anytime.
Stop scrubbing. Start selecting.