video tool
VTT to SRT converter
Paste a WebVTT file or open a .vtt and the SRT version appears beside it as you type: every cue is numbered from 1, the dot before the milliseconds becomes a comma, and the WEBVTT header, notes and style blocks are left behind. Bold, italic and underline carry over; positioning, regions and voice or class spans have no SRT form, so they are removed and counted.
Loading the tool…
- Runs on your device, nothing is uploaded
- Free, no sign in
- No watermark, no file limit
How it works
- 1
Paste or open the VTT
Paste into the WebVTT box, press Open a .vtt file, or drop the file on the tool. The sample shows a file with a style block, a note and cue settings.
- 2
Read the SRT side
The SRT appears at once and follows every edit. Cue numbers start at 1 and run in file order.
- 3
Check the dropped list
The note under the boxes names what SRT could not hold, such as cue position settings, style blocks or voice tags, with a count for each.
- 4
Download the .srt
Download .srt saves the file under the name of your VTT. Copy puts the text on the clipboard.
Why go from WebVTT back to SRT
WebVTT is the web's caption format, so captions pulled from a site, exported from a web based editor or downloaded from a streaming player usually arrive as .vtt. SRT is the older, plainer format that almost everything else reads: desktop video editors, many smart TVs and media players, older broadcast tools and some upload forms that list only SubRip. Converting is mostly a matter of removing things. The WEBVTT header goes, comments and style sheets go, the millisecond separator flips from a dot to a comma, and every cue gets the running number SRT expects above its timing line.
What gets lost, and whether it matters
WebVTT can place a cue anywhere on screen with settings written after the timing, such as line:0 to move it to the top or position:10% with align:start to pin it left. It can also define regions that scroll like live captions, and style cues with CSS by class. SRT has none of this: a player draws every SRT line in its default spot. For dialogue that is usually fine. It matters for captions that were moved up to avoid lower thirds or on-screen text, and for sound labels placed beside a speaker. The tool counts each kind it dropped so you can check those moments in the video after converting.
Tags SRT players understand
Bold, italic and underline are the only markup most SRT players honour, so those survive, cleaned of any class names: <i.whisper> becomes <i>. Voice tags such as <v Priya> mark who is speaking in WebVTT but print nothing on screen, so they are removed and the words kept. Class and language spans are unwrapped the same way, and ruby annotations lose their markup. Karaoke style timestamps inside a cue, which some auto captions use to light up words one by one, are removed too, so each cue shows its whole line at once. Escaped characters such as & are turned back into the plain character.
Limits worth knowing
A file without the WEBVTT line is still read, with a warning, because the line is often lost in copy and paste; but if its timings use commas it is really SRT and you are pointed to the SRT to VTT converter. Blocks with text and no timing line are left out and flagged in the gutter by line number. Cues are kept in file order, so if the source had cues out of time order the SRT will too, and the tool lists them. Nothing is uploaded and nothing is stored, ever; the conversion runs entirely in this page.
Limits
- VTT positioning and region settings have no SRT equivalent and are dropped: align, line, position, size, vertical and region on each cue, and REGION blocks.
- STYLE blocks, NOTE comments, class spans, voice tags, language spans, ruby and karaoke timestamps are removed; their text is kept.
- Files over 20 MB are refused with a message.
What it does not do
- It does not keep cue identifiers. SRT numbers every cue from 1 instead.
- It does not read TTML, DFXP, SBV or ASS caption files.
- It does not turn a voice tag into a speaker name in the text. Use the subtitle to text tool for a transcript with speakers.
Questions people ask
Which video editors need SRT rather than VTT?
Plenty of desktop editors and players import SRT for caption tracks, and SRT is the format most often listed when an upload form or a TV app accepts only one. Newer editors increasingly read WebVTT as well, so check the import menu first. When in doubt, SRT is the safer choice for anything that is not a web page.
Do the cue identifiers in my VTT file matter?
Only to tools that refer to cues by name, such as scripts that change a particular cue or chapter markers. Players ignore them when drawing captions. SRT has no named identifiers, just the running number, so they are replaced by 1, 2, 3 in order. Keep the original .vtt if anything downstream relies on the names.
Why are some lines repeated in auto generated VTT captions?
Auto captions are often written as roll up lines: each cue repeats the previous line and adds a new one, so text appears to scroll. Converted to SRT, every repeat comes along. That is faithful to the source, but it reads badly as a transcript. The subtitle to text tool removes the repeated rolling lines when you want the words only.
Can the SRT keep captions at the top of the screen?
Plain SRT cannot. Some players honour a {\an8} code at the start of a line, borrowed from the ASS format, but support is patchy and this converter does not add it, because it would print as text in players that do not. If position matters on a platform that takes WebVTT, keep the .vtt.
Is the converted file plain UTF-8?
Yes. The SRT is written as UTF-8 without a byte order mark, which current players and editors read correctly, including accented letters and non Latin scripts. If an old device shows garbled characters, it probably expects a Windows encoding; resave the file in that encoding from a text editor, since this tool always writes UTF-8.
Make a narrated video with captions built in
Take what you made here into videos.
Create a video with OneCraftMore tools like this
- SRT to VTT converterConvert SRT to VTT in your browser: commas in timings become dots, a WEBVTT header is added, and unsupported tags are dropped and listed. No upload.
- Shift subtitles forward or backShift subtitles earlier or later by any number of seconds, stretch them for a frame rate change, or sync two cues to the video. SRT and VTT, in your browser.
- SRT to textTurn SRT or VTT subtitles into plain text: timestamps and numbers removed, lines joined into paragraphs, speaker names kept if you want. Download as .txt.
Background reading: the question page on this.
Written and checked by the OneCraft team. Last checked .