Skip to content
subtitle.tools

SRT to VTT converter

Drop an SRT file and download a WebVTT file ready for an HTML5 player.

workbench · no file open

.srt .vtt .ass .ssa .sbv

Drop a subtitle file here

Drop the video too to preview the lines over it and to set each start and end by its sound. Nothing is uploaded. No subtitle yet? Make one from the audio with transcribe.tools.

Formats it reads and writes

FormatTimecodeKept when saved here
SRT.srt00:01:23,450Italic, bold, underline, font tags
WebVTT.vtt00:01:23.450Italic, bold, underline
ASS.ass .ssa0:01:23.45Styles, actors, {\an8} and {\pos} when the file was ASS
SBV.sbv0:01:23.450Text only

Reading speed and timing limits

The presets of the checker: Netflix English. Every number can be changed.

LimitAdultChildren’s
Characters per line4242
Lines per subtitle22
Reading speed, CPS2017
Shortest on screen833 ms833 ms
Longest on screen7 s7 s
Gap between lines (2 frames at 24 fps)83 ms83 ms

Source: Netflix Partner Help Center, English (USA) Timed Text Style Guide; Netflix Partner Help Center, Timed Text Style Guide: General Requirements; Netflix Partner Help Center, Timed Text Style Guide: Subtitle Timing Guidelines, opened .

Check a file against these limits

How to use the srt to vtt

  1. 00:01

    Open the file

    The format is read from the content, so a misnamed file still opens correctly.

  2. 00:02

    Check the output

    The panel shows the start of the converted file before you download it.

  3. 00:03

    Download

    Saved in UTF-8 with the extension and timestamps of the new format.

  1. What changes when SRT becomes VTT?

    Three things. The file starts with the line WEBVTT, which WebVTT requires. Timestamps use a dot before the milliseconds instead of a comma (00:01:02.500 rather than 00:01:02,500). And the cue numbers of SRT are dropped, because WebVTT does not need them. The text and the times themselves stay the same to the millisecond.

  2. Are italics and colours kept?

    Italic, bold and underline are kept as <i>, <b> and <u>, which WebVTT supports. The <font color> tag that some SRT files use is not part of WebVTT, so it is removed and the text inside it stays. A blank line inside a cue would end the cue early in WebVTT, so it is closed up, and a literal “-->” in the text is escaped.

  3. Where do I need a VTT file instead of SRT?

    The HTML <track> element of a web page only accepts WebVTT, so a video on your own site, an LMS course or a custom player usually needs VTT. Many video hosts accept both; YouTube, for one, lists SubRip and WebVTT among its supported caption files. If a platform rejects your SRT, VTT is the format to try.

  4. Can I fix the file before converting?

    Yes. The file opens in the editor before you download it, so you can shift it if it is out of sync, clean out formatting or SDH notes, check line length and reading speed, and correct typos. The download always reflects what you see in the list.

Questions

Can I convert VTT back to SRT?

Yes. Open the VTT file and choose SRT as the output. Cue settings such as position and alignment are WebVTT-only and are not carried into SRT; voice tags become plain text.

Do I need to rename the file to .vtt?

No. Renaming does not change the timestamps or add the header, and a player can reject a renamed SRT. The download is named after your file with the .vtt extension.

Is the VTT file UTF-8?

Yes. WebVTT is defined as UTF-8 text, and every download from this site is UTF-8, even when the SRT you opened was in Windows-1252 or UTF-16.

Can I convert several files at once?

One file at a time keeps the preview and checks meaningful. Converting is a single click once a file is open, so a short series is quick.

Does it convert to ASS or SBV too?

Yes. The same editor writes SRT, VTT, ASS, SBV and plain text. Pick the format next to the download button, or in the Convert panel, which shows the start of the file first.

Sources

  • WebVTT: The Web Video Text Tracks Format

    A WebVTT file starts with the string WEBVTT; timestamps use a dot and three digits for milliseconds, and hours are optional when zero.

    W3C. Opened on .

  • Supported subtitle and closed caption files

    YouTube accepts SubRip (.srt), SubViewer (.sbv) and WebVTT (.vtt) among others; SBV must be plain UTF-8 and puts start and end on one line separated by a comma.

    YouTube Help. Opened on .

Style limits differ between broadcasters, languages and clients; the presets are one published guide, and every limit can be changed. Your files never leave your browser.