Skip to content
SubtitleDesk
FreeNo uploadBrowser-based

SRT to VTT Converter

Turn SubRip (.srt) files into WebVTT (.vtt) for HTML5 video players, YouTube, Vimeo and modern streaming platforms. Drop one file or a whole folder — conversion happens instantly in your browser and nothing is uploaded.

Accepted: .srt, .vtt, .sbv · You can add several files at once.

Your files never leave your device.

How to use this tool

  1. Drag your .srt files onto the box above or click to pick them.
  2. Check the cue count and any parser warnings for each file.
  3. Download each .vtt file, or use “Download all” for a batch.

What is the difference between SRT and VTT?

SubRip Text (SRT) is the oldest subtitle format still in everyday use. Each cue is a sequence number, a timing line using commas for milliseconds (00:01:02,345) and one or more lines of text. It has no official specification, which is why files in the wild vary so much.

WebVTT (Web Video Text Tracks) is the W3C standard designed for the HTML5 <track> element. It starts with a WEBVTT header, uses a dot as the millisecond separator (00:01:02.345), drops the mandatory cue numbers and adds optional cue settings for positioning, plus styling through <c> classes and a STYLE block.

When do you need to convert SRT to VTT?

Browsers only play WebVTT natively. If you embed video with the <video> tag, use players such as Video.js, Plyr or hls.js, or publish to platforms like Vimeo, Wistia or many LMS systems, an .srt file will simply be ignored. Converting is also the standard step when you receive translated subtitles from a vendor in SRT and need to publish them on the web.

How this converter handles your file

The parser is tolerant by design. It accepts missing or non-sequential cue numbers, extra blank lines, dots instead of commas, Windows and Unix line endings in the same file, a leading byte-order mark, and legacy Windows-1252 encodings that would otherwise show as garbled characters. Every correction is listed as a warning so you know exactly what changed.

Timing is converted exactly, with hours always written out for maximum player compatibility. Basic formatting such as <i>, <b> and <u> is preserved; <font> tags, which WebVTT does not define, are removed, and bare ampersands are escaped as &amp; as the specification requires.

Frequently asked questions

Is the converted VTT file compatible with YouTube?
Yes. YouTube accepts WebVTT uploads in its subtitle editor. The output follows the W3C specification, including the WEBVTT header and dot-separated milliseconds, so it imports cleanly.
Will italics and other formatting survive the conversion?
Italic, bold and underline tags are kept because WebVTT supports them. Colour via <font> tags is dropped since WebVTT uses CSS classes instead; the text itself is never lost.
Can I convert many SRT files at once?
Yes. Select or drop as many files as you like. Each one gets its own download button and “Download all” saves them in sequence. Your browser may ask once to allow multiple downloads.
Is anything uploaded to a server?
No. The page is static and the conversion is pure JavaScript running on your device. You can disconnect from the internet after the page loads and it still works.