HomeToolsVideo Tools › VTT to SRT Converter

VTT to SRT Converter

Live

Convert WebVTT subtitles to SRT format instantly — free, browser-only, timing preserved exactly.

About VTT to SRT Converter

VTT (WebVTT) and SRT (SubRip Text) carry identical timing data and caption text, but they're incompatible at the syntax level — which is why a VTT file downloaded from YouTube, Vimeo, or a browser-based player refuses to import into Premiere Pro, DaVinci Resolve, Final Cut Pro, or any subtitle database that expects SRT. The AT USE VTT to SRT Converter bridges that gap: paste or drop in a .vtt file, and the output is a conforming .srt file with the same timing and text, ready to open in any SRT-compatible application. Everything runs in your browser — no file ever leaves your device.

What changes in the conversion

The two formats differ in three specific ways. First, VTT timestamps use a dot as the millisecond separator (00:00:01.000 --> 00:00:04.500); SRT uses a comma (00:00:01,000 --> 00:00:04,500). Second, VTT files begin with a WEBVTT header line and may include optional NOTE, STYLE, and REGION blocks — none of which exist in SRT. Third, VTT cues can have text identifiers instead of numeric IDs; SRT requires sequential integers starting at 1. The converter handles all three: timestamps are rewritten character for character (no rounding, no loss of precision), the WEBVTT header and any cue-block sections are stripped, and all cue identifiers — whether numeric or text-based — are replaced with sequential numbers. VTT-specific inline tags such as voice spans (<v Speaker>) and CSS class annotations (<c.yellow>) are reduced to their plain text content, since SRT has no equivalent tagging system. Line breaks within individual cues are preserved exactly.

Browser-only — no file upload

The conversion runs entirely via JavaScript in your browser using the FileReader API. Your subtitle file is read locally and never sent to a server. This is relevant for subtitle files attached to unreleased content: conference recordings under embargo, client-delivered translation drafts, internal training videos, or any episode where caption text is confidential. The tool works offline once the page has loaded.

Where this conversion comes up in real workflows

The most common case is video editors downloading auto-generated captions from YouTube for footage they're repurposing or re-editing. YouTube's caption export format is VTT; editors working in Premiere Pro, DaVinci Resolve, or Final Cut Pro need SRT. A second common case is subtitle translators: localization clients often supply source VTT files captured from streaming platforms, while translation delivery specs require SRT for import into CAT tools or subtitle editors. A third case is content archivists — anyone preserving streaming video for offline storage typically converts VTT to SRT, since SRT is the more universally readable format with no format-specific header or browser-centric assumptions. LMS platforms (Moodle, Canvas, Teachable) that accept caption uploads typically specify SRT rather than VTT; course creators who recorded to YouTube and exported captions land in the same conversion step.

Common use cases

  • Video editing import from YouTube or Vimeo captions: A video editor downloads the auto-generated caption track from a YouTube video they are re-editing — the export is .vtt. Their NLE (Premiere Pro, DaVinci Resolve, Final Cut Pro) requires SRT for the Caption import panel. One conversion and the file drops straight in with all timing intact.
  • Subtitle translation and localization workflows: A localization client sends a .vtt file captured from their streaming platform and requests delivery in SRT for QA review in a subtitle editor. The translator runs the conversion before opening the file in Subtitle Edit or Aegisub, neither of which accepts VTT in older project setups.
  • LMS caption uploads for course content: An online course creator records their course to YouTube to take advantage of auto-captioning, then downloads the VTT file. Their LMS (Teachable, Thinkific, Canvas) requires SRT for the closed-caption upload field. This is the one-step bridge between the two platforms.
  • Archiving streaming captions alongside video files: A media archivist preserving conference talks or educational recordings exports caption tracks in VTT and converts them to SRT for long-term storage. SRT is a plainer format with wider application support and no browser-specific header — a safer bet for files meant to open a decade from now.
  • Subtitle database submissions: Community subtitle contributors to databases like OpenSubtitles and Subscene submit SRT files. A contributor who worked from a VTT source — common when the source video came from a streaming platform — converts before submitting to meet the database's format requirement.

How to use it

  1. Drop your VTT file into the converter or paste the subtitle text.
  2. Confirm the source format is set to VTT (pre-selected automatically).
  3. Click "Convert" and check the preview.
  4. Click "Download" to save the converted SRT file.

Frequently asked questions

Is this tool free?

Yes. Completely free, no login, no watermark, no signup. Everything runs in your browser.

What is the difference between VTT and SRT?

WebVTT uses dot-separated timestamps (00:00:01.000 --> 00:00:04.500) and a WEBVTT header; SRT uses comma-separated timestamps (00:00:01,000 --> 00:00:04,500) and is the most widely supported format for desktop players and video editors.

Will timing be preserved exactly?

Yes. The converter rewrites only the timestamp separator (dot → comma), adds sequence numbers, and removes the VTT header. No timing data is altered or rounded.

Does my subtitle file upload to a server?

No. Conversion runs entirely in your browser — your file never leaves your device.

What happens to VTT styling cues like STYLE blocks or position tags?

STYLE sections and REGION blocks in the VTT header are stripped — SRT has no equivalent. Inline position cues (line:90%, position:50%) are dropped. Voice spans (&lt;v Speaker&gt;) and CSS class tags (&lt;c.class&gt;) are reduced to plain text. All caption text is preserved; only VTT-specific formatting is removed.

Can I convert a VTT file with text cue identifiers instead of numbers?

Yes. VTT allows text identifiers for cues (e.g., "intro" or "chapter-3"). The converter replaces all identifiers — whether text or numeric — with sequential integers starting at 1, which is what SRT requires.

Keep going

More video tools

Other tools in the Video category on AT USE.

Live Video Tools

YouTube Thumbnail Downloader

Grab any public YouTube video thumbnail in all official sizes — instantly, no login.

Open tool
Live Video Tools

YouTube Embed Code Generator

Build privacy-friendly, responsive YouTube embed code with start/end times and player options.

Open tool
Live Video Tools

Video Aspect Ratio & Resolution Calculator

Solve width, height, or aspect ratio for any video — with presets for 16:9, 9:16 Shorts, square, and ultrawide.

Open tool
Live Video Tools

YouTube Timestamp Link Generator

Build deep links to specific moments in a YouTube video. Bulk convert chapter lists in one paste.

Open tool
Live Video Tools

YouTube Chapter Marker Generator

Format your timestamp list into a YouTube-compliant chapter description block.

Open tool
Live Video Tools

Vimeo Embed Code Generator

Generate Vimeo embed code with DNT mode, custom color, autoplay, loop, and a responsive wrapper.

Open tool