Skip to content
SubtitleNothing leaves this tab

SRT to VTT

The two formats are almost identical. This adds the one line and fixes the one punctuation mark that keeps a browser's video player from reading an .srt file directly.

1Documents

Mechanism

What actually changes between SRT and VTT

The converter reads recognizable subtitle cues from the first two lines of each SRT block, adds a WEBVTT header, and writes timestamps with periods instead of commas. It keeps valid numeric cue identifiers or assigns a number when one is missing. Recognized dialogue is carried over with internal line breaks, while outer whitespace is trimmed. Invalid blocks and cues without text are skipped. For valid timestamps, the start and end times are preserved. Check the result alongside the source before attaching it to a video.

Limits

Where this SRT to VTT converter stops

  • VTT-only features are not added: no cue settings (position, size, alignment), no STYLE blocks, and no NOTE comments. The output is a straightforward carry-over of what the SRT file already contained, not an upgrade to a richer VTT file.
  • The file is not validated against every edge case in the WebVTT spec, such as cue identifiers containing "-->", which real SRT files essentially never produce.
  • Character encoding is read as the browser interprets the dropped file (usually UTF-8). A source file saved in a legacy encoding like Windows-1252 with non-ASCII characters can come out with the wrong characters, since there is no encoding picker here.
  • This does not touch the video itself. Pairing the resulting .vtt with an HTML5 <video> element's <track> tag, or uploading it to a platform that accepts VTT, is a separate step done outside this page.
Questions

Questions about converting SRT to VTT

Why does a browser need VTT instead of SRT?

The HTML5 <track> element, which is how a web page attaches captions to a <video> tag, only reads the WebVTT format. SRT was built for desktop media players like VLC, which do accept it directly, so the need for this conversion is specifically about the browser's own captioning support.

Will the subtitle timing be exactly the same?

Valid recognized timestamps retain their millisecond values. The parser is tolerant rather than a full subtitle validator, and unrecognized or empty blocks can be skipped. Compare the converted captions with the video if the source file is malformed.

Can I go from VTT back to SRT?

Not on this page, since the point here is the direction people actually search for. A reverse conversion is more complex because VTT supports layout and styling attributes that SRT lacks. Stripping those reliably requires a different approach, which is why it is not offered on this page.

Does the WEBVTT header need anything after it?

No — a bare "WEBVTT" line followed by a blank line satisfies the spec. Some tools add an optional title after the word on the same line; this converter emits the plain form, which every VTT-reading player accepts.

Is anything uploaded when I convert a file here?

No, the .srt file is parsed directly in this tab using the File API. There is no server call in the conversion path, so nothing about the file's content ever leaves your device.