← Free tools

SRT to VTT converter

Drop or paste an .srt or .vtt file and get the other format back, ready to download. It handles byte-order marks, Windows line endings, timestamp styles and position settings.

–Cues
–Input format
–Last cue ends

Runs in your browser. Nothing you add is uploaded.

How to convert SRT to VTT online

  1. Drop your .srt file on the box above, or paste its text into Input.
  2. The converter detects the format and writes WebVTT in Output. Paste a .vtt file instead and it writes SRT.
  3. Click Download to save the new file with the same name and the new extension, or Copy output to paste it somewhere.

Nothing is uploaded: the conversion runs in this page, so it works on private or unreleased subtitles.

What actually changes between SRT and WebVTT

The two formats hold the same thing, a list of cues with a start time, an end time and some text, but they write it slightly differently.

SRT (.srt)WebVTT (.vtt)
First lineNothing specialWEBVTT
MillisecondsComma: 00:01:02,500Period: 00:01:02.500
Cue numbersRequired, 1, 2, 3...Optional cue identifiers
PositioningUnofficial {\an8} tagsCue settings such as line:0 align:start
Styling<b>, <i>, <u>, <font><b>, <i>, <u>, classes, voices, CSS
CommentsNoneNOTE blocks

SRT to VTT

The converter adds the WEBVTT header, switches commas to periods, drops the cue numbers, removes <font> tags (WebVTT doesn't have them) and turns {\an8} style position tags into the matching cue settings, so a top-of-screen caption stays at the top. Stray & and < characters are escaped, because a browser would otherwise read them as markup.

VTT to SRT

Going the other way, it numbers the cues, switches periods back to commas, and removes what SRT players don't understand: the header, NOTE, STYLE and REGION blocks, class and karaoke timestamp tags. A voice tag like <v Sam> becomes Sam: so you still know who is speaking. Cue settings are dropped by default; choose "Keep top/bottom" to turn top-positioned cues into {\an8}.

Common problems it fixes

Which one should you use?

Use WebVTT for anything played in a web browser: the HTML <track> element only accepts VTT, and most web players expect it. Use SRT for desktop players, editing apps and upload forms that ask for it; it is the most widely accepted subtitle file. YouTube and Vimeo take either.

FAQ

How do I convert SRT to VTT online for free?

Drop the .srt file on the converter above or paste its text. It writes the WebVTT version straight away; click Download to save it as a .vtt file. It runs in your browser, so the file is not uploaded.

Can I just rename .srt to .vtt?

Not reliably. A VTT file must start with a WEBVTT line and use periods, not commas, before the milliseconds. Some players accept a renamed file, but browsers using the HTML track element will usually show nothing.

How do I convert VTT to SRT?

Paste or drop the .vtt file. The converter detects WebVTT and writes SRT: numbered cues, comma milliseconds, and no header, NOTE or STYLE blocks. You can also pick "WebVTT to SRT" in the Convert menu.

Why do my VTT subtitles not show in the browser?

The usual causes are a missing WEBVTT first line, comma milliseconds left over from SRT, an invisible byte-order mark before WEBVTT, or the server sending the file with the wrong type. Running the file through the converter fixes the first three; the server should send text/vtt.