How to convert SRT to VTT (and back)
- Drop a .srt or .vtt file or paste the subtitles. Files in UTF-8 or older Windows encodings are read correctly.
- Choose the output format. SRT files are converted to WebVTT by default, and VTT to SRT.
- If the subtitles are out of sync, shift them earlier (negative seconds) or later (positive). Use the frame-rate fix when subtitles drift further out of sync over time.
- Download the converted file or copy the text.
SRT versus WebVTT
SubRip (.srt) is the most widely supported subtitle format: numbered cues with times like 00:01:02,500 and the text. WebVTT (.vtt) is the W3C standard for HTML5 video: it starts with a WEBVTT header, uses a full stop before milliseconds, and supports cue settings such as position and alignment. The <track> element in web pages, and players such as YouTube, Vimeo and many LMS platforms, prefer VTT; TV software, VLC and video editors often prefer SRT. Conversion keeps your text, line breaks and timing, and preserves VTT cue settings when converting to VTT.
Out-of-sync subtitles usually have a constant offset (fixed with a shift) or a frame-rate mismatch: subtitles made for a 23.976 fps release played on a 25 fps PAL version drift by about 4% (2.5 minutes per hour). The frame-rate fix rescales every timestamp. Cues that would move before 0:00 are removed. Everything is processed in your browser.
How do I add a VTT file to an HTML video?
Use <track src="subs.vtt" kind="subtitles" srclang="en" label="English"> inside the <video> element.
My subtitles appear 2 seconds early. What do I enter?
Enter 2 to delay them by two seconds.
Are formatting tags kept?
Yes, unless you tick "Remove formatting tags", which strips <i>, <b>, <font> and {\an8}-style codes.