Free tool · Nothing uploaded
VTT to SRT converter
Paste a WebVTT file or drop one in, and get a clean, numbered SRT file that video editors and upload forms accept. The conversion runs in your browser, so your captions never leave your device.
Paste the text, or drop a .srt or .vtt file here. Up to 5 MB.
SRT output
Saved as a .srt file.
Paste subtitles or choose a file, and the SRT version appears here.
Runs in your browser. Nothing is uploaded.
Swap direction: SRT to VTTHow to use it
Convert a VTT file in four steps.
No account and no upload. Close the tab and nothing is kept.
- Paste your WebVTT text into the box, or drop a .vtt file onto it.
- The SRT version appears as you type. Anything worth checking, such as overlapping cues, is listed below with its line number.
- Copy the result, or download it as an .srt file named after your original.
- Upload the .srt with your video, or import it into your video editor.
What SRT keeps, and what it leaves behind
SRT is the simpler format. The text and the start and end time of every cue come through unchanged. WebVTT features with no SRT equivalent are removed, because an SRT file has nowhere to put them.
| In the WebVTT file | In the SRT file |
|---|---|
The WEBVTT header, and lines under it such as Language: en | Removed. An SRT file starts with its first cue. |
| Cue identifiers | Replaced by numbers counting up from 1, which SRT expects. |
Short timestamps such as 01:02.500 | Written in full: 00:01:02,500 |
Cue settings such as line:0 or align:start | Removed. Players use their default position. |
NOTE, STYLE and REGION blocks | Removed. |
<i>, <b> and <u> | Kept. |
<v>, <c>, <lang> and <ruby> tags | The tag is removed and its text is kept. |
Timestamp tags such as <00:00:04.000> | Removed. |
&, < and > | Written as the plain characters &, < and > |
WEBVTT
Language: en
NOTE Recorded at the March meetup
intro
00:01.000 --> 00:03.500 line:0
<v Maya>Thanks for coming & welcome.</v>
00:03.800 --> 00:06.000
<c.accent>Tonight</c> we have <i>three</i> talks.1
00:00:01,000 --> 00:00:03,500
Thanks for coming & welcome.
2
00:00:03,800 --> 00:00:06,000
Tonight we have <i>three</i> talks.Speaker names in voice tags
WebVTT can mark who is speaking with a voice tag, as in <v Maya>Thanks for coming.</v>. Browsers use the name for styling rather than showing it, and SRT has no voice tag at all, so the converter keeps the spoken words and drops the tag.
If viewers need to know who is talking, put the name in the cue text before you convert, the way SRT files usually show it:
1
00:00:01,000 --> 00:00:03,500
MAYA: Thanks for coming.When SRT is the better choice
SRT has no formal specification. It takes its name from SubRip, a program for extracting subtitles from video, and its plain structure is why so many tools read it. Convert to SRT when:
- You are importing captions into a video editor. Premiere Pro and DaVinci Resolve both import SRT files.
- You are adding captions to a social video. Facebook and LinkedIn accept SRT caption files.
- You watch in a desktop player. VLC, for example, loads an SRT file automatically when it sits next to the video with the same name.
YouTube accepts both formats, so either works there. For more on the differences, read SRT vs VTT.
Questions
The short answers.
Is my caption file uploaded?
No. The file is read and converted by the page itself, in your browser. Nothing is sent to a server and nothing is stored, and no account is needed.
Why were my cue identifiers replaced with numbers?
SRT expects every cue to start with a number, counting up from 1. WebVTT identifiers can be any text, so the converter numbers the cues in order instead.
Will the position of my captions carry over?
No. Cue settings such as line:0 or align:start have no SRT equivalent, so they are removed and players show the cues in their default position, usually centered near the bottom.
What happens to speaker names in <v> tags?
The tag is removed and the spoken text is kept. If the name should appear on screen, add it to the cue text before converting.
The tool warns about overlapping cues. Is that a problem?
Overlapping cues are allowed in WebVTT, where browsers show both at once. SRT players handle overlaps differently, so check each flagged pair. The warning gives the line number of the later cue.
Does it handle VTT files with word-by-word timing?
Yes. Timestamp tags such as <00:00:04.000> and the <c> tags around each word are removed, leaving the text with the cue's start and end times. Header lines such as Kind: captions and Language: en are dropped too.
Keep going
- SRT → VTTSRT to VTT converterTurn a SubRip file into WebVTT for HTML5 video and web players, with the header, timestamps and tags fixed for you.
- ± TimingSubtitle timing shifterMove subtitles earlier or later by seconds or milliseconds, for the whole file or from any cue onward.
- GuideSRT vs VTTHow the two subtitle formats differ, and when to use each one.
From video to subtitles
Don't have subtitles yet? AutoCap generates them from your video.
Upload a video with English speech and get captions with a timing for every word. Edit any word, then export a burned-in MP4 rendered in your browser at up to 2K, or download SRT and VTT files on a paid plan. The free plan includes 2 minutes a month.