Convert VTT to SRT
Turn web captions into the SubRip format that almost every player and editor accepts, on your own device.
Paste or type above to see the result here.
Your files stay on your device
This tool runs entirely in your browser. What you paste is processed on your device and is never sent to a server, so it is safe to use with tokens, keys and unpublished text.
Example
Captions of a recorded pickleball clinic, from .vtt to .srt for the video editor
A community pickleball coach recorded a beginners’ clinic. The video platform exports the captions as clinic.vtt, but the video editor imports only .srt. The file has the Kind and Language lines, a NOTE, a STYLE block, a cue named “welcome” with a voice tag, word-by-word timings, italics and bold, and one cue past the one-hour mark.
- Paste the whole .vtt into the box: the SRT appears below as you paste, with no button to press.
- WEBVTT, Kind, Language, the NOTE and the STYLE block are dropped. The cue named “welcome” becomes 1, and the others are numbered 2, 3 and 4.
- Short times get their hours and a comma before the milliseconds: 00:07.250 becomes 00:00:07,250. Settings after the times, such as align or line, go.
- Every tag goes and its words stay: the voice tag, the italics and bold, and the word timings such as <00:00:04.200> that automatic captions put between words. The two-line cue stays on two lines.
| In the .vtt | In the .srt |
|---|---|
| Cue name “welcome” | 1 |
| 00:00.000 --> 00:03.400 align:start position:0% | 00:00:00,000 --> 00:00:03,400 |
| Voice tag Coach Miller before “Welcome to week three of the beginner pickleball clinic.” | Welcome to week three of the beginner pickleball clinic. |
| 00:03.400 --> 00:06.900 line:85% | 00:00:03,400 --> 00:00:06,900 |
| “Today we work on the dink.” with a timing such as <00:00:04.200> before each word | Today we work on the dink. |
| “open” in italics | open, as plain text |
| 01:00:12.500 --> 01:00:15.000 | 01:00:12,500 --> 01:00:15,000 |
An .srt with 4 cues (below the result: 4 cues, read as vtt), downloaded as vtt-to-srt.srt. Renamed clinic.srt next to clinic.mp4, it loads in VLC with the video and imports into the editor as a caption track. Coach Miller’s name went with the voice tag; type “Coach Miller:” into the first cue if you want it shown.
How it works
- Open the .vtt file in a text editor, or download captions from YouTube or a web player, and paste the contents into the input box.
- The result appears as you type. The WEBVTT header, NOTE and STYLE blocks are removed, and the dot before milliseconds becomes a comma.
- Cues are renumbered sequentially from 1, because SRT requires a number on every cue even when the VTT had none.
- Copy the result or download it as a .srt file and load it in VLC, your TV, or your video editor.
Frequently asked questions
- Why convert VTT to SRT?
- VTT is the web standard, but many desktop players, smart TVs, DVD authoring tools and video editors such as Premiere or DaVinci Resolve expect SRT. Some upload forms also list only .srt.
- What is removed during conversion?
- The WEBVTT header, NOTE comment blocks, STYLE and REGION blocks, and cue settings after the timestamp such as position or align, because SRT has no equivalent. Cue text is kept.
- What about timestamps without hours?
- VTT allows 01:02.500 with no hour part. These are expanded to 00:01:02,500 because SRT requires the full hh:mm:ss,mmm form.
- Are voice and styling tags kept?
- No. SRT players would show VTT tags as text, so they are all taken out: <i>, <b> and <u> as well as voice tags like <v Speaker> and class tags like <c.color>. The words inside them are kept as plain text.
- Does it work with captions downloaded from YouTube?
- Yes. Paste the .vtt: the timing tags that automatic captions put before each word, such as <00:00:04.200>, are removed along with the <c> tags around the words, so the SRT shows plain sentences. Rolling captions are flattened too: the line repeated at the top of the next cue and the 10 ms cues that only repeat it are dropped, so each line shows once. The other cues keep their times.
- Can it fix subtitles that are out of sync?
- No. The times are copied exactly and only rewritten in SRT form. To move every cue earlier or later, convert first, then use Shift subtitle timing on the SRT.
- Is my file uploaded, and what are the free limits?
- No upload: the conversion runs in your browser as JavaScript, nothing is sent to a server, and it works offline. The free plan allows 5 runs per day; Pro removes this limit.