Purplelink
← All tools

Free web tool

SRT to VTT

Convert SRT subtitles to WebVTT (.vtt), the format HTML5 video, YouTube and most course sites use. Files saved in older Windows encodings are read correctly. The file is read on your device. Nothing is uploaded.

Options

Bytes of your files sent anywhere: 0

Files are read and converted in this tab, in a background worker. The only requests the page makes are for its own scripts. Your files are never sent anywhere.

How it works

SRT and WebVTT both list captions with times and text. This page reads the SRT file, tolerating missing or wrong caption numbers, extra blank lines and a full stop where SRT uses a comma, and writes a WebVTT file with times like 00:01:02.500.

Many SRT files were saved in an older Windows encoding, which shows accented letters as garbage when read as UTF-8. The page tries UTF-8 first and falls back to Windows-1252, and you can pick the encoding yourself. The WebVTT file is always UTF-8.

WebVTT reads < and & as markup, so the page escapes them in caption text and keeps only bold, italic and underline. Font colors and {\an8} position codes, which WebVTT does not support, are removed.

How to convert SRT to VTT

  1. Pick the encoding. Leave it on Detect unless accented letters come out wrong.
  2. Add the file. Drop the .srt file on the box, click it to choose it, or paste it.
  3. Check the row. The row shows the number of captions, when the last one ends, and any notes.
  4. Download. Download the .vtt file from its row.

Limits

Questions

Are my files uploaded?
No. The page reads each file with your browser and converts it in a background worker in this tab. There is no server step. The meter under the drop zone counts the bytes the page and its worker send while they work, so you can check this yourself. The only things the page downloads are its own scripts.
Why do accented letters look wrong in my subtitles?
The SRT was saved in an older encoding such as Windows-1252, and something read it as UTF-8. This page detects that, and you can choose the encoding under Options. The VTT it writes is UTF-8, which browsers expect.
How do I add a VTT file to a video on a web page?
Put it next to the video and add a track element inside the video tag, such as <track src="captions.vtt" kind="subtitles" srclang="en" label="English">.
Does it keep italics?
Yes. Bold, italic and underline tags are kept, since WebVTT supports them. Font colors are removed.
Is it free?
Yes. There is no account, no watermark and no limit beyond the size above.

If this saves you time, you can leave a tip. It helps keep these tools free and online.