VTT vs SRT: Convert Subtitles Correctly
Both formats look similar but differ in timing syntax, headers and cue settings. Here is what changes when you convert VTT to SRT or back.

WebVTT (`.vtt`) and SubRip (`.srt`) both store timed text, and at a glance they look identical. The differences are small but they matter to players: one wrong separator and the subtitle file is rejected.
The differences that matter
- Header — VTT starts with `WEBVTT`; SRT has no header
- Timestamp separator — VTT uses a dot (`00:00:01.000`), SRT uses a comma (`00:00:01,000`)
- Cue numbers — required in SRT, optional in VTT
- Cue settings — VTT can add position and alignment after the timestamp; SRT cannot
- Styling — VTT supports `<b>`, `<i>` and `<c>` tags; SRT support varies
Which format should you ship?
- HTML5 `<track>` — WebVTT only
- YouTube and most editors — SRT accepted everywhere
- Broadcast and older desktop players — SRT is safer
- Streaming with positioning — WebVTT
What gets lost in conversion
Converting VTT to SRT drops cue settings and VTT-specific classes, because SRT has nowhere to store them. Converting SRT to VTT adds the header and switches the decimal separator, which is lossless.
How to convert
- 1Open VTT to SRT or SRT to VTT.
- 2Paste the file contents.
- 3Convert, then check the first and last cue timings.
- 4Save with the matching extension so players recognise it.
Frequently asked questions
Why does my player show no subtitles?
The most common cause is a wrong extension or a missing `WEBVTT` header. Also check the file is UTF-8.
Are timings preserved exactly?
Yes. Only the separator character changes, not the values.
Can I convert multiple files?
Convert them one at a time; subtitle files are small, so it is quick.
Do it now — free, no signup
Keep reading
Last updated 10 November 2026. Files processed by FilePlume are deleted automatically; nothing is used for training.