SRT vs VTT: Which Subtitle Format Should You Use?
Both formats are plain text files that list subtitle lines with start and end times. They look almost identical, and the differences matter only in a few situations.
What an SRT file looks like
SRT (SubRip Text) is the simplest and most widely supported subtitle format. Each cue has a number, a time range, and the text, followed by a blank line.
1 00:00:00,000 --> 00:00:02,560 Assalam o Alaikum dosto 2 00:00:02,560 --> 00:00:05,780 Aaj hum ek zaroori topic ki baat karenge
Times use the form hours:minutes:seconds,milliseconds with a comma before the milliseconds.
What a VTT file looks like
WebVTT (Web Video Text Tracks) is the web standard for subtitles used with the HTML5 <track> element. It starts with a header and uses a period before the milliseconds.
WEBVTT 00:00:00.000 --> 00:00:02.560 Assalam o Alaikum dosto 00:00:02.560 --> 00:00:05.780 Aaj hum ek zaroori topic ki baat karenge
The differences that matter
| SRT | VTT | |
|---|---|---|
| Header | None | Must start with WEBVTT |
| Millisecond separator | Comma (,) | Period (.) |
| Cue numbers | Required | Optional |
| Styling and positioning | Very limited and inconsistent | Supports cue settings, CSS styling and notes |
| Browser video playback | Needs conversion or a script | Works natively with <track> |
| Editor and platform support | Nearly universal | Common, especially on the web |
Which should you use?
- Uploading to YouTube or Facebook, or importing into an editor: use SRT. It is accepted almost everywhere.
- Putting a video on your own website with the HTML5 video player: use VTT.
- Need positioned or styled captions on the web: use VTT.
- Not sure: export both. They contain the same text and timing.
Converting between them
For simple files, you can convert by hand. To go from SRT to VTT, add WEBVTT and a blank line at the top, then replace the commas in the timestamps with periods. To go from VTT to SRT, remove the header, number the cues, and change the periods in the timestamps back to commas. Many editors and online converters do this automatically.
Avoiding broken Urdu and Roman Urdu text
Subtitle files should be saved as UTF-8. If a file is saved in an older encoding, non-English characters can turn into boxes or garbled symbols. Roman Urdu uses ordinary Latin letters and is rarely affected, but if you mix in Urdu script, UTF-8 is essential. Open the file in a plain text editor to check, and do not edit it in a word processor that may add formatting.
Common mistakes
- Leaving out the blank line between cues. Players may merge or skip them.
- Using
->instead of-->in the time range. - Overlapping times, where one cue starts before the previous one ends.
- Forgetting the
WEBVTTheader on a VTT file.
Download both from one transcript
Lafzaly exports your edited subtitles as SRT or VTT with one click.
Try it free