How to use it
- Open an .srt file or paste the subtitles.
- Optionally shift every cue earlier or later in milliseconds.
- Check the WebVTT output and download the .vtt file.
How it works
WebVTT and SRT store the same thing, numbered or unnumbered cues with a start and end time and text, but differ in details. The converter adds the WEBVTT header, writes timestamps with a dot before the milliseconds (00:00:01.000 instead of 00:00:01,000) and, if you keep them, uses the SRT numbers as cue identifiers.
Formatting that WebVTT does not support is removed: <font> colour tags and ASS-style position codes such as {\an8}. Bold, italic and underline tags (<b>, <i>, <u>) are kept. A literal --> inside the text would end the cue, so it is replaced with ->, and stray < and & characters are escaped. Windows line endings and a UTF-8 BOM in the input are handled; files that are not valid UTF-8 are read as Windows-1252.
The offset moves every cue by the same amount. Cues that would end before 0:00 are removed and cues that would start before 0:00 start at 0:00. To fix subtitles that drift out of sync over time, use the Subtitle Frame Rate Converter instead.
Examples
Subtitles for a web video
Convert lecture.srt to lecture.vtt and add it with <track src="lecture.vtt" kind="subtitles"> to an HTML5 video.
Subtitles 1.5 seconds late
Enter -1500 as the shift: every cue appears 1.5 seconds earlier in the downloaded .vtt.
Frequently asked questions
What is the difference between SRT and VTT?
WebVTT starts with a WEBVTT line, uses a dot instead of a comma in timestamps, makes cue numbers optional and supports positioning and styling. Browsers play WebVTT natively in the HTML video element; they do not play SRT.
Is formatting kept?
Bold, italic and underline are kept. Font colours and {\an8}-style position codes are removed because WebVTT has no equivalent for them.
My accented characters look wrong. Why?
The file was probably saved in an old encoding. The tool reads non-UTF-8 files as Windows-1252; if your file uses another encoding, re-save it as UTF-8 in a text editor first.
Privacy
Your subtitle file is read and converted in your browser. It is not uploaded or stored.