SRT to VTT
Convert .srt captions to .vtt for HTML5 video, and back again. Direction is detected from the file, timestamps are normalized, and nothing is uploaded.
- Free, no sign-up
- REST + MCP
- Updated
- Reviewed by Olgun Ozoktas
Direction is detected from the file. Use the toggle to override it.
Converted captions will appear here..
Why Use Our SRT to VTT Converter?
SubRip and WebVTT describe the same thing — a list of cues, each with a start time, an end time, and some text — and they disagree on almost nothing except punctuation. SubRip separates the milliseconds with a comma and numbers every cue. WebVTT uses a dot, makes the number optional, opens the file with a WEBVTT line, and adds optional positioning settings after the timing.
That small gap is enough to make a caption file fail silently. A browser handed an SRT file through a track element renders no captions and reports nothing useful; a player expecting SubRip chokes on the WEBVTT header. The fix is mechanical, which is exactly why it should not be done by hand.
This converter parses either dialect into the same cue list, normalizes every timestamp to hours, minutes, seconds, and three fraction digits, and writes the other format. A malformed timing line is reported with its line number instead of quietly truncating the file. Everything runs in the browser: the caption file is never uploaded.
How it compares
Cloud caption converters upload the file, and a caption file is a full transcript of what was said. For an unreleased episode, an internal training video, or a client's footage, that upload is the problem. This tool does the conversion in the tab, so the transcript stays on your machine.
Caption Conversion Tips
- SubRip requires sequential cue numbers; WebVTT treats them as optional identifiers. Converting to SRT renumbers from 1, whatever the source used.
- WebVTT cue settings such as line:90% or align:start are preserved when writing VTT and dropped when writing SRT, because SubRip has no equivalent.
- NOTE, STYLE, and REGION blocks are WebVTT metadata, not captions. They are skipped rather than turned into cue text.
- A timestamp with fewer than three fraction digits is padded, so 00:00:01,5 becomes 00:00:01.500 and players read it correctly.
- A WebVTT timestamp may omit the hours field. It is expanded to the full HH:MM:SS form when writing SubRip, which requires it.