Free tool

Convert WebVTT (.vtt) to SRT

Turn a .vtt caption file into plain SubRip for players and editors that expect .srt — timing preserved exactly.

Nothing stored afterward No account needed WebVTT → SRT (SubRip)

Your file is processed and sent straight back — never saved on our servers.

Prefer not to upload your file?

The AI Subtitle Studio desktop app has this same Tools section built in — plus AI transcription, translation and batch processing for a whole season at once, all running locally on your Mac or PC.

Get the desktop app
How it works

Upload WebVTT, get SRT (SubRip) back

Upload one file

WebVTT — .vtt,.webvtt.

Converted instantly

Parsed and rewritten as SRT (SubRip) in memory, no queue and no waiting.

Download the result

The converted file downloads straight to your device.

About this conversion

Converting WebVTT to SRT (SubRip)

WebVTT (.vtt) is the caption format the HTML5 <track> element and most streaming platforms use — YouTube, Netflix and browser-based video players are built around it. It's close cousins with SRT: both are plain text, both use a numbered-ish cue and a time range. The differences are what trip tools up: WebVTT starts with a WEBVTT header line, allows cue identifiers and settings (position, alignment, size) on the timestamp line, and separates times with a period instead of SRT's comma.

Converting to SRT strips the header, cue settings and identifiers, and rewrites every timestamp in SRT's comma-decimal style — the dialogue and its exact timing don't change. This is the direction to go when a video editor, a TV, or an older media player only recognizes the .srt extension and won't touch .vtt directly.

FAQ

Questions about this converter

Does this remove WebVTT styling like <b> or <i>?
No — those tags are kept as-is; most players that read SRT also understand basic HTML-style bold/italic tags inside the text.
What happens to cue positioning settings?
They're dropped. SRT has an optional (rarely supported) coordinate suffix, but no equivalent to WebVTT's line/position/align cue settings, so positioned captions become plain centered ones.
Will the timestamps be exactly the same?
Yes, down to the millisecond — only the separator character changes (a period becomes a comma), which is just SRT's own timestamp spelling.
My VTT file has no WEBVTT header — will it still work?
The converter looks at the actual timestamp lines, not just the header, so a VTT-like file missing its header still converts as long as its cue timing lines are correctly formatted.
Is there an API for this?
Yes — see the API reference for the vtt-to-srt endpoint and curl examples.