Free browser tool

Convert SRT to VTT

SRT to VTT converts a SubRip (.srt) subtitle file into a WebVTT (.vtt) file right in your browser: the file is read on your own device, the comma in the timecode becomes a dot, and the WEBVTT header is added. Nothing is uploaded anywhere.

Updated 2026-10-22 · Author: Mark Burmistrov · 3 minutes

The .srt file

Drop the .srt file here

or , or paste the text below

The file is read in your browser with the File API and converted by JavaScript on your own device. Nothing is uploaded, the page loads no third-party code, and there is no form and no account.

The .vtt file

Nothing converted yet.

How to

How to convert an SRT file to VTT

  1. Open the file

    Drop the .srt file on the box, or paste the text of the file into the field.

  2. Convert

    Press Convert to VTT. The file is parsed in your browser, on your own device.

  3. Check the result

    The .vtt text appears with the WEBVTT header, and a note about every part that was skipped.

  4. Copy or save

    Copy the text to the clipboard, or download it as a .vtt file.

The formats

What changes in the converted file

The words and the timings of the subtitles stay the same. What changes is the way the file is written, because WebVTT is a specification and SubRip is a habit.

What changes when a SubRip file becomes a WebVTT file
WhatIn a .srt fileIn the .vtt file you get
The header there is none: the file starts with the first line of subtitles the file starts with WEBVTT, and the format asks for it
The numbers of the lines every line is numbered: 1, 2, 3 the number is optional; the cues are read in the order they appear
The timecode 00:00:02,000 — a comma before the milliseconds, the hours are always written 00:00:02.000 — a dot before the milliseconds; the format makes the hours optional, the converter writes them out
The text of a line may span several lines, and the lines are separated by an empty line the same: the text of a cue may span several lines
The tags bold, italic and colour through HTML tags; <font> is an unofficial habit bold, italic and underline are part of WebVTT; <font> and <span> are not, so the tag goes and the text stays
The speaker the name is part of the text: SPEAKER: the words the same; a voice span <v Esme> is part of WebVTT and is kept
The character encoding no official standard; Windows-1252 is a common default the format is defined as UTF-8
Who reads the file video players and subtitle tools browsers, through the HTML track element, and players

Source: Wikipedia — SubRip; MDN — Web Video Text Tracks Format; W3C WebVTT, accessed 2026-10-22

The tool

What the converter handles

  • The header. The WEBVTT header is written at the top of the file, because the format asks for it and a player refuses a file without it.
  • The numbers of the lines. They are dropped by default, because WebVTT reads the cues in the order they appear; switch the option on and the number becomes the identifier of the cue.
  • The timecode. The comma before the milliseconds becomes a dot, the hours are written out, and the timings themselves are copied as they are — nothing is rounded and nothing is shifted.
  • The tags. Bold, italic and underline are part of WebVTT and stay. <font color="…"> and <span> are not: the tag is removed, the text under it stays, and the tool says how many tags it took out.
  • The character encoding. A .srt file has no official encoding, so the bytes are read as UTF-8 first and as Windows-1252 when the text is not valid UTF-8.
  • The broken blocks. A block without a timecode and a cue that ends before it starts are skipped, and the tool says which ones they were.
Questions

Questions this page answers

Does this tool upload my file anywhere?

No. The file is read in your browser with the File API and converted by JavaScript on your own device. The page loads no third-party code, there is no form and no account, and nothing is written to a log. The server only sends the page itself, the same way it does for every visitor.

What exactly changes in the converted file?

The WEBVTT header is added, the numbers of the lines are dropped (or kept as the identifier of a cue, if you switch the option on), and every timecode is rewritten with a dot instead of a comma: 00:00:02,000 becomes 00:00:02.000. The words and the timings stay exactly where they were.

Do the subtitles still match my video?

Yes. The start and the end of every cue are copied as they are, so nothing moves on the timeline; only the way the timecode is written changes. The timings are not rounded and not shifted.

What happens to the formatting and to the speaker names?

Bold, italic and underline are part of WebVTT, so they are kept. <font color="#ff0000"> and <span> are not part of the format: the tag is removed and the text under it stays. The name of the speaker usually stands in the text of the line — SPEAKER: the words — and it stays as it is.

My .srt file opens with strange characters — what is wrong with it?

A .srt file has no official character encoding, and Windows-1252 is the common default. The tool reads the bytes of the file, checks whether the text is valid UTF-8 and falls back to Windows-1252 when it is not; you can also pick the encoding yourself. Source: Wikipedia — SubRip, accessed 2026-10-22.

Keep reading

Related pages

SRT vs VTT: which file to use

What the two formats are and where each one belongs.

Convert an MP3 to SRT subtitles

Making the subtitle file in the first place.

Transcribe audio to text

The guide to the transcription service behind the exports.

Back to the overview

What Transcrib Si is and what it costs.

Pricing

Our plans in full.

Privacy policy

What happens to a file that you send to the service.

Written by a person

Mark Burmistrov, Founder.

Every fact on this page comes from the documentation of the two subtitle formats, with the source and the date under the table. The author of the page and the publisher of the site are the same person. Questions and corrections: support@transcrib.si.