Subtitles

VTT to SRT Converter

Details

How to use VTT to SRT Converter

What the tool does, how to run it, and what to expect from the result.

How to convert WebVTT captions to SRT

Paste your .vtt content. The converter drops the WEBVTT header and any NOTE, STYLE, or REGION blocks, finds the timing line in each remaining cue, strips the cue settings that follow the end timestamp, and rewrites the timestamps with comma-separated milliseconds.

Cues are renumbered from 1, which is what SubRip requires, and the cue text is passed through unchanged.

  • Paste your WebVTT (.vtt) text into the input box.
  • Check the cue count above the output to confirm nothing was silently dropped.
  • Look for any leftover <v Speaker> or <c.class> tags in the output and remove them.
  • Accept that positioning and styling are gone; SubRip cannot express them.
  • Download the .srt file, or copy the text and save it with a .srt extension.

What SubRip can express and WebVTT can

SubRip is close to the minimum viable subtitle format: a sequential number, a timing line with comma-separated milliseconds, one or more lines of text, and a blank line between cues. That is the entire specification in practice, which is why almost every desktop player, editor, and encoder accepts it.

WebVTT was designed for the browser and adds everything SubRip left out: a mandatory header line, optional cue identifiers, per-cue settings for alignment and position, STYLE blocks carrying CSS, REGION definitions for scroll areas, NOTE comments, voice spans that name a speaker, and class spans for styling. Converting downward means those extras have nowhere to go, so the honest description of this tool is that it discards them rather than translating them.

  • Kept: cue timings to the millisecond, and the cue text itself.
  • Dropped: header, NOTE, STYLE, REGION, cue identifiers, and cue settings.
  • Passed through as literal text: <v Speaker> and <c.class> spans.

Timestamps, and why renaming the file fails

Each timing line is parsed into hours, minutes, seconds, and milliseconds and written back out in SubRip form, so the values are identical to the millisecond. Two normalisations happen along the way. A VTT timestamp written without an hours field, such as 04:30.000, is expanded to the full 00:04:30,000, and a millisecond field shorter than three digits is padded on the right, so .5 becomes ,500 rather than ,005.

That is why renaming a .vtt to .srt does not work. A SubRip parser expects a numeric counter above each cue, a comma before the milliseconds, and no header line, and a renamed WebVTT file breaks all three rules at once. Some players show part of it, others reject it outright, and the failure looks like a corrupt file rather than a format mismatch.

Tips

Getting a better result out of VTT to SRT Converter

Specific settings and thresholds, not general advice.

  • The converter strips the WEBVTT header and every NOTE, STYLE, and REGION block, because none of them exist in SubRip. Any styling you defined in a STYLE block is lost, not translated; SRT has no stylesheet.
  • Cue settings that trail the end timestamp, such as align:start position:50% line:0, are discarded. SubRip has no positioning syntax, so a caption that was pinned to the top of the frame in VTT will render in the default bottom position after conversion.
  • Cue identifiers (the optional text line above the timing line) are dropped and the cues are renumbered from 1, which is what SubRip requires: a numeric counter, in order, starting at one.
  • Milliseconds switch from a dot to a comma, and a VTT timestamp written without an hours field (04:30.000) is expanded to the full 00:04:30,000 that SubRip requires. Renaming a .vtt to .srt without this rewrite produces a file most players reject.
  • Cue text is passed through unchanged, so WebVTT-specific markup such as <v Speaker> voice spans or <c.classname> class spans will land in your SRT as literal tags. Most players will display them on screen as text. Strip them first if the file is going somewhere strict.
Limits

What VTT to SRT Converter does not do

The honest boundary, so you do not lose time finding it yourself.

  • Styling, positioning, and karaoke timestamps are dropped, not converted.
  • WebVTT voice and class spans are passed through as raw text.
  • No timing shift or re-sync.
  • Blocks with unparseable timestamps are silently skipped.
Reference

Terms used on this page

Short, plain-language definitions for the formats and settings above.

At a glance

Who VTT to SRT Converter is for

A quick way to understand who this helps, what it solves, and where it connects next.

Best fit

Anyone converting subtitle files for editors.

Ideal for

Using the vtt to srt converter without installing anything or signing up.

FAQ

Common questions

Short answers for the questions people usually have before trying a utility like this.

What exactly gets lost in the conversion?

Anything that WebVTT can express and SubRip cannot. That means the STYLE blocks, the REGION definitions, the per-cue settings such as align, position, size, and line, and the NOTE comments. SubRip is a plain format: a number, a timing line, and some text. If you were relying on VTT positioning to keep captions off a lower third, you will need to re-do that in whatever tool you are moving to.

Why do the cues get renumbered?

Because SubRip requires a sequential numeric counter above each cue and WebVTT does not have one. The converter numbers the output cues from 1 in order, ignoring whatever cue identifiers the VTT file had. That also means the numbering is always correct even if the source file had gaps or duplicates.

Can I rename the file instead?

No, and it fails in a way that looks like a corrupt file. SubRip parsers expect comma-separated milliseconds and a numeric counter, and they choke on the WEBVTT header line. Renaming produces a file that some players show partially and others reject outright, which is far more annoying than a clean conversion.

What are the <v> tags in my output?

Those are WebVTT voice spans, which name the speaker (<v Alice>Hello). SubRip has no equivalent, so they pass through as literal text and most players will show the tag on screen. Search and replace them out of the output, or convert them into a plain speaker prefix such as "ALICE:" before you ship the file.

Is the timing preserved exactly?

Yes, to the millisecond. Each timestamp is parsed into its components and rewritten in SubRip form, so the values are unchanged. Only the separator and the presence of the hours field differ, and both are normalised to what SubRip expects.

How do I convert a .vtt file to .srt?

Open the .vtt in any text editor, copy everything, paste it into the input box, check the cue count, and click Download .srt. There is no file picker and no upload step, because the conversion is a text transform running inside the page; the file never leaves your machine.

How do I know no cues were lost?

Compare the cue count shown above the output against the number of cues in your source. The count is taken from the timing lines in the result, so if the source had 340 cues and the output says 340, nothing was skipped. A lower number means some blocks had timestamps the parser could not read, which are dropped silently.

Is my subtitle file uploaded anywhere?

No. The conversion is a local string transform, the text never leaves your device, and the tool keeps working with the network disconnected. Nothing about the file is stored once you close the tab, which matters when the captions are for unreleased material.

Is this VTT to SRT converter free?

Yes, free with no signup and no size limit worth mentioning. A feature-length caption track is a few hundred kilobytes of text and converts instantly. If you can paste it, it converts.

Can I convert SRT back to VTT?

Yes, on the companion SRT to VTT page, which does the reverse: it adds the WEBVTT header, rewrites the comma milliseconds as dots, strips a stray byte-order mark, and can optionally keep the SubRip cue numbers as VTT cue identifiers.

Recommendations

You Might Also Like

Nearby tools from the catalog that fit the same job or workflow.

Cleanor app

Do it all on your device

Cleanor puts these tools in one app: compress and convert images, video, and audio, work with PDFs, and scan text right on your device. Plus free up storage and clear inbox clutter with Email Cleaner. Start with a free trial.

  • iPhone
  • Android
  • Macsoon
  • Windowssoon