SRT to VTT Converter

Runs in your browser — your data is never uploaded.

Convert an SRT subtitle file to WebVTT, the only caption format the HTML5 <track> element accepts. The conversion is smaller than it looks and easier to get wrong than it looks: WebVTT separates milliseconds with a dot rather than a comma, and the file must open with the literal word WEBVTT. Miss either and the browser rejects the whole track without logging anything, which is why captions "just don’t appear".

0 characters · runs entirely in your browser

How to use SRT to VTT

  1. 1

    Paste your SRT, or drop the .srt file in.

  2. 2

    Click “Convert” — timestamps are rewritten and the WEBVTT header added.

  3. 3

    Save as .vtt and point your <track src="…"> at it.

Share

Embed this tool on your site

Paste this where you want the tool to appear. It runs entirely in your visitor's browser — no uploads, no account, no tracking.

Please keep the attribution line — it's what keeps these tools free.

Need a different size, a dark theme, or a different tool? Build an embed lets you preview it first.

Frequently asked questions

Why won’t my captions show in the video player?+

Nine times out of ten the file is still SRT with a .vtt extension. WebVTT needs the literal line WEBVTT at the top and a dot before the milliseconds; a browser handed anything else rejects the entire track silently — no console error, no partial captions, nothing. The other common cause is serving it with the wrong Content-Type, which should be text/vtt.

What is the actual difference between SRT and VTT?+

A comma versus a dot in the timestamp, a required WEBVTT header, and optional cue settings for positioning. WebVTT also supports styling and regions that SRT has no concept of. For plain captions the two are otherwise equivalent, which is exactly why the small differences catch people out.

Do cue numbers matter?+

No. SRT numbers each cue and WebVTT treats those numbers as optional identifiers. This converter drops them, which is valid and slightly smaller. Nothing in a player depends on them.

Will my italics and formatting survive?+

Yes. Both formats accept the same small set of HTML-style tags, so <i>, <b> and <u> pass through untouched.

Is my subtitle file uploaded?+

No. The whole conversion is plain text processing that runs in this page — the file never leaves your device.