The same job, different syntax

Both SRT and WebVTT store a list of cues, and each cue pairs a time range with some text. The most visible difference is the timing separator: SRT uses a comma (00:00:01,000) while WebVTT uses a dot (00:00:01.000).

WebVTT files also start with a WEBVTT header, and WebVTT interprets block structure more strictly than most SRT readers.

When SRT wins

SRT is the closest thing to a universal subtitle format. Players, editors, subtitling platforms and learning tools accept it almost everywhere, and its simple structure makes it easy to hand-edit.

  • You need maximum player and platform compatibility
  • You exchange files with a subtitle service or a freelancer
  • You want a format people can open and fix by hand

When VTT wins

WebVTT is designed for the web. The HTML5 video element consumes VTT directly through the track element, and the format standardizes cue settings such as positioning and vertical text.

  • You publish captions on a web page or platform that consumes VTT
  • You need cue positioning, styling or vertical text
  • You want strict, machine-readable timing

Practical notes on converting between them

When converting, the timing block is the main thing to fix: replace commas with dots (or the reverse) and add or remove the WEBVTT header. Cue numbering, however, is significant in SRT but optional in WebVTT.

A careless converter can silently renumber cues, change timing precision or break the encoding of accented characters. Check a small sample before converting a long file.

What Polyglot Tool offers today

Polyglot Tool currently translates SRT files. VTT translation is planned but not implemented, so this guide does not claim it works today.

If your source is SRT, you can translate it in the browser while keeping numbering, timestamps and structure intact. If your source is VTT, convert it to SRT first, translate, and convert back when the target platform requires VTT.

An SRT cue

1
00:00:01,000 --> 00:00:04,000
Hello and welcome.

A VTT cue

WEBVTT

00:00:01.000 --> 00:00:04.000
Hello and welcome.

SRT vs WebVTT at a glance
AspectSRTWebVTT (VTT)
Timing separatorComma (00:00:01,000)Dot (00:00:01.000)
File headerNone requiredWEBVTT required
Line breaksCRLF typical on WindowsCRLF required by the spec
MetadataNot supportedStandardized cue settings, styles and captions
Native web videoNoYes (the video element)
File extension.srt.vtt