EventRecast
Free tool

SRT to VTT converter

Drop in an SRT file or paste subtitle content. Get a valid WebVTT file in your clipboard or as a download. Runs entirely in your browser — nothing is uploaded.

Warnings
  • Input is empty.

WebVTT (.vtt) is the W3C-standardized subtitle format used by HTML5 video's `<track>` element. SRT (.srt) is the older format that came out of the SubRip tool. They're nearly identical — but two specifics matter: VTT requires a `WEBVTT` header line, and VTT uses dot-separated timestamps (HH:MM:SS.mmm) where SRT uses comma-separated (HH:MM:SS,mmm). Most platforms that accept WebVTT will reject an SRT file uploaded with a .vtt extension because of those two differences.

This tool handles the conversion in your browser. There's no upload to a server, no waiting on a queue, no privacy risk for sensitive captions. Paste or drop the SRT, click convert, copy or download the result.

How to use the converter

  1. Paste or drop your SRT content

    Open the .srt file in any text editor and paste the contents into the input box, or drag the file directly onto the page. The tool detects valid SRT format and shows a preview.

  2. Convert

    The tool inserts the WEBVTT header, converts comma-separated timestamps to dot-separated, and (optionally) strips sequence numbers. The output appears below.

  3. Copy or download

    Copy the result to clipboard or download it as a .vtt file. Both options work without any server round-trip.

What the conversion actually changes

The differences between SRT and WebVTT for basic cases are small but specific:

**Header**: WebVTT requires the literal text `WEBVTT` on the first line. SRT has no header.

**Timestamps**: SRT uses commas to separate seconds from milliseconds (`00:00:01,500`). WebVTT uses periods (`00:00:01.500`).

**Cue numbers**: SRT requires a sequential cue number before each timestamp pair. WebVTT makes them optional. The converter preserves them by default but offers an option to strip them for cleaner output.

**Encoding**: WebVTT must be UTF-8. SRT files in the wild are sometimes Windows-1252 or Latin-1; if your input has unexpected characters, re-save it as UTF-8 first.

When you'd reach for this conversion

Uploading captions to platforms that require WebVTT specifically (HTML5 video on a custom player, certain CDN-served HLS streams, Vimeo's API uploads). Importing SRT exports from older captioning tools into platforms that have moved to WebVTT. Migrating an archive of SRT subtitle files to a modern video pipeline.

If your target platform accepts SRT (most do — YouTube, Facebook, most video CMSes), you don't need to convert. Both formats render identically; WebVTT just adds capabilities (styling, region positioning) that SRT lacks.

Frequently asked questions

Want captions that work like this for live events?

EventRecast adds real-time captions, AI summaries, and searchable transcripts to any live event. Free trial, no credit card.

Start free trial