
Timecode is a standardized numbering system that gives every single frame of video or audio a unique address, written as hours, minutes, seconds, and frames (HH:MM:SS:FF), so editing systems can identify and synchronize media with frame accuracy.
Think of it as a street address for footage. Every frame has one, it never repeats within a clip, and it lets any system point to an exact moment and find it instantly. Without timecode, there is no precise editing, no sync, and no reliable handoff between tools.
It sounds dry. It is also the invisible backbone that holds the entire post-production pipeline together.
Timecode labels frames. The standard format is HH:MM:SS:FF, four pairs of numbers separated by colons. Hours, minutes, and seconds work like a normal clock. The final pair counts frames within each second.
That last number depends on your frame rate. At 24 frames per second, the frame count runs from 00 to 23 before the second rolls over. At 30 fps it runs 00 to 29. So 01:23:45:12 means one hour, twenty-three minutes, forty-five seconds, and twelve frames into the media.
The standard comes from the Society of Motion Picture and Television Engineers, which is why you will hear it called SMPTE timecode. As one technical guide describes it, SMPTE timecode is the industry-standard method for labeling frames of video and film to ensure accurate editing, synchronization, and media identification.
Timecode was born from a sync problem. When you have separate picture and sound, or multiple cameras, you need a common reference so everything lines up. Timecode is that reference.
A clapperboard does the same job analog. The clap gives a single visual and audible point both the picture and the sound recorder capture, so the editor can sync them. Timecode does it digitally and continuously, every frame, no clap required.
It also makes editing addressable. An EDL is essentially a list of timecodes: use this source clip from this in-point to this out-point at this place on the timeline. Every cut you make is a pair of timecodes. The whole grammar of editing is built on these addresses.
Here is where timecode gets confusing, and it traces back to a quirk of NTSC color video. The frame rate is not a clean 30 fps. It is 29.97 fps. That tiny shortfall means timecode counting a true 30 frames per second slowly drifts ahead of real wall-clock time.
Over an hour, that drift adds up. Non-drop frame timecode just counts every frame and ignores the gap, so it gradually runs ahead of actual elapsed time. As 3Play Media notes, at the end of a real-time hour, a non-drop video will show roughly 00:59:56:12, a few seconds short of 01:00:00:00.
Drop frame timecode fixes the clock by skipping certain numbers. It drops two frame numbers each minute, except on every tenth minute, so the displayed timecode stays in step with real time. Crucially, it drops the numbers, not actual frames. No video is lost. It is purely a counting adjustment. You can spot drop frame because it uses semicolons (01:00:00;00) instead of colons.
The practical rule: use drop frame when matching real-world duration matters, like broadcast where a show has to be exactly 30 minutes. Use non-drop frame for simpler internal work. Just keep it consistent across a project, because mixing the two is a classic source of sync errors.
You shoot an interview on two cameras at 23.976 fps and record clean audio on a separate device. All three are jam-synced to the same timecode at the start of the day.
In the edit, you drop all three into the timeline and they line up to the frame, because they share a timecode reference. When your subject says a key line at 10:42:18:05, the wide camera, the close camera, and the audio recorder all carry that exact address, so cutting between angles stays in perfect sync.
Later you pull selects and build a paper edit. Each selected moment is just a pair of timecodes, an in and an out. When you export to your NLE, those timecodes tell the system exactly which frames to place, which is how a transcript-based selection becomes a frame-accurate timeline. The address system carries your decisions from one tool to the next without anything drifting.
The first mistake is mixing drop frame and non-drop frame in one project. The timecodes will not agree, and you will chase phantom sync problems. Pick one and stick to it.
The second is ignoring frame rate. A timecode means nothing without its frame rate. The frame value 28 is impossible at 24 fps. If you transcribe or export at the wrong rate, every cut shifts. This is why a transcript meant to drive an edit must carry word-level timecode tied to the correct frame rate.
The third is assuming timecode equals real time. Non-drop frame does not. If a client needs an exact runtime, confirm whether you are reading drop frame or non-drop frame before you promise a duration.
Timecode is what makes a transcript-driven edit actually work. ScriptCut transcribes your footage with word-level timecode, so every word in the transcript knows its exact frame. When you highlight a line and keep it, you are really selecting a precise in and out point, and when you export, those timecodes rebuild your selections as a frame-accurate sequence in DaVinci Resolve, Premiere Pro, or Final Cut. The address system you never see is the reason a few highlighted sentences can become a ready-to-cut timeline. For related reading, see what is an EDL and what is FCPXML.
Timecode is a standardized system that gives every frame of video or audio a unique address in the format hours, minutes, seconds, frames (HH:MM:SS:FF). It lets editing systems identify, locate, and synchronize media with frame accuracy.
Non-drop frame counts every frame and slowly drifts ahead of real time on 29.97 fps video. Drop frame skips certain frame numbers (not actual frames) to keep the timecode matched to real wall-clock time. Drop frame uses semicolons; non-drop uses colons.
No. Drop frame only skips certain frame numbers in the counting sequence so the timecode stays aligned with real time. No actual video frames are removed. It is purely a numbering adjustment.
Word-level timecode is what lets a highlighted line in a transcript become a precise cut. Each selected word maps to exact frames, so your selections export as a frame-accurate timeline. Without correct timecode, the cuts would drift out of sync.