SSubToolDesk
en
VTT → SRT

Convert WebVTT to SubRip (.srt)

Turn a Zoom, Teams, or Whisper-generated .vtt file into a universally compatible .srt subtitle track, timing preserved to the millisecond, processed entirely on your device.

Detected: …
Drop a file, paste, or edit directly
…

Your files never touch a server. Every conversion on this page runs locally in your browser using the JavaScript FileReader API. Nothing is uploaded, logged, or stored. Safe for confidential Zoom/Teams recordings, unreleased video, and legal interviews.

How the VTT to SRT conversion works

WebVTT and SubRip encode the same basic idea (a timed list of caption text), but their syntax differs in three concrete ways. First, WebVTT's header line (WEBVTT) and any NOTE/STYLE/REGION blocks have no SRT equivalent and must be dropped. Second, WebVTT separates milliseconds with a period (00:00:06.120) while SRT requires a comma (00:00:06,120), a one-character difference that will make strict SRT parsers reject the file if left unconverted. Third, WebVTT's optional cue identifier can be any string, while SRT expects a strictly sequential integer starting at 1 with no gaps.

SubToolDesk's converter handles all three automatically: it parses the VTT locally with the FileReader API, re-derives clean sequential numbering, swaps the millisecond separator, and discards anything SRT has no syntax for.

How to convert VTT to SRT (step-by-step)

  • Drop your .vtt file onto the converter above, or paste its contents into the left pane.
  • Confirm the format badge detects VTT.
  • Leave Strip formatting tags on so voice tags and position metadata don't end up as literal text in your SRT.
  • Press Download to save a correctly-formatted .srt file, or Copy to paste it elsewhere.

Side-by-side: the same cue, two formats

WebVTT:
00:00:06.120 --> 00:00:09.400 align:start
<v Jordan>Happy to be here.

SRT:
1
00:00:06,120 --> 00:00:09,400
Happy to be here.

Why this still matters in 2026

Browser-native captioning and AI transcription tools (YouTube, Zoom, OpenAI Whisper exports) default to WebVTT because it's the HTML5 <track> standard. But a large share of desktop video editors, legacy media players, and subtitle-upload forms for streaming platforms still expect, or only accept, .srt. Converting keeps your captions portable across both worlds without retyping anything or re-syncing timing by hand.

Nothing leaves your browser

Because the conversion is pure text transformation (no video processing, no OCR, no external API), it runs instantly and entirely client-side. That also means it works for confidential recordings (depositions, internal all-hands videos, unreleased trailers) that you'd rather not hand to a third-party server just to reformat a caption file.

Who converts VTT to SRT, and why

Video editors receiving AI-generated captions (Whisper, Otter.ai, Zoom, Teams) often need SRT specifically because their editing suite's subtitle import (Premiere, DaVinci Resolve, Final Cut) was built around the older, more universally supported format. Localization vendors frequently request SRT as their standard intake format regardless of source. And anyone uploading captions to a video platform or ad server that predates widespread WebVTT support will hit a wall trying to upload a .vtt file directly. Converting once, locally, avoids re-exporting from the original captioning tool or re-typing timecodes by hand.

What gets renumbered, and why it's required

WebVTT's cue identifier is optional and, when present, can be any string: a UUID, a timestamp, or nothing at all. SRT's spec is stricter: every cue must carry a sequential integer index starting at 1, with no gaps and no repeats, or many players will refuse to parse the file past the first broken index. SubToolDesk discards whatever identifier (if any) was in the source VTT and generates a clean, gap-free sequence on export, so the result is valid SRT regardless of how irregular the original numbering was.

A note on cue settings and styling

WebVTT's positioning metadata (align:start position:10%, line offsets, and similar settings) has no SRT equivalent. SubRip subtitles always render at a player's default position with no per-cue placement control. That metadata is dropped during conversion rather than left in as stray text, which is what the Strip Formatting Tags toggle controls. If your WebVTT file relies on custom positioning for accessibility or stylistic reasons, that detail won't survive a move to SRT, which is a limitation of the SRT format itself, not of this converter.

Frequently Asked Questions

How do I convert VTT to SRT?

Drop your .vtt file into the converter above, or paste its contents directly into the left pane. Once the format badge confirms VTT, press Download or Copy. The tool swaps every timecode's period for a comma, strips the WEBVTT header and any cue-settings metadata, and renumbers cues sequentially. No install, no account, no upload.

What actually changes when I convert VTT to SRT?

Three things: the comma replaces the period before milliseconds in every timecode, the WEBVTT header and any cue-settings metadata are dropped, and cues are renumbered sequentially starting at 1, which SRT requires and WebVTT doesn't.

What happens to <v Speaker> voice tags and cue positioning?

SRT has no equivalent syntax for either, so by default this tool strips them during conversion (toggle Strip Formatting Tags off if you'd rather keep the raw tag text in the caption body).

Why would I need SRT instead of VTT in the first place?

SRT is the most universally supported subtitle format: VLC, most media players, Adobe Premiere, DaVinci Resolve, and most upload forms for subtitle tracks accept .srt, while some older tools don't recognize .vtt at all.

Does the conversion lose any timing precision?

No. Millisecond precision is preserved exactly. Only the separator character and surrounding metadata change.

Can I convert a VTT file that has no cue identifiers?

Yes. The parser locates each cue by its timestamp line (always containing -->), so a missing identifier line doesn't affect parsing.

What can I use to open or edit the SRT file after converting?

Any plain-text editor works, Notepad on Windows, TextEdit on Mac. For timing adjustments or a friendlier interface, dedicated subtitle editors like Aegisub or Subtitle Edit handle SRT natively, and most media players (VLC included) will load it alongside the matching video file to preview sync.