Explore Polyglot

Download now

For Apple Silicon · macOS 14.4+

Local AI. Your Mac.

The Polyglot journal

Subtitles out of sync? Fix the offset, drift or wrong edit

Check the beginning, middle and end before shifting subtitles. A constant delay needs one correction; gradual drift needs timing anchors; a different video edit needs a different approach.

Two parallel chrome timing rails with offset markers crossed by a cobalt light line.
AI-generated editorial illustration · Finding a common time reference

Start with the exact video and subtitle track

If every subtitle appears two seconds late, shifting the whole file earlier may solve the problem. If the delay grows during playback, a single shift will not fix it. If synchronization suddenly changes after a cut, check whether the subtitle file belongs to another edit. Diagnose the pattern before changing timestamps.

Work with video and subtitle files you own or have permission to modify. Duplicate the SRT, keep the original media, and identify the precise edit: a trailer, full recording and revised export can contain the same words at different times. Use matching names such as workshop-v3.mp4 and workshop-v3.en.srt.

Confirm which subtitle track the player is displaying. An embedded track and an external SRT can coexist, and you may be judging the wrong one. Reset any existing subtitle-delay setting before measuring. Also check that the video’s own sound and picture agree: a subtitle adjustment cannot repair an audio track that is already out of sync with the speaker.

Measure three clear anchors

Choose a short, unmistakable spoken phrase near the beginning, another near the middle and one near the end. Avoid a fade-in, background chatter or a long silent opening. Compare the intended start of each cue with the same audible moment in the video. A waveform can help locate speech, but listen to confirm the word rather than treating every peak as dialogue.

Write down both times and calculate the needed correction as video time minus subtitle time. A negative result means the cue needs to appear earlier; a positive result means later. These are invented diagnostic examples, with all numbers in seconds. Small differences in where you mark speech can be measurement noise, so do not infer drift from one uncertain anchor.

Needed correction =
  video time - SRT cue start

Pattern          Start Middle End
Constant offset   -2.0   -2.0 -2.0
Gradual drift     +2.0   +3.5 +5.0

Sudden jump at a cut:
Before the cut:  0.0
After the cut:  -8.0
(All times in seconds)

For a constant offset, shift both ends

When the correction is effectively the same throughout, apply that amount to both the start and end of every affected cue. A cue at 12–15 seconds whose speech actually begins at 10 seconds needs a shift of minus two seconds. Its new interval is 10–13 seconds; its three-second duration stays the same.

In Polyglot, open the SRT or VTT and choose Adjust subtitle timing from Export. Select Earlier, enter 2 seconds for this example, and apply the offset. Every language moves together. Reset timing restores the pre-adjustment times, and the app rejects any shift that would move a cue below zero.

In a subtitle editor with time shifting, select the intended scope, use a time value rather than a guessed frame count, and shift both endpoints. Aegisub’s documentation describes Timing → Shift Times, a Forward or Backward direction, All rows or Selected rows, and Start and End times. For this example, use a two-second backward shift on all rows and both endpoints. Those are Aegisub controls, not Polyglot controls; availability and wording in another editor can differ.

Before accepting the change, inspect the first affected cue. Moving a timestamp below zero is invalid for a normal SRT delivery. Do not blindly clamp every negative value to zero: you could collapse several cues onto the opening frame. Check whether those lines belong to a removed introduction, then make a deliberate edit on the copy. Save under a new name and reopen the saved file.

Original
00:00:12,000 --> 00:00:15,000
Welcome to the workshop.

Shift 2 seconds earlier
00:00:10,000 --> 00:00:13,000
Welcome to the workshop.

For gradual drift, use two anchors and a third check

If the same content stays in the same order but the correction increases steadily, the subtitle and video clocks may be running at different effective rates. A speed-altered export is one possible cause. Use a subtitle editor with two-point or visual synchronization, and match one clear early cue and one clear late cue to their actual moments in the final video. Subtitle Edit’s help documents point and visual synchronization as distinct from a simple earlier/later shift.

The calculation below explains what a proportional correction does. Suppose an early cue starts at 10 seconds in the SRT but belongs at 12 seconds in the video. A later cue starts at 610 seconds but belongs at 615 seconds. The video interval between anchors is 603 seconds; the subtitle interval is 600. A scale of 1.005 plus an offset aligns both. Apply the mapping to start and end times, not just cue starts.

This is a worked model, not a diagnosis of your file. Check a third anchor near the middle: the example predicts that an original timestamp of 310 seconds becomes 313.5 seconds. If the middle still misses the matching speech substantially, do not keep stretching until the endpoints look right. You may have a different edit, irregular timing or poorly chosen anchors. A frame-rate conversion is appropriate only when the source and destination timing relationship is known; SRT timestamps themselves are time values, not frame numbers.

Scale = 603 / 600 = 1.005
New time =
  12 + (old time - 10) × 1.005

Old 10.0 s  → new 12.0 s
Old 310.0 s → new 313.5 s
Old 610.0 s → new 615.0 s

For a sudden jump, investigate the edit

A file that matches until an eight-second section disappears has a different problem from gradual drift. A global shift would damage the section that already matches. Compare the video around the first failure with the subtitle sequence: was an introduction shortened, a paragraph removed or a scene moved?

For a simple known cut, a capable subtitle editor can adjust a selected range. Review cues crossing the cut individually: a sentence may have been shortened or deleted, so moving its timestamp is not enough. If scenes have been reordered or several sections changed, regenerating a draft from the final authorized media and reviewing it may be more reliable than repairing an older subtitle file.

Polyglot transcribes media and imports SRT or VTT locally. Translation preserves timing; it does not repair alignment by itself. Use the explicit timing offset for a constant delay, then review all tracks. Gradual drift, edited sections and individual cue retiming still need an appropriate subtitle editor. Export a new file and verify the final delivery.

Separate playback compensation from a saved repair

A player’s subtitle-delay setting can help you test an offset while watching. Treat that as a playback setting unless the tool explicitly exports corrected subtitle timestamps. A file sent to someone else must contain the correction itself; the receiving player will not inherit your local delay setting.

After exporting, reopen the new SRT with the final video and reset player compensation to zero. Check the beginning, middle, end and every edited boundary at normal speed. Confirm that a cue appears with the relevant speech, remains readable and disappears appropriately. Do not judge synchronization solely from paused frames.

Use a delivery check before replacing anything

For a pure global shift, compare the original and corrected SRT: cue count, identifiers, order and text should remain unchanged, and every start and end should move by the same amount. For proportional correction, durations also scale; inspect rounding at millisecond boundaries. If your editor renumbers cues, record that change and reconcile any translation copies that rely on the original identifiers.

Check for empty text, negative timestamps, ends that precede starts and accidental overlaps. Preserve intentional overlaps rather than deleting them just to satisfy a simplistic rule. If you removed dialogue at an edit, document the deliberate cue-count change. Retain separate original and corrected files until the recipient has checked the actual upload or player.

Finally, synchronization is only one part of caption quality. W3C’s prerecorded-caption guidance also covers speaker identification where needed and meaningful non-speech sound. Correct timing does not fix missing words, mistranscribed names or absent sound descriptions. Review those details, then keep each language file paired with the same approved video version.

Return to the right subtitle track

In Polyglot 1.10, Files lists saved original and translated tracks, grouped by project. Open a track to edit it, or open its project to review the matching media and other languages. Use Translate to import an existing SRT or VTT, and Create when you need to generate text from a recording.

Sources & further reading

Aegisub: shifting subtitle start and end times

Subtitle Edit: synchronization and visual sync

W3C: understanding prerecorded captions

Published by Polyglot using an AI-assisted editorial workflow. How we prepare and update our guides.

Keep exploring.

Try it on your Mac.

Find the right tools for your words and video, with processing on your Mac.

Download now

Apple Silicon · macOS 14.4 or later