Skip to content
toolsdocks

Subtitles explained: SRT, WebVTT and how timing works

2 min read · Updated 3 October 2026

Subtitle files are plain text. Each cue has a start time, an end time and one or two lines of text. Video players read the file and show each cue while the video's clock is between those times.

SRT

SubRip (.srt) is the most widely accepted format. A cue looks like this:

12
00:01:02,500 --> 00:01:05,000
I said I'd be there by six.
  • A sequence number (12).
  • Start and end as hours:minutes:seconds,milliseconds; note the comma before the milliseconds.
  • The text, then a blank line before the next cue.

WebVTT

WebVTT (.vtt) is the format web browsers use for the <track> element. It starts with a WEBVTT header and uses a full stop before milliseconds:

WEBVTT

00:01:02.500 --> 00:01:05.000
I said I'd be there by six.

Cue numbers are optional, hours can be omitted for short videos, and cues can carry position and styling settings. Converting SRT to VTT is mostly a matter of the header and the decimal separator. The subtitle converter handles both directions, plus ASS/SSA and SBV.

Fixing subtitles that are out of sync

There are two kinds of sync problem:

  1. Constant offset: every line appears, say, 1.25 seconds too late. Shift all cues by −1.250 s: 00:00:05,000 --> 00:00:07,500 becomes 00:00:03,750 --> 00:00:06,250.
  2. Drift: the first lines are right but later ones get progressively worse. This usually means the subtitles were timed for a different frame rate (for example 25 fps vs 23.976 fps). Fix it by stretching all times by the ratio between the rates, or by picking two reference points and letting the subtitle editor stretch between them.

Readable captions

  • Keep cues to two lines and roughly 42 characters per line.
  • Leave each cue on screen long enough to read: around 1 second minimum, and longer for long lines.
  • Break lines at natural phrase boundaries, not in the middle of a name.

Soft vs burned-in subtitles

A separate subtitle file (soft subtitles) can be switched on and off and translated. Burned-in (open) captions are drawn into the picture itself. They always show, on every player, but cannot be edited afterwards. Use the subtitle burner for social video where many viewers watch without sound, and keep the original video and the .srt file.

Generating subtitles automatically

Speech recognition models can produce a first draft with timings. The automatic subtitle generator runs the open-source Whisper model in your browser. Always review the result: names, technical terms and overlapping speakers are where machine transcription goes wrong.