FrameNotion

How to Sync Captions With Voiceover Timing (Step-by-Step)

Captions drift out of sync when they're timed from the script instead of the audio. Here's the step-by-step fix: transcript, waveform alignment, word-level tuning, and a pre-publish checklist.

FrameNotion Team8 min read

How to sync captions with voiceover timing comes down to three things: start from an accurate transcript, align text to the actual waveform instead of the script, and fine-tune word-by-word so each caption appears exactly when the matching sound starts. Get those three right and the rest is detail work. This guide walks through the process step by step, with the fixes for the sync problems that show up most often in ad editing.

How to Sync Captions With Voiceover Timing: The Quick Answer

Captions drift out of sync for one reason: they were timed against the script instead of the actual audio. A script tells you what was said, not when. Real speech has pauses, breath, filler words, and uneven pacing that a written line doesn't show. The fix is to always work from the voiceover's waveform as your timing reference, then adjust at the word level until the text and the sound move together.

This matters more for ads than for long-form video. A six-minute YouTube video can tolerate a caption that's a few frames late. A 15 or 30-second ad can't — viewers decide whether to keep watching within the first few seconds, and a caption that lags behind the voice reads as sloppy, even if nobody consciously notices why. If you're also trying to nail the opening moment, pair this with a look at how to open a video ad in the first three seconds, since caption timing is part of what makes that opening feel tight.

Step 1: Get an Accurate Transcript First

Before you touch timing, make sure the words themselves are right. Auto-transcription tools are a good starting point, but they routinely mishear brand names, numbers, and product terms. Read the transcript against the audio once, line by line, and fix every wrong word before you start timing anything.

Why this comes first: if you time a caption and then discover the text is wrong, you'll often need to re-time it after editing because the correction changes line length and where it breaks. Fixing accuracy before timing saves a full pass later.

Step 2: Break the Transcript Into Caption-Sized Chunks

Once the transcript is accurate, split it into chunks that will become individual caption lines. For vertical ad formats, shorter is almost always better — aim for phrases that match one breath or one natural idea, rather than full sentences.

  • Break at natural pauses in speech, not at arbitrary character counts.
  • Keep each chunk to a length that's comfortable to read in the time it takes to say it out loud — if you have to read faster than the speaker talks, the chunk is too long.
  • Avoid splitting a short phrase across two captions (for example, separating "free shipping" onto two different lines) — it reads worse than one slightly longer line.
  • If you're doing word-by-word captions, plan chunk boundaries around whole thoughts even though each word appears individually, so the rhythm still feels intentional.

This is also the stage to decide on caption style. If you want captions that reinforce brand identity rather than looking like a generic auto-caption overlay, see how to add captions that match brand fonts before finalizing chunk length, since font size and weight affect how much text fits comfortably per line.

Step 3: Align Captions to the Waveform, Not the Script

This is the step most people skip, and it's the one that actually fixes sync. Open your editor's audio waveform view and zoom in. You'll see visible spikes where words start — especially on harder consonants like "t," "k," and "p" sounds. Drag each caption's start point to line up with the spike that marks the beginning of its first word, not with where the script says the line should start.

A few practical rules for this pass:

  1. Set the caption's in-point a few frames before the audible sound starts, not exactly on it — this compensates for the slight delay between a word appearing and a viewer's eye registering it.
  2. Set the caption's out-point right as the last audible syllable ends, or a touch after, rather than holding it through the following pause.
  3. If there's a natural pause longer than about half a second between phrases, let the caption disappear during that pause rather than holding it the whole time — a caption sitting on screen with nothing being said looks like a sync error even when the start was correct.
  4. Scrub slowly through transitions between captions. The handoff point — where one caption ends and the next begins — is where drift becomes most visible to viewers.

Step 4: Fine-Tune Word-by-Word Timing

If your format uses word-by-word (karaoke-style) captions, which tend to boost watch time on sound-off platforms, each individual word needs its own timestamp rather than just the caption block as a whole. Most caption tools generate these automatically from the audio, but automated word-level timing still needs a manual check, especially around:

  • Contractions and compound words, which automated tools sometimes split or merge incorrectly.
  • Fast speech sections, where auto-generated timestamps tend to compress and fall behind.
  • Numbers and prices, which are often read differently than they're written and can throw off word boundaries.
  • Any word that was edited, re-recorded, or pasted in from a second take — these are the most common source of drift because the new audio clip has a different natural pace than the surrounding words.

Play the ad back at normal speed first, then again at a faster playback speed if your editor supports it. Drift that's a few frames off is often invisible at normal speed but becomes obvious when sped up, which makes it a useful stress test before you consider the timing finished.

Common Sync Problems and How to Fix Them

ProblemLikely CauseFix
Captions feel consistently a beat behindCaptions were timed from the script, not the waveformRe-align in-points to the actual audio spikes for each word's start
Sync is fine early on but drifts worse by the endSmall frame-level offsets accumulate across many caption blocksRe-check timing in sections rather than relying on one global offset; fix drift locally, not by shifting the whole track
Captions disappear mid-wordOut-point was set too early, often from trimming audio after captions were placedRe-time the caption after any audio trim — never assume captions survive an edit to the voiceover
Word-by-word highlight lags the spoken wordAutomated word-level transcription compressed fast speechManually nudge individual word timestamps in the fast section; don't trust auto-timing on quick dialogue
Captions look synced with sound on but off with sound offCaption was only checked while listening to the voiceoverWatch the full ad fully muted as a separate pass — this is the only reliable way to judge standalone timing

A Pre-Publish Sync Checklist

Run through this before you export the final file. It takes a few minutes and catches most of the issues that otherwise only surface after the ad is already live.

  • Transcript matches the audio exactly, including any brand names or numbers.
  • Every caption's in-point lines up with the waveform spike for its first word.
  • No caption holds through a pause longer than about half a second with nothing being said.
  • Full playback at normal speed shows no visible lag between mouth movement or sound and text.
  • Full playback muted still reads clearly and at a comfortable pace on its own.
  • Fast speech sections were manually checked, not left to auto-generated timing.
  • Final export was reviewed after any late-stage trims to the voiceover track.

If you're building this into a repeatable production process rather than doing it once, it's worth folding caption sync checks into your broader workflow — see how to build a winning ad iteration process for how to structure review steps so sync issues get caught before an ad goes out, not after.

How FrameNotion Handles Caption Sync Automatically

Manual sync work is worth learning because it teaches you what good timing actually looks and sounds like, and you'll need that judgment even when a tool does the first pass for you. FrameNotion builds the voiceover and the word-by-word captions together as part of generating each 30-second vertical ad, so the captions are matched to the AI voiceover's actual timing from the start rather than being added afterward and manually aligned. The ad also comes with a music track cut to the beat and sound effects, and because captions are matched to the voiceover automatically, the result works whether someone watches with sound on or scrolls past on mute.

If you'd rather start from a product link than from scratch, FrameNotion reads the page, writes the ad copy, generates the voiceover in your chosen language from 18 options, and renders a finished MP4 — usually in about 10 to 20 minutes. After it's done, you can request text or color changes without starting over. You can see finished examples on the examples page, check how the process works on the features page, or create a first ad for free from the homepage.

For more on how AI voiceover timing holds up against a human read, see how accurate is AI generated ad voiceover, really. And if captions are your main lever for watch time, not just sync, how to use captions to boost watch time is a useful next read.

Frequently asked questions

Do captions need to match the voiceover word-for-word?+

They should match what's actually said, including filler words you keep in the final cut, rather than a cleaned-up version of the script. If you trimmed a word or phrase from the audio, remove it from the caption too — a mismatch between spoken and written text is as distracting as a timing error.

Should captions appear slightly before the word is spoken or exactly on it?+

A small lead time, a few frames before the sound starts, usually reads better than an exact match, since there's a short delay between a caption appearing and a viewer's eye picking it up. Test both and see which feels tighter in your specific edit.

What playback speed should I use to check sync?+

Check at normal speed first for overall feel, then again at a faster playback speed if your editor allows it. Small drift that's easy to miss at normal speed usually becomes obvious when sped up, making it a fast way to catch problems before export.

Can I sync captions to a voiceover that's in a different language than the on-screen text?+

Yes, but time the captions to the voiceover's actual rhythm in its own language rather than the pacing of a script written in another language — word order and sentence length can differ enough that a direct one-to-one caption mapping falls out of sync.

Do burned-in captions and caption files need different sync approaches?+

The sync principles are the same either way — align to the waveform, not the script. The difference is that burned-in captions are locked into the final video at export, so any timing fix has to happen before rendering, while a separate caption file can usually be adjusted and re-uploaded without re-exporting the video.

Try it on your product.

Paste a link — FrameNotion writes a custom 30-second ad.