SRT vs VTT: which subtitle format do you actually need?
Updated
Use .srt for video platforms and editing software — YouTube, Vimeo, Premiere, Final Cut. Use .vtt for HTML video on the web, which is the only place that requires it. The formats are nearly identical: VTT adds a WEBVTT header, uses a period instead of a comma before the milliseconds, and supports styling and positioning that most tools ignore anyway.
The actual differences
Both formats are plain text: a numbered cue, a timing line, and the words. Line them up and the differences are small.
- VTT begins with the line WEBVTT; SRT begins with the number 1
- SRT writes milliseconds after a comma (00:00:01,500); VTT after a period (00:00:01.500)
- SRT numbers every cue; VTT treats numbers as optional
- VTT can carry positioning and CSS styling, and comment blocks beginning NOTE
- VTT is the only format the HTML video track element accepts
Which one to hand over
For YouTube, Vimeo, LinkedIn and every video editor: .srt. It is the universal interchange format, and the styling VTT adds would be discarded on upload anyway.
For a video on your own web page using a track element: .vtt. This is the one case where the choice is forced — browsers will not load an SRT file through a track element.
For social feeds — Reels, TikTok, Shorts: neither. Those take a video file and no sidecar, so you want the captions burned into the picture.
Converting between them
Because the formats are so close, converting is mechanical, and this tool will do it: import either format and export either format. It reads both liberally, including files that mix the two conventions — VTT files written with SRT commas are common, because plenty of tools emit them.
One thing is deliberately dropped on import: VTT positioning and styling. This tool re-renders captions from its own style presets for burn-in, so carrying imported positioning through would be a promise it could not keep.