Skip to content
t toolfactory

SRT vs VTT: what's the difference?

SRT and WebVTT look almost identical, but one tiny difference decides whether your subtitles load in a browser. Here's the rundown — and a converter for when you need to switch.

Drop a subtitle file hereor click to choose · .srt .vtt .ass .ssa .sbv .lrc .smi .sub
…or paste subtitle text

🔒 Runs entirely in your browser. Your file is never uploaded.

The one difference that matters

SRT separates seconds and milliseconds with a COMMA (00:00:01,000). WebVTT uses a DOT (00:00:01.000) and requires a WEBVTT header line. That's exactly why an SRT file won't load in an HTML5 <track> element — the browser's VTT parser rejects the comma and the missing header.

When to use SRT

SRT is the universal interchange format: video editors (Premiere, DaVinci Resolve), desktop players (VLC), and most upload forms take SRT. If you're handing a file to a person or an editor, use SRT.

When to use VTT

WebVTT is for the web: HTML5 <video> with <track>, JS players (video.js, hls.js), and streaming manifests. VTT also supports cue positioning and styling that SRT can't carry. If the captions play in a browser, use VTT.

Converting between them

The converter below switches a file either way, in your browser: it rewrites the timestamps (comma ↔ dot), adds or strips the WEBVTT header, and leaves the text and timing untouched. Nothing is uploaded.

Popular conversions