Multicam Sync Offset Calculator
Enter what each camera's timecode read at a shared clap or flash and get the exact signed offset between them, plus a converter for any timecode in between — drop-frame handled correctly.
Client review & approval for video, audio, images & PDF — one link, no per-seat fees.
Try FreeSync point
Enter what each camera's timecode read at one shared moment — a clap, slate or flash both cameras captured.
Offset (Camera B − Camera A)
Enter two valid sync-point timecodes to see the offset.
Convert a timecode
Enter any timecode from one camera to find the matching timecode on the other.
Enter a valid sync point above, then a query timecode to convert.
Camera tracks
Camera A and Camera B plotted on a shared real-time axis, joined at the sync point by the offset.
The dashed line marks the sync point; the solid dot pair on the right (when present) marks the query timecode you converted above.
All math runs in your browser.
Nothing is uploaded and nothing leaves the page. Offsets are computed through absolute frame counts, so drop-frame timecode (29.97 / 59.94 DF) never drifts from digit-by-digit subtraction, and any query result that lands before 00:00:00:00 or past 24 hours wraps around the clock with an explicit crossed-midnight badge rather than wrapping silently. For general timecode addition and subtraction, see the Timecode Calculator, or convert time-of-day timecode to real wall-clock time with the Timecode ↔ Wall-Clock Calculator.
About Multicam Sync Offset Calculator
Why two cameras never agree on timecode
Timecode only means the same thing on two cameras if it was set the same way. In practice it almost never is. Cameras running free-run timecode keep counting from whatever value they were jammed to, even when the camera is off — cameras running rec-run only advance timecode while actively recording, so the counter falls behind real time every time the operator stops and starts. Even two free-run cameras jammed from the same master clock at the start of the day will drift apart by a few frames over several hours unless they're re-jammed, because internal clocks are never perfectly matched. And plenty of cameras — consumer bodies, action cams, phones used as B-cam — have no timecode input at all and simply start counting from 00:00:00:00 the moment you hit record. None of that is a problem as long as you know the relationship between the cameras' clocks at one shared instant. That's what this calculator solves.
The clap, slate or flash: a shared instant in two clocks
A clapperboard, a camera flash, or any sharp audio/visual cue that every camera captures at the same real-world moment gives you a common reference point. Read each camera's timecode at that exact frame — the clap closing, the flash's first bright frame — and you have two labels that both describe the same instant. The difference between those two labels, converted correctly, is the offset: a fixed number of frames you can add to any timecode from Camera A to get the matching timecode on Camera B, for as long as neither camera's clock drifts (which, over the length of a single roll, it essentially doesn't).
Worked example
At 25 fps, Camera A reads 01:00:10:00 at the clap and Camera B reads 14:23:05:12 at the same clap. Converting each to an absolute frame count: A = (1×3600 + 0×60 + 10) × 25 = 90,250 frames. B = (14×3600 + 23×60 + 5) × 25 + 12 = 1,294,637 frames. The offset is B − A = 1,204,387 frames, which converts back to +13:22:55:12 — Camera B is running just over 13 hours, 22 minutes ahead of Camera A's clock, which is exactly what you'd expect from two cameras jammed to their own internal clocks on different days. To find what Camera B read when Camera A showed 01:05:00:00: convert to frames (97,500), add the offset (1,301,887), convert back — 14:27:55:12. That's the whole method; everything else on this page is that same arithmetic run automatically.
Why drop-frame needs frame counts, not digit subtraction
When either camera is running 29.97 or 59.94 drop-frame, you cannot subtract the printed digits field by field — DF labels skip numbers, so two labels that look four frames apart on paper can be only two real frames apart. Example: 00:00:59;28 and 00:01:00;02 are consecutive-minute DF labels. Naive digit subtraction (treating ;FF like an ordinary base-30 counter and borrowing across the semicolon) says 4 frames elapsed. But ;00 and ;01 don't exist in that minute — the real sequence is ;28 → ;29 → ;02, which is 2 frames, not 4. The fix is the standard SMPTE drop-frame algorithm: convert every DF label to an absolute frame index using the 17,982-frames-per-10-minutes / 1,798-frames-per-dropped-minute constants (doubled to 35,964 and 3,596 at 59.94), do the arithmetic on those integers, then relabel. This calculator always routes offset and query math through absolute frame counts for exactly that reason — it's the only way DF math comes out right.
Where this fits in your NLE
Premiere Pro's Synchronize clip command and Resolve's "Sync using Timecode" both assume every clip's timecode already agrees, and when it doesn't, they silently misalign or refuse. Compute the offset here first, then either use the NLE's offset field (Premiere lets you type a manual offset on import; Resolve's Change Clip Offset does the same) or manually shift one camera's TC track to match. When there's no usable timecode at all — a phone B-cam, a GoPro, a run-and-gun setup — the fallback is audio-waveform sync (PluralEyes-style, or the NLE's built-in audio sync), which lines up clips by their soundtracks instead of their labels; it works without any TC agreement but needs a shared, distinct audio event on every source.
Overnight shoots and the midnight wrap
A query result that lands before 00:00:00:00 or past 23:59:59 on a 24-hour clock wraps around modulo 24 hours — normal behavior for time-of-day timecode on an overnight shoot — but this calculator always flags it with an explicit "crossed midnight" badge rather than wrapping silently, because a silent wrap looks identical to a plain calculation error and will send you hunting for a bug that isn't there.
How to use the Multicam Sync Offset Calculator
Find one moment both cameras caught — a clap, slate or flash — and note the timecode each camera shows on that frame.
Enter both timecodes and the frame rate to get the signed offset, in frames and as a timecode.
Use the built-in converter to translate any A-camera timecode to B-camera, or do longer timecode math in the Timecode Calculator.
Frequently Asked Questions
Find one moment every camera captured — a clapperboard, a camera flash, a loud clap — and read each camera's timecode at that exact frame. Enter both readings as the sync point on this page and it computes the signed offset between the cameras. From then on, add that offset to any Camera A timecode to get the matching Camera B timecode, as long as neither camera was re-jammed mid-roll.
It's the fixed difference, in frames, between two cameras' timecode clocks, measured at one instant both cameras captured. If Camera B reads 13:22:55:12 later than Camera A at the same real moment, the offset is +13:22:55:12 — add it to any Camera A timecode to land on the matching Camera B timecode. It's signed: a negative offset means Camera B's clock is behind Camera A's.
Because drop-frame timecode skips label numbers (00 and 01 at the start of most minutes at 29.97), so two labels that look a certain number of frames apart on paper can be a different number of real frames apart. 00:00:59;28 and 00:01:00;02 look 4 frames apart by digit subtraction but are really only 2, since ;00 and ;01 never existed. Correct offset math always converts each label to an absolute frame count first, does the arithmetic there, and converts back.
This calculator is same-rate only — both cameras must be set to the same frame rate for the offset math to mean anything, since a frame at 24 fps and a frame at 29.97 fps aren't the same duration. If your cameras rolled at different rates, first bring one camera's timecode to the other's rate with the Timecode Frame-Rate Converter, then compute the offset here.
Time-of-day timecode only covers 24 hours before it wraps back to 00:00:00:00, which happens naturally on overnight shoots. When a query result would fall outside that range, this calculator wraps it modulo 24 hours and marks it with an explicit "crossed midnight" badge rather than wrapping silently — a silent wrap is indistinguishable from a math error, so it's always called out.
Yes. The same absolute-frame-count method works for finding the offset between any two devices that both stamp SMPTE timecode against a shared sync moment — a double-system audio recorder and a camera, or two separate audio recorders. Just read each device's timecode at the shared cue and enter them as Camera A and Camera B.
Related Tools
More Video Calculators tools
Review multicam cuts with your team in VoiceDeck
VoiceDeck adds client review & approval for video, audio, images & PDF — one shareable link, no per-seat fees, so every file ships in spec.