Skip to content
filetidy
SRT/VTT → SRT

Sync subtitles that drift out of time

Fix SRT and VTT subtitles whose delay grows during the film, using two reference lines or a frame-rate conversion. Nothing is uploaded, and there’s no account, watermark or limit.

  1. 1. Drop files
  2. 2. Adjust
  3. 3. Download
  • No upload. Processing happens on your device.
  • No limits. As many files as you like, free.
  • No watermark. Your files stay exactly yours.

How to resync drifting subtitles with filetidy

  1. 1

    Drop one or more SRT or VTT files on the page, or tap to choose them. The lines of the first file fill the drop-downs, and the same correction will be applied to every file you add.

  2. 2

    Under “Sync method”, keep “Two lines”. In “Early line”, pick a line near the start of the film; in “Late line”, pick one near the end. For each, type in “Spoken in the video at” the moment you hear it in your player, as 0:01:23,450.

  3. 3

    Check the correction shown, for example “Speed ×1.0427, then +1.200 s”, and open “Preview” to compare the “Before” and “After” times. If you know both frame rates instead, choose “Frame rate” and set “Subtitles made for” and “Your video plays at”.

  4. 4

    Press “Download” to save the corrected file under its original name, or “Download all (.zip)” when you fixed several languages at once.

Drift versus offset: why some subtitles slide further away

There are two kinds of timing errors. An offset is the same everywhere: every line is two seconds late from the first scene to the credits, usually because one release has a longer studio logo. Drift grows with time: the subtitles are almost right at the start, a second off after twenty minutes and several seconds off by the end. A constant shift cannot fix drift, because the gap is different on every line.

Drift means the subtitles were timed against a copy of the film that runs at a different speed. The most common cause is the PAL speed-up: cinema films shot at 24 fps (or 23.976 fps on video) were released at 25 fps in Europe and other PAL countries by playing every frame about 4% faster. A two-hour film loses almost five minutes, so subtitles made for one version slip further and further from the other.

With two reference lines, filetidy fits a straight line through your two measurements. The speed factor is the distance between your two video times divided by the distance between the same two lines in the file; the offset is whatever is left to land the early line exactly on time. Every start and end time is multiplied by the factor and then moved by the offset, so both lines land where you measured them and everything in between follows proportionally.

The frame-rate method uses the same formula with a known factor: times are multiplied by the subtitles' rate divided by the video's rate. From 23.976 to 25 fps, that is 0.959, so a line at 1:00:00 moves to about 0:57:32.5.

Correction
New time = old time × speed factor + offset
Frame rates offered
23.976, 24, 25, 29.97 and 30 fps
PAL speed-up
25 ÷ 23.976 ≈ 1.043, about 4.1% shorter running time
23.976 vs 24 fps
0.1% apart, about 3.6 s of drift per hour
Inputs and output
SRT or VTT in, same format and file name out, encoded in UTF-8
Batch
One correction, taken from the first file, applied to every file

Other ways to do it

VLC

In VLC: read the two reference times and the frame rate

  1. Play the film and pause on the first spoken line you picked. The elapsed time on the left of the seek bar gives hours, minutes and seconds; press E to step forward one frame at a time until the mouth moves, which narrows it down.
  2. Note that time, then jump near the end (drag the seek bar or use Playback > Jump to Specific Time) and do the same for the late line.
  3. Open Tools > Media Information (Ctrl+I on Windows and Linux) and look at the Codec tab: the video stream lists its frame rate, such as 25 or 23.976.
  4. For a quick check without editing the file, Tools > Track Synchronization has a subtitle delay field, and the G and H keys move subtitles by 50 ms. These only shift by a fixed amount, so they can match one scene but not the whole drifting film.

VLC's seek bar does not show milliseconds. Whole seconds from both ends of a two-hour film already give a correction accurate to well under a tenth of a second.

Premiere Pro

In Premiere Pro: get frame-accurate times for the two lines

  1. Import the video with File > Import and place it in a sequence that matches its frame rate.
  2. Move the playhead to the first word of the early line. The Program Monitor timecode reads hours:minutes:seconds:frames; divide the frames by the frame rate to get milliseconds (12 frames at 25 fps = 480 ms).
  3. Repeat for the late line near the end of the film, then type both times into filetidy.
  4. To check the clip's frame rate, right-click it in the Project panel and choose Properties, or look at Clip > Modify > Interpret Footage.

Interpret Footage can also slow a 25 fps clip down to 23.976 so it matches the original subtitles. That changes the picture's speed rather than the subtitle file, so check that the sound still follows before you export.

Two lines or frame rate: which method to choose

Pick “Frame rate” when you know why the subtitles drift: the file was made for a 23.976 fps release and your video is a 25 fps PAL copy, or the other way round. If the subtitles appear later and later, they were made for the slower version, so set “Subtitles made for” to 23.976 and “Your video plays at” to 25. If they come earlier and earlier, swap the two values.

Not sure which pair applies? Compare running times. A video about 4% shorter than the subtitle file's last line points to 23.976 against 25. A gap of only a few seconds over the whole film points to 23.976 against 24, or 29.97 against 30. A 29.97 fps NTSC copy of a cinema film usually runs at the same speed as the 23.976 version, so those two rarely need converting at all.

Pick “Two lines” whenever you are unsure, or when the copies also differ by a fixed delay: it measures the real speed difference and the offset together. Choose lines as far apart as possible, ideally in the first and last ten minutes, because a small reading error is spread over a longer span.

If the gap is the same from start to end, you don't need either method: a simple shift is enough. And if the gap jumps suddenly at one scene, the two copies were edited differently; a linear correction can only make the longest part line up.

Frequently asked questions

Why do my subtitles start in sync and then drift further and further away?

Because they were timed for a copy of the film that plays at a slightly different speed, usually 23.976 fps against 25 fps. The difference adds up with every minute, so the delay is small at the start and large near the end. Resyncing with two reference lines, or converting the frame rate, corrects every line by the right amount.

How do I convert subtitles from 23.976 to 25 fps?

Choose “Frame rate”, set “Subtitles made for” to 23.976 fps and “Your video plays at” to 25 fps, then download. All times are multiplied by 23.976 ÷ 25, which makes them about 4.1% shorter so they follow the faster PAL video. For the opposite case, choose 25 then 23.976.

Which two lines should I pick as references?

One clearly spoken line near the start and one near the end, with no music or overlapping voices around them so you can hear exactly when they begin. The further apart they are, the more accurate the speed factor. Avoid the opening song or the credits, since they are sometimes cut differently.

What do the speed factor and offset mean?

The tool shows the correction it computed, for example “Speed ×1.0427, then +1.200 s”. Each time in the file is first multiplied by 1.0427, which stretches the subtitles by about 4.3%, then moved 1.2 seconds later. A factor above 1 slows the subtitles down; below 1 speeds them up.

Can I sync several subtitle files at once?

Yes. Add all the files of the same release, for example English, French and Arabic. The reference lines come from the first file and the same correction is applied to every file, which works because translations of one release share the same timing errors.

Why are the subtitles still a little off after converting the frame rate?

The two copies probably also differ by a fixed delay, such as a longer intro. Switch to “Two lines” and measure a line near each end: that method finds the speed difference and the delay together. If one scene is missing from your copy, the subtitles will be correct on one side of the cut only.

Does syncing change the text, styling or format?

Only the times change. An SRT file stays SRT and a VTT file stays VTT, with the same name. Line breaks, italics and positioning are kept, and the output is saved in UTF-8, so a file in an older Arabic or Western encoding comes out readable on any player.

Last updated October 28, 2026

↑ ↓ to move · Enter to open · Esc to close