SubFlow Logo

VTT to SRT Converter

Convert WebVTT (.vtt) subtitles back to SubRip (.srt) for Adobe Premiere Pro, DaVinci Resolve, Final Cut, VLC, and social-media uploads. Drop your file below — converts in your browser, nothing uploaded.

Last updated

Why convert WebVTT back to SRT?

WebVTT is everywhere on the web — YouTube's auto-captions come down as .vtt, HLS and DASH streaming packages bundle .vtt for closed captions, and the browser's HTML5 <track> element accepts only WebVTT. But the moment you take that file off the web and into a desktop video editor, the workflow falls apart.

Adobe Premiere Pro, Final Cut Pro, DaVinci Resolve, Avid Media Composer, VLC, and most third-party transcription workflows expect SubRip (.srt). SubRip predates WebVTT by a decade, has a simpler structure (no cue settings, no inline styling, no header), and stuck around as the lingua franca of subtitle interchange between editors and broadcasters.

Three common reasons people land on this page:

  • They downloaded auto-captions from YouTube (which exports .vtt for some videos and .srt for others) and need .srt to import into their NLE timeline.
  • They pulled the subtitle track from an HLS or DASH stream and need to hand it off to a translator who works in Aegisub or Subtitle Edit.
  • They're uploading a video to a social platform that lists .srt as the preferred format and wants a clean file without WebVTT's positioning and styling baggage.

How to convert VTT to SRT

  1. Drag your .vtt file onto the drop zone above (or click to open the file picker).
  2. The converter strips the WEBVTT header, NOTE/STYLE/REGION blocks, and cue settings; renumbers cues from 1; pads timestamps to HH:MM:SS,mmm (the strict SRT form); flattens <v Speaker> tags into a readable Speaker: prefix; and keeps basic styling like <i> and <b> intact.
  3. Click Download to save the resulting .srt. The file is generated entirely in your browser — no upload, no server-side processing.

What gets dropped in the conversion

This direction is intentionally lossy. SubRip is a smaller format than WebVTT, so anything VTT can express that SRT can't is removed cleanly rather than encoded as a hack. Specifically:

Here's the same cue in both formats — note what disappears:

Source — example.vtt
WEBVTT

NOTE
Intro section.

intro-cue
00:00:01.000 --> 00:00:04.000 line:90% align:center
<v Alice>Hello, world.</v>

00:00:05.500 --> 00:00:08.250
<c.shouty>GOODBYE</c>
Output — example.srt
1
00:00:01,000 --> 00:00:04,000
Alice: Hello, world.

2
00:00:05,500 --> 00:00:08,250
GOODBYE

The WEBVTT header, the NOTE comment, the intro-cue identifier, and the line:90% align:center cue settings are all stripped. Voice tags become readable prefixes; class spans collapse to plain text. Cue indices start at 1, and the timestamp comma replaces VTT's period.

When SRT is the right choice over VTT

Pick SubRip whenever the destination is outside the browser ecosystem. That covers:

  • Importing subtitles into Premiere Pro, DaVinci Resolve, Final Cut Pro, Avid Media Composer, or Adobe After Effects. These editors have their own positioning systems and don't honor VTT cue settings anyway.
  • Uploading to YouTube, TikTok, Instagram, Facebook, LinkedIn, or Vimeo — all accept .srt directly and convert it to their internal caption format on their side.
  • Handing the file to a translator working in Aegisub, Subtitle Edit, or any other dedicated subtitle authoring tool — SRT is the universal interchange format.
  • Playing the video locally with VLC, MPC-HC, IINA, or any desktop media player — they auto-load movie.srt when present next to movie.mp4, but ignore movie.vtt in the same spot on many builds.

Keep WebVTT when the destination is the web: a self-hosted HTML5 <video>, an HLS package, or any browser-based player that requires the <track> element.

Frequently asked questions

Most professional NLEs and broadcast tools expect SubRip (.srt). WebVTT was designed for the HTML5 <track> element and is rarely accepted by Premiere Pro, Final Cut, DaVinci Resolve, OBS, or media players like VLC. Converting to .srt fixes the import. The cue text and timings are preserved exactly; only VTT-specific positioning and styling — which those editors couldn't read anyway — get dropped.

Working in After Effects?

Subflow does something different from this converter — it generates captions inside After Effects as native AE text layers with frame-accurate timing, not as .srt or .vtt files. If your captions originate in AE rather than as a downloaded subtitle file, the convert-between-formats step disappears entirely.

See Subflow