VTT to SRT Converter: WebVTT Captions to SRT Subtitles
Convert WebVTT (.vtt) caption files to the widely supported .srt subtitle format. Header, styling, and cue settings are stripped and timestamps are converted, all in your browser.
What this tool does
This tool converts WebVTT (.vtt) caption files into the SubRip (.srt) format accepted by video editors, media players, and upload forms that do not support WebVTT. It strips the WEBVTT header line along with any NOTE, STYLE, or REGION blocks, since those have no SRT equivalent, and removes cue settings such as position or align that sometimes follow a WebVTT timestamp line. Timestamps are converted from WebVTT's period format to SRT's comma format, and short-form timestamps that omit the hour, common in shorter WebVTT files, are expanded to the full HH:MM:SS format SRT requires. Sequential cue numbers are added since SRT requires them even when the source VTT has none, and speaker tags like <v Name> are converted into a Name: prefix on the caption text by default, with an option to strip them instead.
Who it's for
Video editors and captioners who received or exported a WebVTT file, common from web-based caption tools and some streaming platforms, but need SRT for a video editor, media player, or a service that specifically requests SubRip. It is also useful for developers pulling auto-generated WebVTT captions from a video pipeline who need SRT for a downstream tool.
How to use it
- Paste your WebVTT text into the box, or upload a .vtt file.
- Choose whether to keep speaker names as a Name: prefix or strip speaker tags entirely.
- Review the cue count and the preview of the first few converted cues.
- Click Download SRT to save the converted file.
- Use the .srt file in your video editor, media player, or wherever SubRip captions are required.
Good to know
WebVTT-specific features with no SRT equivalent, cue positioning, alignment, and CSS-style voice classes, are removed rather than approximated, since SRT has no mechanism to represent them. Everything runs locally in your browser using JavaScript, your caption file is never uploaded to a server.
Frequently asked questions
Why do WebVTT files sometimes use timestamps without an hour, like 01:23.500?
WebVTT allows the hour component to be omitted for cues under an hour, while SRT always requires the full HH:MM:SS,mmm format. This tool detects short-form timestamps automatically and expands them to include a leading 00 hour so the SRT output is always correctly formatted.
What happens to WebVTT cue settings like position or align after conversion?
They are removed. SRT has no concept of on-screen cue positioning or alignment, those settings exist only in WebVTT, so this tool strips anything appearing after the timestamp arrow on the cue timing line and keeps only the start and end times.
How does this tool handle speaker names written as <v Name> tags?
By default, it converts <v Name>Hello there</v> into Name: Hello there as plain text, which reads well in players that do not support WebVTT voice tags. You can toggle this off if you would rather strip the speaker tag entirely and keep just the caption text.
Does this tool remove WEBVTT header metadata and NOTE comments?
Yes, the WEBVTT header line, any Kind or Language metadata that follows it, NOTE comment blocks, and STYLE or REGION blocks are all detected and removed automatically, since none of them have a place in the SRT format.
Will my cue numbering match the original WebVTT identifiers?
No, SRT requires sequential numbering starting at 1, so this tool assigns fresh sequential numbers to every cue in order regardless of what identifier, if any, appeared in the source WebVTT file.
Can I convert auto-generated YouTube or Zoom WebVTT captions with this tool?
Yes, auto-generated WebVTT captions from platforms like YouTube and Zoom follow the same structure this tool expects, timestamped cues with optional cue settings, so they convert the same way as manually authored WebVTT files.