Skip to content
RightYantra
Video & audio

Subtitle Converter & Sync

Convert subtitle files between the two formats that matter, and fix the two ways they go wrong: a constant offset, and a frame-rate mismatch that drifts further out as the film runs.

Processed entirely on your device โ€” nothing is uploaded

How to use the subtitle converter & sync

  1. 1Drop an .srt or .vtt file, or paste the content in.
  2. 2Choose the output format โ€” WebVTT for the web, SubRip for players.
  3. 3Shift the timing if the subtitles are uniformly early or late.
  4. 4Or pick a frame-rate conversion if they drift. Then download.

SRT and WebVTT, and why you need both

SubRip (.srt) is the older and more widespread format. It is what subtitle archives distribute, what desktop players expect, and what most encoding tools produce. A cue is a number, a timing line, and the text โ€” nothing more.

WebVTT (.vtt) is the format the web platform requires. The HTML `<track>` element accepts WebVTT and nothing else, so an SRT file simply will not display on a web page no matter how correct it is. This one incompatibility is the reason most people end up converting.

The formats are close enough that conversion is lossless in the direction that matters. WebVTT requires a `WEBVTT` header line, uses a full stop rather than a comma before the milliseconds, and drops the cue numbers as optional. It also adds capabilities SRT lacks โ€” positioning, styling, regions and comments โ€” which are preserved as far as they can be but have no SRT equivalent going the other way.

The plain-text option strips the timings entirely, which is what you want for a transcript, show notes, or a searchable archive of what was said.

The two ways subtitles go out of sync

Diagnosing this correctly saves a great deal of frustration, because the two causes need completely different fixes and the wrong fix never works.

A **constant offset** means the subtitles are wrong by the same amount throughout. They start two seconds late and they are still two seconds late an hour in. This happens when the video file has a different amount of leading material than the one the subtitles were timed against โ€” an extra distributor logo, a longer black frame, a different cut of the opening.

**Drift** means they start correct and get progressively worse. Fine for the first ten minutes, a second out by the half hour, five seconds out by the end. This is a frame-rate mismatch: the subtitles were timed against a source running at a different speed from your copy.

The test is simple. Check the sync at the start and again near the end. Same error at both points: shift it. Growing error: rescale it. Shifting a drifting file just moves the point at which it is briefly correct.

Frame rates and the PAL speed-up

The most common drift is the 23.976 to 25 frames per second conversion, and it has a specific history. Film is shot at 24fps. NTSC television runs at 29.97, and film is transferred to it at 23.976 with a pulldown process. PAL television runs at 25, and the traditional transfer method simply plays the film 4% faster.

That 4% is why a PAL DVD of a film is about four minutes shorter than the NTSC release, and why the actors sound very slightly higher-pitched. It is also why subtitles from one source drift steadily against the other.

Over a two-hour film, 4% is nearly five minutes of accumulated error โ€” which is why drift becomes unmistakable by the third act even when the opening looked fine.

The presets here cover the transfers you will actually meet: 23.976 to 25 and back, 24 to 25 and back, and 29.97 to 30. If you know both frame rates, pick the matching preset; if not, try 23.976 to 25 first, since it is by far the most common.

Fine-tuning and other quirks

Work in small steps when shifting. Human tolerance for subtitle timing is asymmetric: subtitles appearing slightly early feel natural, because readers expect to read before the line is delivered, while subtitles appearing late feel badly wrong. If in doubt, err half a second early.

Encoding is a frequent source of mangled characters. Subtitle files are commonly distributed in legacy 8-bit encodings โ€” Windows-1252 for western European languages, Windows-1251 for Cyrillic โ€” and a file that shows question marks or accented letters as noise was decoded as the wrong one. This tool reads the file as UTF-8, which is correct for anything modern; older files may need converting first.

Overlapping cues, where one is still on screen as the next begins, are preserved rather than corrected, because some subtitle sets do this deliberately for overlapping dialogue. And blocks that cannot be parsed are reported rather than silently dropped, so a truncated download is obvious rather than mysterious.

Frequently asked questions

Why will my SRT file not work on my website?

The HTML `<track>` element only accepts WebVTT. Convert to .vtt and it will display; no amount of correctness in the SRT will help.

My subtitles are two seconds late. What do I do?

Shift them by โˆ’2 seconds. A constant error throughout means the video has a different amount of leading material than the source they were timed against.

They start fine but drift further out. Why?

A frame-rate mismatch. Shifting will not fix it โ€” use the rescale option, most often 23.976 to 25, which is the classic PAL speed-up.

How do I tell shift from drift?

Check the sync at the start and near the end. Same error at both: shift. Growing error: rescale.

Why do accented characters look wrong?

The file is probably in a legacy encoding such as Windows-1252 rather than UTF-8. Convert the encoding before loading it.

Is my subtitle file uploaded?

No. Parsing, retiming and conversion all happen in your browser.

Related tools