VTT to SRT Converter

Turn WebVTT (.vtt) captions into clean SubRip (.srt) files that Premiere Pro, DaVinci Resolve, VLC and translation tools accept.

Runs 100% in your browser — files are never uploaded

Drop .vtt files here (multiple files supported — .srt and .sbv work too)
or
seconds (e.g. -2.5)

Drop .vtt files or paste WebVTT text to start.

How to convert VTT to SRT

  1. Add your VTT — drop .vtt files above or paste the caption text, header and all. The output format is already set to SRT.
  2. Decide about markup — if the file comes from the web it may carry <v> voice tags, <c> class tags or inline word timings. Tick Strip formatting tags if your editor should receive plain dialogue only.
  3. Download the .srt — cues come out numbered from 1 with comma timestamps, ready to import into your NLE, player or translation workflow.

What SRT can — and cannot — keep from a VTT file

Going from the web format back to SubRip is a downgrade in expressiveness: WebVTT carries styling and layout metadata that SRT simply has no syntax for. Here is exactly how this converter handles each VTT feature:

WebVTT featureWhat happens in the SRT output
WEBVTT header and metadata lines Removed — SRT files start directly with cue number 1.
Period timestamps, optional short form (05:12.000) Rewritten with commas and always padded to full 00:05:12,000 form, which strict SRT parsers require.
Cue identifiers (names above the timing line) Dropped and replaced by sequential numbers 1, 2, 3…
Cue settings (position:10% align:start line:90%) Removed — SRT cannot express screen positioning, so cues render at the player default.
NOTE comments, STYLE and REGION blocks Removed entirely; they would otherwise appear as garbage cues in an editor.
Voice/class tags (<v Ada>, <c.yellow>) and inline word timings Kept in the text by default; enable Strip formatting tags to remove them.

Common importer complaints, decoded

VTT to SRT — frequently asked questions

Will subtitle positioning survive the conversion to SRT?

No. WebVTT cue settings such as position:10%, align:start or line:90% have no equivalent in the SRT specification, so this converter removes them. Plain SRT cues always render at the player's default position (bottom center). If top-positioned text matters, keep a VTT copy for the web and use the SRT only for editing.

What happens to NOTE comments and STYLE blocks in my VTT file?

They are deleted, along with the WEBVTT header and any REGION definitions. NOTE blocks are author comments and STYLE blocks are CSS that only a browser can apply — an SRT file has nowhere to put either, and editors would choke on them if left in as fake cues.

Why does VLC or my editor display tags like <v Ada> or <c.yellow>?

Voice tags (<v Speaker>) and class tags (<c.classname>) are WebVTT-only markup for speaker identification and CSS styling. SRT has no concept of them, so most players print them as literal text. Tick “Strip formatting tags” before downloading and the converter removes them, leaving just the spoken words.

My VTT timestamps look like 05:12.000 without hours — is that a problem?

It is for SRT. WebVTT permits the short MM:SS.mmm form, but the SRT convention is a full HH:MM:SS,mmm timestamp and strict tools reject anything shorter. This converter parses the short form and always writes fully padded SRT timestamps, so 05:12.000 becomes 00:05:12,000.

Is converting VTT to SRT lossless?

The caption text, line breaks and timing are preserved exactly. What cannot be preserved is presentation metadata: cue settings, cue identifiers, STYLE/REGION blocks and NOTE comments are dropped because SRT cannot express them. Converting the SRT back to VTT will not restore that metadata, so keep the original file if you need it.