FileToolsHub logo

By FileToolsHub · Published 2026-08-10 · Updated 2026-09-04 · Subtitles

SRT vs VTT: Which Subtitle Format for HTML5 Video?

Use SRT for editors and vendors, and WebVTT for an HTML5 track element. Convert either way in the browser before you publish.

Open SRT to VTT →

Caption vendors speak SRT. Browsers speaking HTML5 expect WebVTT — dotted milliseconds and a WEBVTT header.

Publishing to the web

Convert SRT → VTT on /tool/srt-to-vtt before you wire up a <track> element.

Sending back to an editor

Convert VTT → SRT on /tool/vtt-to-srt when a translation vendor wants SubRip.

Spot-check

After conversion, skim a few cues. Fancy positioning styles may still need hand edits in WebVTT. Text stays in your browser on FileToolsHub.

What changes between the two formats

SRT numbers each cue and uses a comma before the milliseconds. WebVTT starts with a WEBVTT line and uses a period before the milliseconds. A player that expects one will ignore or mis-time the other, which looks like “captions are broken” when the words are fine. Conversion rewrites that timing syntax and the header. It does not translate the words or fix a cue that was already out of sync. After you convert, play a few seconds at the start, at a scene change, and near the end. Styling, positioning, and comments in a WebVTT file may not survive a round trip to SRT, because SubRip has nowhere to put them. Keep the editor’s SRT as the source and generate VTT when you publish. HTML5 video wants the VTT file on a track element with the right language label. The conversion itself stays in the browser. Name the published file with the language, such as captions-en.vtt, so a second track is easy to add later. Put that file where the player already looks. A correct conversion that points at the wrong address still looks like missing captions. Reload the page without cache when you are checking a file you just replaced.

← All guides