Convert subtitles between SRT and WebVTT

A player wants .vtt, an editor exports .srt — the cues are the same, only the timestamps and header differ.

Tools used in this guide

The job

SRT and WebVTT hold the same information — cue number, start to end time, text — with different punctuation: commas in SRT, dots in VTT, plus a WEBVTT header. Converting is a format translation, not a re-render.

How to do it

Pick the file or paste its text, choose SRT → WebVTT or the reverse, and convert. Cue timing is re-emitted in the target format; the caption text itself is copied verbatim.

  • VTT cue settings like position or alignment survive a VTT output; they are dropped — and counted — when going to SRT, which has no styling fields.
  • If the captions are right but the timing is off, shift them with the subtitle shifter instead of converting.

Worked example

An .srt exported by an editor converts to a WEBVTT file that a web player accepts — 342 cues in, 342 out, same text, dots instead of commas, numbered ids kept as cue identifiers.

Limits

The converter preserves cue text including any inline tags; it does not sanitize or re-time. Files are text, so a binary file or a broken timing line fails loudly rather than guessing. Styling blocks (STYLE/REGION) in the source are skipped.