Convert SRT to VTT
SRT to VTT converts a SubRip (.srt) subtitle file into a WebVTT (.vtt) file right in your browser: the file is read on your own device, the comma in the timecode becomes a dot, and the WEBVTT header is added. Nothing is uploaded anywhere.
The .srt file
Drop the .srt file here
or , or paste the text below
The file is read in your browser with the File API and converted by JavaScript on your own device. Nothing is uploaded, the page loads no third-party code, and there is no form and no account.
The .vtt file
Nothing converted yet.
How to convert an SRT file to VTT
-
Open the file
Drop the .srt file on the box, or paste the text of the file into the field.
-
Convert
Press Convert to VTT. The file is parsed in your browser, on your own device.
-
Check the result
The .vtt text appears with the WEBVTT header, and a note about every part that was skipped.
-
Copy or save
Copy the text to the clipboard, or download it as a .vtt file.
What changes in the converted file
The words and the timings of the subtitles stay the same. What changes is the way the file is written, because WebVTT is a specification and SubRip is a habit.
| What | In a .srt file | In the .vtt file you get |
|---|---|---|
| The header | there is none: the file starts with the first line of subtitles | the file starts with WEBVTT, and the format asks for it |
| The numbers of the lines | every line is numbered: 1, 2, 3 | the number is optional; the cues are read in the order they appear |
| The timecode | 00:00:02,000 — a comma before the milliseconds, the hours are always written | 00:00:02.000 — a dot before the milliseconds; the format makes the hours optional, the converter writes them out |
| The text of a line | may span several lines, and the lines are separated by an empty line | the same: the text of a cue may span several lines |
| The tags | bold, italic and colour through HTML tags; <font> is an unofficial habit | bold, italic and underline are part of WebVTT; <font> and <span> are not, so the tag goes and the text stays |
| The speaker | the name is part of the text: SPEAKER: the words | the same; a voice span <v Esme> is part of WebVTT and is kept |
| The character encoding | no official standard; Windows-1252 is a common default | the format is defined as UTF-8 |
| Who reads the file | video players and subtitle tools | browsers, through the HTML track element, and players |
Source: Wikipedia — SubRip; MDN — Web Video Text Tracks Format; W3C WebVTT, accessed 2026-10-22
What the converter handles
- The header. The WEBVTT header is written at the top of the file, because the format asks for it and a player refuses a file without it.
- The numbers of the lines. They are dropped by default, because WebVTT reads the cues in the order they appear; switch the option on and the number becomes the identifier of the cue.
- The timecode. The comma before the milliseconds becomes a dot, the hours are written out, and the timings themselves are copied as they are — nothing is rounded and nothing is shifted.
- The tags. Bold, italic and underline are part of WebVTT and stay. <font color="…"> and <span> are not: the tag is removed, the text under it stays, and the tool says how many tags it took out.
- The character encoding. A .srt file has no official encoding, so the bytes are read as UTF-8 first and as Windows-1252 when the text is not valid UTF-8.
- The broken blocks. A block without a timecode and a cue that ends before it starts are skipped, and the tool says which ones they were.
Questions this page answers
Does this tool upload my file anywhere?
No. The file is read in your browser with the File API and converted by JavaScript on your own device. The page loads no third-party code, there is no form and no account, and nothing is written to a log. The server only sends the page itself, the same way it does for every visitor.
What exactly changes in the converted file?
The WEBVTT header is added, the numbers of the lines are dropped (or kept as the identifier of a cue, if you switch the option on), and every timecode is rewritten with a dot instead of a comma: 00:00:02,000 becomes 00:00:02.000. The words and the timings stay exactly where they were.
Do the subtitles still match my video?
Yes. The start and the end of every cue are copied as they are, so nothing moves on the timeline; only the way the timecode is written changes. The timings are not rounded and not shifted.
What happens to the formatting and to the speaker names?
Bold, italic and underline are part of WebVTT, so they are kept. <font color="#ff0000"> and <span> are not part of the format: the tag is removed and the text under it stays. The name of the speaker usually stands in the text of the line — SPEAKER: the words — and it stays as it is.
My .srt file opens with strange characters — what is wrong with it?
A .srt file has no official character encoding, and Windows-1252 is the common default. The tool reads the bytes of the file, checks whether the text is valid UTF-8 and falls back to Windows-1252 when it is not; you can also pick the encoding yourself. Source: Wikipedia — SubRip, accessed 2026-10-22.
Related pages
What the two formats are and where each one belongs.
Convert an MP3 to SRT subtitles
Making the subtitle file in the first place.
The guide to the transcription service behind the exports.
What Transcrib Si is and what it costs.
Our plans in full.
What happens to a file that you send to the service.
Mark Burmistrov, Founder.
Every fact on this page comes from the documentation of the two subtitle formats, with the source and the date under the table. The author of the page and the publisher of the site are the same person. Questions and corrections: support@transcrib.si.