Convert to WebVTT
Open Convert to WebVTTThe Problem
When you build a website with a <video> element, or upload to YouTube, Vimeo, Plex, or Jellyfin, subtitles must be in WebVTT format. Trying to load an .srt file directly into an HTML5 video element either silently fails or produces console errors in most browsers.
WebVTT is also the format required by the W3C Web Accessibility Initiative for captioning — relevant if your content has legal captioning requirements.
How to Use It
Step 1 — Upload your files
Drag .srt, .ass, or .ssa files onto the upload zone. Up to 50 files at once.
Step 2 — Convert
Click Convert to WebVTT. Instant, browser-side.
Step 3 — Download
Download individually or as ZIP.
What Changes in the Conversion
SRT → WebVTT
Two things change:
- A
WEBVTTheader is added at the top of the file — required for browser acceptance. - Timestamp millisecond separators change from comma to period:
00:00:01,500→00:00:01.500.
ASS / SSA → WebVTT
All ASS styling tags are stripped. Only dialog text and timestamps are preserved, same as the Convert to SRT process.
Using WebVTT with HTML5 Video
<video controls> <source src="movie.mp4" type="video/mp4"> <track kind="subtitles" src="movie.vtt" srclang="en" label="English" default> </video>
The default attribute enables the track automatically. Use a valid BCP 47 language code for srclang (en, fr, zh, etc.).
Platform Compatibility
| Platform | Notes |
|---|---|
HTML5 <video> | Native support in all modern browsers |
| YouTube | Upload via "Add subtitles" in YouTube Studio |
| Vimeo | Upload during or after video publish |
| Plex / Jellyfin | Drop .vtt alongside the video file |
Tips
- SRT is still fine for desktop players. VLC, MPC-HC, and mpv read SRT natively. Convert to VTT only when targeting web or streaming.
- The first line of a valid VTT file must be exactly
WEBVTT— browsers reject files where this is missing or has leading whitespace.