Convert WebVTT .vtt captions into SubRip .srt subtitles that VLC, smart TVs, Plex and editing software will load. Cues are renumbered and timings rewritten exactly.
✓ No upload — runs in your browser
✓ Batch convert & ZIP download
✓ Free, no sign-up
Drop VTT files here
or
Free: up to 5 files per batch · Files never leave your device · Paste from the clipboard works too
The free plan converts 5 files per batch. Only the first 5 were added.
Get Pro for US$9 once — unlimited batches and no ads, forever.
1
Waiting…
Private by design
Your files are processed by your own device using WebAssembly and your browser's built-in codecs. Nothing is uploaded, logged or stored.
Fast & offline-ready
No queue, no waiting for a server. Once the page has loaded it even works without a connection.
Works everywhere
Chrome, Edge, Firefox and Safari on Windows, macOS, Linux, Android and iOS. No app to install.
Where VTT captions come from
WebVTT is the caption format of the browser, so it is what browser-based services hand out. Zoom, Microsoft Teams and Google Meet save meeting transcripts as .vtt; YouTube offers it as a download; Rev, Otter, Descript and similar transcription services export it by default; Vimeo and Wistia let you pull your captions back out in it. The moment you leave the browser — a TV box, a Plex or Jellyfin library, Premiere Pro or DaVinci Resolve, a subtitle translation tool — SubRip .srt is the format everything accepts. SRT is older and plainer, which is exactly why it is universal.
What the converter rewrites
In the VTT
In the SRT
WEBVTT header line
Dropped
NOTE, STYLE and REGION blocks
Dropped
Cue identifiers, numeric or not
Replaced by fresh 1…n numbering
Short 00:05.120 stamps
Expanded to 00:00:05,120
Cue settings such as align:start position:10%
Dropped — SRT has no positioning
<v Speaker> and <c> tags
Removed, text kept
&<>
Decoded to the real character
A typical meeting-transcript cue and its SRT equivalent:
WEBVTT
NOTE Exported from a meeting recording
intro
00:05.120 --> 00:08.400 align:start position:10%
<v Anna>Profit & loss, line by line.</v>
1
00:00:05,120 --> 00:00:08,400
Profit & loss, line by line.
Why the dropped parts are safe to lose
NOTE blocks are comments for humans. STYLE and REGION blocks are CSS and layout for browsers, and an SRT player would print them as dialogue if they stayed. Cue settings place a caption at the top or side of the frame; SRT has one bottom-centre position, so there is nothing to translate them into. Voice tags label speakers for screen readers and styling; if the name matters, add "Anna:" to the text by hand. Keep the original VTT alongside the SRT whenever placement is essential to the project.
Typical uses for the SRT
Import a Zoom or Teams transcript into Premiere Pro, Resolve or CapCut as a caption track.
Drop the file beside a video with the same name so VLC, Plex, Kodi or a smart TV loads it automatically.
Burn subtitles into the picture with HandBrake, which imports SRT.
Open it in Subtitle Edit or Aegisub to fix timing, or send it to a translator.
If the matching video is an .mkv your TV refuses, MKV to MP4 remuxes it without re-encoding, and the Video Converter covers other containers. Everything on this page runs on your device: the caption file is never uploaded, batches of up to five convert together, and the tool keeps working offline once it has loaded.
How to convert vtt to srt — step by step
1
Drop your .vtt files into the drop zone or click "Choose files".
2
Each file converts automatically — there are no settings to adjust.
3
Save the .srt files one by one or as a ZIP, and give each the same name as its video so players pick it up.
Frequently asked questions
Why does my player or TV ignore the VTT file?
WebVTT is a browser format. Many smart TVs, media boxes, editing suites and older desktop players only look for SubRip .srt sidecar files, so converting is the quickest fix.
What gets removed?
The WEBVTT header, NOTE, STYLE and REGION blocks, cue settings such as position and align, and <v> and <c> tags. The spoken text inside those tags is kept, and HTML entities are decoded to plain characters.
Why are the cue numbers different from my VTT?
VTT identifiers are optional and may be words rather than numbers, while SRT requires a continuous sequence. Every cue is renumbered from 1 in order of appearance.
Are the timings altered?
No. Dots become commas, and short mm:ss.mmm stamps are expanded to hh:mm:ss,mmm. The actual times are untouched, so the subtitles stay in sync.
Will the captions still appear at the top of the screen?
No. SRT has no positioning, so every line is shown in the player's default bottom-centre spot. Keep the VTT if placement matters, or convert back with SRT to VTT.