Convert a VTT subtitle file to SRT
VTT to SRT converts a WebVTT subtitle file into a SubRip (.srt) file in your browser: the cues are numbered, the timecodes change from a dot to a comma, and nothing is uploaded.
The .vtt file
Drop the .vtt 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 .srt file
Nothing converted yet.
How to convert a VTT file to SRT
-
Open the file
Drop the .vtt file on the box, or paste the text of the file into the field.
-
Convert
Press Convert. The file is parsed in your browser, on your own device.
-
Check the result
The .srt text appears with the number of the cues and a note about every part that was dropped.
-
Copy or save
Copy the text to the clipboard, or download it as a .srt file.
What changes in the converted file
The text of the cues and the timing stay the same. What changes is the way the file is written, because SubRip is a simpler format than WebVTT.
| What | In a .vtt file | In the .srt file you get |
|---|---|---|
| The header | the file starts with WEBVTT and may carry a header line, a NOTE, a STYLE block or a REGION block | dropped: the file starts with the number of the first cue |
| The cue numbers | the identifier of a cue is optional and may be any text | the cues are numbered 1, 2, 3 in the order they appear |
| The timecode | 00:02.000 or 00:00:02.000, a dot before the milliseconds | 00:00:02,000, always with the hours and a comma before the milliseconds |
| The cue settings | align, position and size, and the ::cue styles of the file | not part of SubRip: dropped |
| The speaker name | a voice span, <v Esme> and </v> | the name is written as plain text at the start of the line |
| The timestamps inside the text | <00:00:01.000> | <00:00:01,000> |
| The character encoding | the format is defined as UTF-8 | no official standard; Windows-1252 is a common default |
| Who reads the file | browsers, through the HTML track element, and players | video players and subtitle tools |
Source: Wikipedia — SubRip; MDN — Web Video Text Tracks Format; W3C WebVTT, accessed 2026-10-22
What the converter handles
- The header, the comments, the styles and the regions. The WEBVTT header and the NOTE, STYLE and REGION blocks are dropped, and the tool says how many of each it skipped.
- The cue identifiers. The text before the timecode is optional in WebVTT; the cues in the .srt file are numbered 1, 2, 3 in the order they appear.
- The cue settings. align, position and size have no place in SubRip, so they are dropped — and the tool says so.
- The voice spans. A <v Esme> becomes the plain text “Esme: ” at the start of the line, or it is removed if you switch the option off.
- The timestamps inside the text. A <00:00:01.000> becomes <00:00:01,000>, the way SubRip writes them.
- The entities and the line endings. & becomes &, and a file written on Windows opens the same as a file written on Linux.
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 and the NOTE, STYLE and REGION blocks are dropped, the cues are numbered 1, 2, 3 in the order they appear, and every timecode is rewritten with the hours and a comma: 00:00:02.000 becomes 00:00:02,000. The text of the cues is kept.
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 only thing that does not survive is the cue settings, which place the text inside the window of the player.
What happens to the speaker names and to the formatting?
A voice span, <v Esme> and </v>, is written as plain text at the start of the line, so the name survives in a player that knows nothing about WebVTT. Bold, italic and underline are kept, and you can switch every tag off if your player does not read them.
Which subtitle file does YouTube accept?
YouTube accepts .vtt, .srt, .sbv, .ttml and .scc for caption uploads, so a converted .srt file can be uploaded as it is. Source: YouTube Help, “Supported subtitle and closed caption files”, accessed 2026-10-22.
Related pages.
Convert an MP3 to SRT subtitles
Making the subtitle file in the first place.
What the two formats are and where each one belongs.
The guide to the transcription service behind the exports.
What Transcrib Si is and what it costs.
What happens to a file that you send to the service.
Our plans in full.
Mark Burmistrov, Founder.
Every number 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.