In more detail
Both formats list cues: a start and end time, then one or more lines of text. SRT numbers each cue and writes times with a comma (00:00:01,000 --> 00:00:03,500); WebVTT uses a dot, makes cue numbers optional, must begin with the line WEBVTT, and adds features such as positioning, styling and speaker tags. Browsers play VTT through the HTML <track> element, so SRT files must be converted for web video.
Why it matters
Timing is tied to one specific cut of the video. If a film at 23.976 frames per second is sped up to 25 fps, as for some European broadcasts, a line meant for 60:00 belongs at 57:32 instead, and subtitles drift steadily out of sync. Save subtitle files as UTF-8: older SRT files in regional encodings show garbled accented letters.
Example
The same cue in both formats:
1
00:00:01,000 --> 00:00:03,500
Hello, world.
WEBVTT
00:00:01.000 --> 00:00:03.500
Hello, world.
Common confusion
Subtitles usually translate or transcribe dialogue only; captions for deaf and hard-of-hearing viewers also describe sounds, such as "[door slams]". Text burned into the picture cannot be turned off or edited, unlike a separate file or a subtitle track inside the container.