Guide · ~7 min read

How to shift VTT timestamps for vertical video (without re-uploading subs)

Your 9:16 export plays fine but every caption is half a second late. Re-transcribing wastes time. When the error is the same on every line, shift the whole WebVTT file by milliseconds in your browser—no SaaS upload, no desktop install.

WebVTT on short-form and HTML5 workflows

WebVTT (.vtt) is the caption format many HTML5 players and export presets expect. Vertical editors may give you SRT for some outputs and VTT for others. Timestamps in VTT use a dot before milliseconds ( 00:00:01.000 --> 00:00:04.000), not the comma used in .srt.

If you shift an SRT file with comma times but save as .vtt without converting, players may reject the file. Use a dedicated VTT time shift tool when your source is already WebVTT. Convert formats with SRT to VTT or VTT to SRT when your pipeline uses both.

Constant delay vs drift

A constant delay means cue 1, cue 20, and cue 100 are all wrong by roughly the same amount—typical after replacing audio on a dub, or player buffering in review. A global offset fixes that in one step.

If error grows over the video, you have drift (frame rate or wrong source duration)—regenerate captions or fix the timeline. See fix constant subtitle delay for the same diagnosis on SRT workflows.

Step-by-step: shift VTT for vertical review

  1. Export .vtt from your NLE or download from your hosting tool.
  2. Play the hook: note whether text is early or late vs dialogue (estimate ms).
  3. Open the VTT time shift page, paste or open the file, enter offset (try +500 ms if uniformly late).
  4. Download shifted.vtt and replace the sidecar or re-link in your project.
  5. Optional: check caption line length for on-screen safe margins on 9:16.

Typical offsets (vertical / dub)

SituationStarting offset
Dub audio replaced original+300 ms to +800 ms
Captions lead dialogue−150 ms to −400 ms
HTML5 preview feels sluggish+100 ms to +250 ms

Still on SRT?

Many teams keep SRT for translation and convert late. For SubRip files, use SRT time shift or read shift SRT timing online.

Shift VTT timestamps (free)

How to use

  1. Export or download .vtt from your editor or platform.
  2. Measure constant delay (speech vs caption appearance).
  3. Shift all cues in the browser tool, download shifted.vtt.
  4. Re-import or replace the track; check hook, middle, and end.

Frequently asked questions

Why shift VTT for vertical video?
Short-form exports often use WebVTT for burned-in preview or HTML5 review. When dubbing or re-export shifts audio, every caption line may be late by the same amount—a global VTT shift fixes it without re-transcribing.
Can I shift VTT online without uploading?
Yes. Browser tools parse WebVTT locally. Subtitle Kit never sends your .vtt to a server—paste or open the file on your device only.
WebVTT uses dots—does that matter?
WebVTT timestamps use a period before milliseconds (00:01.500). SubRip SRT uses a comma. Use a VTT-specific shifter so the file stays valid for players and platforms.
What offset should I try first?
For dubbed vertical clips, start with +300 ms to +600 ms, preview three lines, then fine-tune in 100 ms steps. If text appears before speech, use a negative offset.
After shifting, what else should I check?
Run a line-length pass for 9:16 safe zones, then spot-check the hook in the first three seconds—viewers drop if captions feel wrong there.