video tool
Shift subtitles forward or back
Open an SRT or WebVTT file, type how many seconds to move it, and every cue moves by exactly that much: a positive number shows the subtitles later, a negative one earlier. When the gap grows through the film instead of staying the same, stretch the timings for a frame rate change, or type the real times of one early and one late cue and let the tool work out both corrections.
Loading the tool…
- Runs on your device, nothing is uploaded
- Free, no sign in
- No watermark, no file limit
How it works
- 1
Open the subtitles
Paste an SRT or WebVTT file, press Open, or drop it on the tool. The format and the number of cues are shown in the box's header.
- 2
Choose Shift, Stretch or Sync
Shift moves every cue by one amount. Stretch rescales the timings from one frame rate to another. Sync two cues takes two real start times and works out both.
- 3
Type the correction
Type seconds such as 2.5 or -1.2, or use the nudge buttons. The line under the controls says exactly what will happen, and the result updates as you type.
- 4
Download the retimed file
Download saves it with -retimed added to the name and the same extension. Load it in your player and check a line near the start and one near the end.
Constant offset or growing drift
Before typing anything, play the video at two points: a line near the start and one near the end. If both are late by the same amount, the problem is a constant offset, usually because the video has a different intro, a logo sting or a trimmed opening compared with the version the subtitles were made for. Shift fixes that in one number. If the first line is nearly right and the last is several seconds out, the subtitles drift, and shifting alone will only move the error around. That pattern almost always means the video runs at a different speed from the one the subtitles were timed against.
Why frame rates make subtitles drift
Film is shot at 24 frames a second and usually distributed at 23.976. Television in Europe and Australia ran at 25, so a film shown there was simply played four percent faster, and its running time shrank to match. Subtitles timed against one version slide steadily out of step with the other: over an hour, 25 against 23.976 drifts by about two and a half minutes. Stretch multiplies every time by the ratio of the two rates, so pick the rate the subtitles were made for and the rate the video plays at. Sync two cues reaches the same factor from two measured times when the rates are unknown.
What the tool leaves alone
Retiming works on the timing lines in place rather than rebuilding the file, so everything else comes through as it was: SRT cue numbers, WebVTT cue identifiers, cue settings such as line:0, style blocks, notes, tags and blank lines. Karaoke timestamps inside WebVTT cues move with their cue. SRT cue numbers are rewritten as a clean run from 1, which changes nothing unless cues were removed or the source numbering had gaps. The timing format matches the source: commas for SRT, dots for WebVTT, hours always written in full.
Limits worth knowing
The stretch is a straight line through time, so it fixes drift that grows steadily. Drift that jumps, for example a broadcast recording with ad breaks cut out, is several offsets, one per section; split the file at each break, shift each part, and join them. Moving cues earlier can push some before the start of the video: a cue that ends before 0:00 is removed and a cue that only starts before it is clipped to zero, and both are reported. Nothing is uploaded and nothing is stored, ever; the work happens in this page.
Limits
- A stretch fixes frame rate drift only when the drift is linear, growing steadily from start to end. Drift that jumps at an ad break or a cut needs the file split and each part shifted.
- Cues moved entirely before 0:00 are removed, and a cue that would start before 0:00 starts at zero instead.
- Stretch factors are limited to between 0.5 and 2, which covers every real frame rate change.
What it does not do
- It does not watch the video or detect speech, so it cannot find the offset for you.
- It does not shift only part of a file. Every cue moves by the same rule.
- It does not convert between SRT and WebVTT; the output keeps the input format.
Questions people ask
How do I find the right offset for my subtitles?
Pick a line that is easy to hear, note the time in the video player when it is spoken, and note the start time of that cue in the subtitle box. The difference is the offset: if the voice comes at 12.4 seconds and the cue says 10.0, type 2.4. Check a second line later on to rule out drift.
My subtitles are fine at the start but late by the end. Which mode?
That is drift, so use Sync two cues. Choose a cue near the start and type when its line is actually spoken, then do the same for a cue near the end. The tool works out the stretch and the shift that put both in place, and every cue between them moves in proportion.
Which frame rates should I pick for a PAL and NTSC mismatch?
For a European or Australian release against a cinema or streaming release of the same film, the pair is almost always 25 and 23.976. If the subtitles run ahead of the dialogue more and more, they were made for 25 and the video plays at 23.976; if they fall behind, swap the two. Then check the last line.
Can I shift only the subtitles after a certain point?
Not in one step, since every cue moves by the same rule. Copy the cues after that point into the tool on their own, shift them, and paste the result back into the full file in a text editor. For an SRT, renumbering is not essential; most players read the timings and ignore the numbers.
Does a player setting do the same thing as this?
Many desktop players can delay subtitles while you watch, and that is quicker for a single viewing. The setting does not travel with the file, though. A retimed file plays in sync on every device, for everyone you share it with, and survives an upload to a platform that takes caption files.
Make a video whose captions are always in sync
Take what you made here into videos.
Create a video with OneCraftMore tools like this
- SRT to VTT converterConvert SRT to VTT in your browser: commas in timings become dots, a WEBVTT header is added, and unsupported tags are dropped and listed. No upload.
- VTT to SRT converterConvert VTT to SRT in your browser: cues are numbered, dots in timings become commas, and positioning, regions and styles are dropped and listed. No upload.
- SRT to textTurn SRT or VTT subtitles into plain text: timestamps and numbers removed, lines joined into paragraphs, speaker names kept if you want. Download as .txt.
- Video metadata viewerA video metadata viewer for MP4, MOV and WebM: duration, resolution, aspect ratio, frame rate, bitrate, codecs and audio, read in your browser. No upload.
Background reading: the question page on this.
Written and checked by the OneCraft team. Last checked .