Boneyard Tools

SRT to VTT Converter

WebVTT is the subtitle format HTML5 video understands, but most subtitles ship as SubRip (.srt). Drop an .srt file here to convert it to .vtt: the WEBVTT header is added, the comma in each timestamp becomes a dot, and the redundant cue index numbers are dropped for clean output. Your cue text and timing are preserved exactly. Everything runs in your browser, so the file is never uploaded.

How to convert SRT to VTT

  1. Drag your .srt file onto the box, or click to browse for one.
  2. Check the preview and the cue count to confirm the conversion looks right.
  3. Download the .vtt file, ready to use in a HTML5 video track.

Examples

Convert a movie subtitle file

1\n00:00:01,000 --> 00:00:02,500\nHello
WEBVTT\n\n00:00:01.000 --> 00:00:02.500\nHello

Frequently asked questions

Is my subtitle file uploaded anywhere?

No. The file is read and converted entirely in your browser using JavaScript. Nothing is sent to a server, so your subtitles stay on your device.

What is the difference between SRT and VTT?

Both are plain-text subtitle formats with timed cues. WebVTT (.vtt) starts with a WEBVTT header and uses a dot in timestamps (00:00:01.000), while SubRip (.srt) uses a comma (00:00:01,000) and numbers each cue. WebVTT is the format HTML5 video uses with the track element.

Why are the cue numbers removed?

WebVTT treats cue identifiers as optional, and the numeric counters from SRT are redundant, so they are dropped for cleaner output. Your timings and caption text are untouched. A numeric line that is part of the caption text is kept.

Does it change my timings or text?

No. Only the timestamp separator (comma to dot) and the cue index numbers change. The start and end times, the caption text, and any WebVTT cue settings after the end timestamp are preserved exactly.

Which line endings and encodings are supported?

Windows (CRLF), Mac and Unix (LF) line endings are all normalized to LF. The file is decoded as UTF-8, which covers the vast majority of subtitle files, and a leading byte-order mark is stripped so the first line stays clean.

How do I use the .vtt file in a video?

Add it to a HTML5 video with a track element, for example <track kind="subtitles" src="captions.vtt" srclang="en" label="English">. WebVTT is the only subtitle format the track element officially supports.

Related tools