All Posts
Post-Production16 min read

Timecode in Film Production: How It Works and Why It Matters for Your Edit

Film editing timeline on a computer monitor showing timecode values and sync markers in post-production

The Sync Problem Nobody Noticed Until Day Three of the Edit

A production wraps a 7-day corporate documentary shoot. Camera A records at 29.97fps with non-drop-frame timecode. The sound recorder runs at 29.97fps with drop-frame timecode. Both appear in the NLE as 29.97fps clips. The editor begins assembling the first reel.

By the end of an hour of program time, the audio is 2 frames early. By the end of reel two, it's 4 frames early. The dialogue is visibly out of sync on close-ups -- the words are leaving mouths before the sound arrives. The editor assumes the sound recorder drifted. The sound recordist insists the recorder ran perfectly. Three days of troubleshooting later, someone notices the timecode format mismatch. The camera and recorder were never in true sync because non-drop-frame and drop-frame timecode accumulate time differently.

Timecode is one of the least-taught and most practically important subjects in film production. When it works, nobody notices. When it fails, it fails silently and expensively.

This post explains how timecode actually functions -- the physical formats, the drop-frame discrepancy, the jam sync workflow, and how to avoid the specific errors that show up most often on indie and mid-budget productions.

Timecode standards referenced in this post are drawn from SMPTE ST 12-1 (the defining standard for timecode in film and television) and the AES11 standard for digital audio synchronization.

How Timecode Actually Works

Timecode is a time-addressing system that assigns a unique address to every frame of video and every corresponding sample position of audio. The address takes the form HH:MM:SS:FF -- hours, minutes, seconds, frames. A frame at timecode 01:23:45:12 is 1 hour, 23 minutes, 45 seconds, and 12 frames from the reference start point.

The critical function of timecode is that it allows picture and sound recorded on different devices to be re-aligned in post without manual sync. An editor imports camera footage and sound recorder files into an NLE, both carrying timecode. The software aligns clips where their timecode values match. A camera recording starting at 10:14:22:00 and a sound recorder file starting at 10:14:22:00 align automatically. No clapping a slate is required -- though a slate provides a visual confirmation point.

LTC (Longitudinal Timecode) is an audio signal -- a biphase modulated tone -- that is recorded onto one track of a tape recorder, an auxiliary audio channel on a video recorder, or the scratch audio track of a sound recorder or camera. It sounds like a rapid clicking noise. LTC can be read by any device with an audio input and a timecode reader. It's the format used for jam syncing multiple devices together and for sending timecode from a master clock to cameras and recorders on set.

MTC (MIDI Timecode) is a translation of SMPTE timecode into MIDI messages, used to synchronize DAWs, synthesizers, and music sequencers to picture. It's used in music production and post-production, not on film sets. A composer whose DAW receives MTC from a video playback system keeps their DAW locked to picture in real time.

The critical distinction between drop-frame and non-drop-frame timecode is the most misunderstood element in the system, and the source of the edit problem described above.

Drop-Frame vs. Non-Drop-Frame Timecode

NTSC video runs at exactly 29.97fps (technically 30000/1001 fps), not exactly 30fps. This creates a problem: if you count timecode frames at 30 per second (non-drop-frame), the timecode clock runs slightly faster than real time. After 1 hour of actual recording, a non-drop-frame 29.97fps timecode counter reads 01:00:03:18 -- 3 seconds and 18 frames ahead of real elapsed time.

Drop-frame timecode corrects this by periodically skipping frame numbers in the timecode count. The rule is: drop frame numbers 00 and 01 at the start of every minute, except every tenth minute. This skip pattern produces a timecode count that tracks real elapsed time to within 2 frames per 24 hours.

The key point: drop-frame timecode does not drop actual frames. It only skips frame numbers in the counting sequence. The video is still continuous. The timecode addresses just jump from :29 to :02 at the start of affected minutes.

Frame RateDrop Frame?Real-Time AccuracyTypical Use Case
23.976fpsN/A (no drop equivalent)0.1% drift per hourNarrative film, streaming delivery
24fpsN/AExactTheatrical film, DCP
25fpsN/AExactPAL broadcast, European TV
29.97fps non-dropNo3.6 seconds per hour of driftLegacy NTSC tape, archival
29.97fps drop-frameYes<0.1 seconds per hourUS broadcast, live events, 4K streaming
30fps non-dropNoExactUS broadcast (older), music production

The rule of thumb: for any production at 29.97fps intended for broadcast or streaming delivery, use drop-frame timecode. For narrative film at 23.976fps or 24fps, non-drop-frame is standard. Mixing drop-frame and non-drop-frame timecode on the same production causes the sync drift shown in the opening scenario.

Three Real-World Timecode Scenarios

Example 1: Multi-Camera Music Video at 29.97fps

A three-camera music video shoot with two Sony FX6 bodies and an ARRI ALEXA Mini LF. The production value requires tight sync across all three cameras for multi-cam editing of a live performance.

Setup: A master timecode generator (Ambient Recording ACL 202 Master Lock-It) generates LTC at 29.97fps drop-frame. Before each take, the DIT jams all three cameras and the sound recorder from the master. Jam sync takes approximately 15 seconds per device.

Outcome: All three cameras and the sound recorder start each take within 1-2 frames of each other at the same timecode address. In DaVinci Resolve, the multi-cam clip alignment is automatic -- the software reads the timecode from all clips and synchronizes them without any manual offset. The edit opens with all cameras and sound in perfect sync from take one.

What would have happened without jam sync: The internal clocks of the cameras drift apart at different rates -- typically 1-3 frames per hour for consumer/prosumer devices. Over an 8-hour shoot day, cameras that started in sync may be 24+ frames apart by the final take. Manual sync using the audio waveform is possible but time-consuming at scale.

Example 2: Single-Camera Documentary at 23.976fps

A two-person documentary crew with a Sony FX3 recording internally at 23.976fps non-drop-frame timecode. The sound recorder is a Sound Devices MixPre-6 II also set to 23.976fps non-drop-frame. No external timecode generator -- the sound recorder is set to "free run" mode from a set timecode start time of 01:00:00:00.

The challenge: Without a timecode cable connection between camera and recorder, both devices run their internal clocks independently. Over a 4-hour interview session, the camera and recorder clocks drift by approximately 8 frames -- enough to require manual slip adjustments on every sync point after the first hour.

Better workflow: The crew connects the MixPre-6 II's timecode output to the FX3's audio input and sets the camera to read incoming LTC from the audio channel. Now both devices share the same timecode reference. Sync is maintained indefinitely without drift as long as the LTC connection is active.

Alternative for run-and-gun: Use the clapper slate to create a visual sync reference at the beginning of every take. Even without matching timecode, the slate gives the editor a clear sync point per clip. The NLE can use audio waveform sync as a secondary method.

Example 3: Feature Film Post-Production, Timecode Error Discovery

A 90-minute feature shot on ARRI ALEXA 35 at 24fps discovers in the edit that 6 takes across day 4 of shooting have timecode starting at 00:00:00:00 -- the camera's factory default timecode -- instead of the production's timecode format. The DIT failed to jam those takes during a busy setups day.

Impact: Those 6 takes cannot be auto-synced in the NLE using timecode. Every clip requires manual sync against the audio waveform or the physical slate visible in frame.

Resolution: The editor used DaVinci Resolve's audio waveform sync function (Sync Bin) to re-sync the affected clips. The process took approximately 90 minutes for 6 takes across 4 different setups -- manageable, but avoidable. The DIT's daily timecode verification log (which should have flagged the 00:00:00:00 address) was found to be incomplete for that day.

Prevention: Every card offload session should include a spot check of timecode values in the NLE or a dedicated timecode verification tool like Silverstack. Clips at factory default timecode (00:00:00:00 or 01:00:00:00) should be flagged immediately while the crew is still on set and the take can be identified and re-synced with a reference slate.

Timecode Management: A Step-by-Step On-Set Workflow

Step 1: Decide on timecode format before day one of principal photography. The choice is: what frame rate, and drop-frame or non-drop-frame? For 24fps film production, non-drop-frame is standard and no drop-frame decision is required -- drop-frame only applies to 29.97fps. For US broadcast or 4K streaming at 29.97fps, use drop-frame. Write the timecode format into the camera and sound department tech specs and confirm it with the DIT at the pre-production tech survey.

Step 2: Designate a master timecode source. Either the sound recorder acts as the timecode master (and cameras jam from it), or an external timecode generator acts as the master (and both cameras and recorder jam from it). The sound recorder as master is simpler for small crews. An external generator provides better long-term accuracy for multi-day productions or any situation where the sound recorder is recording separately from the camera departments.

Step 3: Jam all devices at the start of each shooting day. Jam sync via LTC cable, not by setting clocks manually. Manual timecode setting introduces human error -- a single digit transposed in the hours field creates a 1-hour offset that breaks auto-sync. LTC jam takes 5-10 seconds per device and is error-free. The Timecode Calculator can verify expected timecode values at any point in the day if you need to confirm drift or offset.

Step 4: Re-jam any device that has been powered off during the day. An ARRI ALEXA holds timecode for approximately 30 minutes after power-off with the internal battery charged. A Sony FX6 with an external power connection holds indefinitely. A MixPre-6 II holds timecode for approximately 2 hours on its internal battery. Know your devices' timecode hold specifications and re-jam after any extended power-off.

Step 5: Have the clapper loader call and clap a slate at the head of every take. The slate is a visual and audible sync reference that provides a backup alignment method if timecode fails for any reason. The slate should display: production name, director, DP, roll number, scene, take, and the date. The clap creates an instantaneous visual-to-audio sync point that any editor can align manually.

Step 6: Verify timecode in the NLE at the end of every shoot day. During the card offload, open a selection of clips and confirm their timecode addresses match the expected values from the camera report. Flag any clip with unexpected timecode (factory default, duplicated addresses, or timecode that doesn't match the production's start time convention) before the crew disperses and the information needed to troubleshoot is gone.

Pro Tips and Common Mistakes

Pro Tip: For Sony cameras using internal timecode with no LTC input, use the camera's "Set TC" function to manually enter the sound recorder's current timecode at the start of each day. While less accurate than a genuine LTC jam, it produces <1 frame of drift per hour on Sony's internal crystal oscillator -- acceptable for most single-camera productions where auto-sync is used rather than relying on timecode for precision frame matching.

Pro Tip: When using DaVinci Resolve for multi-camera sync, create a sync bin with "Timecode" as the sync method and verify the first clip's timecode in the bin matches the first clip's timecode in the camera report. If the sync bin shows misaligned clips that should be in sync, the likely causes are: mismatched frame rate metadata, drop/non-drop mismatch, or a camera with the wrong timecode start point. Check these three in order before assuming a technical fault.

Pro Tip: For drone footage that cannot accept LTC timecode, sync using the slate. Have the operator briefly hover the drone in front of a physical slate held by a crew member before the first take of each drone setup. The single-frame visual sync point gives the editor a reference for every drone angle shot at the same setup.

Common Mistake: Setting both camera and sound recorder to the same timecode start value (01:00:00:00) without establishing which device is the master and verifying that they run at identical rates. Two devices that independently start at 01:00:00:00 do not stay in sync -- they drift apart because their internal crystals run at slightly different rates. The only way to maintain sync is to have one device physically drive the other's timecode via LTC, or to use an external reference signal (word clock for audio, genlock for video).

Common Mistake: Confusing 23.976fps and 24fps in metadata. These are different frame rates -- 23.976fps is the broadcast-safe version of 24fps used in NTSC countries for TV delivery (it's technically 24000/1001 fps). A clip recorded at 23.976fps but labeled as 24fps in metadata will appear to play back correctly at normal speed but will drift against audio recorded at true 23.976fps when the edit extends beyond a few minutes. Always verify the frame rate in your NLE's media info panel, not just the camera's display.

Frequently Asked Questions

What is jam sync and how long does it last?

Jam sync is the process of forcing one device's timecode clock to match another's by feeding it an LTC signal. The receiving device reads the incoming timecode value and sets its internal clock to match, then runs from its own internal crystal oscillator after the sync signal is removed. The sync is accurate to within 1-2 frames initially but drifts over time as the internal clocks diverge. Most professional devices with a quality crystal oscillator maintain <2 frames of drift per hour. Devices with lower-quality clocks (many consumer mirrorless cameras) drift faster. Re-jamming at the start of each shooting day is standard practice; re-jamming after long setup delays is good practice on productions requiring tight multi-cam sync.

Do I need timecode for a single-camera narrative shoot?

Not strictly -- a clapper slate provides sufficient sync reference for single-camera production where audio and picture are recorded to separate devices. However, timecode significantly speeds up the editorial sync process. With matching timecode, the NLE syncs clips automatically. Without it, the editor must manually align the audio waveform or the slate clap on every clip. For a 12-day feature with 600 takes, manual sync adds several hours to the first day of assembly. The investment in a timecode-capable sound recorder (Sound Devices MixPre-6 II, for example) pays back in editorial time on any production over 5 days.

What happens if I mix drop-frame and non-drop-frame on the same production?

They drift apart. Over 1 hour of program, the difference between drop-frame and non-drop-frame timecode at 29.97fps is approximately 2 frames. Over a 90-minute film, the drift is approximately 3 frames -- enough to make a dialogue close-up visibly out of sync without any other explanation. If you discover a drop/non-drop mismatch in post, the fix is to re-interpret the non-compliant clips in the NLE. In Premiere Pro, right-click the clip in the timeline and select "Modify > Interpret Footage" to change the timecode interpretation. In DaVinci Resolve, use "Clip Attributes" to change the starting timecode and format.

How do I use the Timecode Calculator to check drift?

The Timecode Calculator accepts a start timecode, an end timecode, and a frame rate, and calculates the elapsed real-time duration between them. Use it to verify that a clip's timecode span corresponds to the real elapsed time you expect. If a 10-minute recording at 29.97fps drop-frame returns a real-time duration of exactly 10:00:00, the timecode is correct. If a 29.97fps non-drop-frame clip over the same 10 minutes returns 10:00:00 as well, but a 29.97fps drop-frame clip over the same 10 minutes gives a slightly different result, you've confirmed the drop/non-drop mismatch.

What's the difference between "free run" and "record run" timecode?

Free run timecode advances continuously, even when the camera or recorder is not recording. It reflects real clock time. Record run timecode only advances while the device is actively recording -- it freezes between takes and continues from where it left off at the start of the next take. Free run is the professional standard for multi-device sync because it allows timecode addresses to correspond to specific moments in real time, making it possible to match a camera clip to a sound recorder file even when they weren't started simultaneously. Record run is sometimes used in single-camera narrative shooting where continuous timecode is not required.

The Timecode Calculator converts between timecode values and real-time durations at any standard frame rate, and flags potential drop/non-drop mismatches when you enter values from two different sources. For understanding how timecode integrates with the composer's music sync workflow, music and picture lock: how to sync score to your edit covers the spotting and delivery process that depends on stable timecode throughout the post chain. The post on audio delivery standards for film and television explains how timecode is embedded in MXF delivery files for broadcast and streaming platforms. The Audio Latency Calculator helps identify whether observed audio offset in the edit is a timecode issue or a hardware latency issue in the monitoring chain.

Conclusion

Timecode is a precision tool. It works silently when everything is configured correctly, and it fails silently when it isn't -- which is why the errors it creates are often misdiagnosed as equipment faults or operator mistakes. The three most preventable timecode problems in production are: drop/non-drop mismatch, failure to re-jam after power cycles, and camera metadata that labels 23.976fps footage as 24fps. All three are confirmed with a 30-second check before cameras roll.

This post covers single-location, single-unit productions. Multi-unit productions shooting in multiple time zones, VFX shoots requiring frame-accurate reference for CG integration, and live broadcast productions with house sync references each introduce additional timecode complexity beyond the scope of this guide.

Have you ever tracked down a sync drift problem that turned out to be a timecode format mismatch -- and how many days into the edit did you find it?