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 VTT

How to use it

Convert a VTT file in four steps.

No account and no upload. Close the tab and nothing is kept.

  1. Paste your WebVTT text into the box, or drop a .vtt file onto it.
  2. The SRT version appears as you type. Anything worth checking, such as overlapping cues, is listed below with its line number.
  3. Copy the result, or download it as an .srt file named after your original.
  4. 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 fileIn the SRT file
The WEBVTT header, and lines under it such as Language: enRemoved. An SRT file starts with its first cue.
Cue identifiersReplaced by numbers counting up from 1, which SRT expects.
Short timestamps such as 01:02.500Written in full: 00:01:02,500
Cue settings such as line:0 or align:startRemoved. Players use their default position.
NOTE, STYLE and REGION blocksRemoved.
<i>, <b> and <u>Kept.
<v>, <c>, <lang> and <ruby> tagsThe tag is removed and its text is kept.
Timestamp tags such as <00:00:04.000>Removed.
&amp;, &lt; and &gt;Written as the plain characters &, < and >
before.vtt
WEBVTT
Language: en

NOTE Recorded at the March meetup

intro
00:01.000 --> 00:03.500 line:0
<v Maya>Thanks for coming &amp; welcome.</v>

00:03.800 --> 00:06.000
<c.accent>Tonight</c> we have <i>three</i> talks.
after.srt
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:

speaker.srt
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.

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.