Sync Subtitles Using Two Reference Points

Perfect at the start, several seconds off at the end? Tell the tool where two lines should appear and every other subtitle is re-timed proportionally.

Drop subtitle files here, or click to chooseYou can also paste text below. Multiple files are converted together.

Reference point 1 (an early line)

Reference point 2 (a late line)

Load a file and the “Currently at” boxes are filled with its first and last subtitle.

🔒 Runs in your browser. Your files and text are not uploaded.

How to use the Two-Point Subtitle Sync

  1. Drop your subtitle file. The “Currently at” boxes are filled with the time of its first and last subtitle (the two lines are shown below the boxes).
  2. Play your video and note the time when the first of those lines is actually spoken. Type it in the first “Should appear at” box.
  3. Skip near the end, find when the last line is spoken, and type that time in the second “Should appear at” box.
  4. Download the re-timed file. If a line in the middle is still slightly off, repeat with two different reference lines on the result.

How two-point synchronisation works

Drifting subtitles have an error that grows steadily with time, so the correction is a straight line: every time t is mapped to t′ = B1 + (t − A1) × (B2 − B1) / (A2 − A1), where A1 and A2 are the current times of your two reference lines and B1 and B2 are where they should be. The factor (B2 − B1) / (A2 − A1) is the speed change; the constant part is the offset at the start. Both start and end times of every subtitle go through the same formula, so durations are stretched in proportion.

That is exactly what dedicated subtitle editors call “synchronise using two points” or “linear correction”. Doing it here takes seconds and needs no installation.

Choosing good reference lines

  • Pick lines that are clearly spoken and easy to recognise — a short, distinctive sentence rather than mumbling or background noise.
  • Choose one near the start and one near the end of the film. The further apart the two points are, the more accurate the correction is for the lines in between.
  • Avoid credits and song lyrics, which are often timed loosely.
  • Use the exact moment the speech begins, not when the scene starts.

The tool pre-fills the first and last subtitle automatically. If the last subtitle is a credit line, replace “Currently at” with the time of a spoken line near the end instead.

Drift, offset or frame rate: which problem do you have?

SymptomCauseBest tool
Always the same gap (e.g. 2 s late) from start to endDifferent intro or cutTiming shifter
Gap grows steadily, e.g. 0 s at the start and 8 s at the endDifferent frame rate or editThis tool, or the FPS converter
Fine in the first half, wrong after a breakCommercials or a cut sceneShifter with a time range, or split and fix each part

If your two correction points show a ratio very close to 0.95904 (23.976 → 25 fps) or 1.04271 (25 → 23.976 fps), the real cause is a frame-rate mismatch and the FPS converter will give you identical results with cleaner numbers.

Limits to keep in mind

A straight-line correction assumes the error grows evenly. If the movie was edited in several places, no single line can fit all of it — split the subtitle file at the edit points and correct each part. The tool warns you when the stretch factor looks extreme (below 0.5 or above 2), which usually means a typo in one of the four times.

Frequently asked questions

What is the difference between this and the timing shifter?

The shifter adds the same offset to every subtitle. Two-point sync adds an offset that grows (or shrinks) over time, which is what you need when the subtitles drift.

Which two lines should I choose?

One clearly spoken line near the beginning and one near the end. The tool suggests the first and last subtitle in the file; replace them if those are music or credits.

Can I enter times in seconds?

Yes. You can type 3930, 1:05:30, 01:05:30,500 or 65:30 — all are understood.

The result is worse than before. What went wrong?

Most likely the “Currently at” and “Should appear at” values were swapped, or one of the four times has a typo. The info line under the box shows the speed factor; it should normally be between 0.9 and 1.1.

Does it work for ASS and VTT files?

Yes. Styles and cue settings are kept and only the timestamps are recalculated. ASS time codes are rounded to hundredths of a second.

Is anything uploaded?

No — the maths runs in your browser.