SRT to VTT

How to use

Converts SRT subtitle files to WebVTT for web video players. Drop the SRT and download the VTT.

File Converters PopularLocal only

Step 1 of 4: Upload

  1. 1
  2. 2
  3. 3
  4. 4

Step 1 of 4 · Upload

When to use this
  • Adding captions to a video on your own website with the <track> element
  • Moving captions exported from a video editor into a web player
  • Preparing subtitles for a course platform that asks for WebVTT

Free and private. Everything runs on your own device, with no account and no uploads.

SRT and WebVTT carry the same thing, a list of timed captions, but HTML5 video players only accept WebVTT through the <track> element. The formats differ in three small ways: VTT files start with a WEBVTT header, write milliseconds after a full stop instead of a comma, and treat a bare < or & as markup. This converter makes those changes, keeps italic, bold and underline tags, and gives you a .vtt file a browser player will load.

The HTML5 <track> element is specified for WebVTT only. Browsers ignore an SRT file there even though the cue text is nearly identical, which is why a web player needs the VTT version.

They are dropped. SRT requires a number above every cue; WebVTT does not need one, and the converter identifies cues by their timing line instead.

Some SRT files carry SubStation-style codes such as {\an8} to move a caption to the top of the frame. VTT has its own cue settings for that, so those codes are removed rather than shown as literal text.

The file is read as UTF-8. An older SRT saved in a Windows code page will show its accented letters as garbage. Open it in a text editor, save it as UTF-8, and convert again.

How it works
  1. 1

    Add the SRT files

    Drop one or several .srt files. Each converts separately.

  2. 2

    Convert

    Cues are read, timestamps normalised to HH:MM:SS.mmm and the WEBVTT header added.

  3. 3

    Download

    One file downloads as .vtt; several arrive together in a ZIP.

  4. 4

    Attach it to the video

    Reference it from a <track kind="subtitles"> element, or upload it wherever your player asks for captions.

Pro tips
  • ·Check the first few cues after converting: a missing WEBVTT header or a comma in a timestamp is the usual reason a player silently shows nothing.
  • ·If your source video is going somewhere that burns captions in, you do not need VTT at all; keep the SRT.