transcribtxt
Guide 7 min read2026-06-10

How to Convert VTT to SRT: A Simple Guide

Learn how to convert WebVTT (.vtt) subtitle files from Zoom, Teams, or YouTube into SubRip (.srt) format, manually or the easy way.

To convert a VTT file to SRT, open it in a plain-text editor, delete the WEBVTT header at the top, and replace the period before the milliseconds in each timestamp with a comma. Save it with a .srt extension and you are done. Or skip the editing entirely by exporting SRT straight from a transcription tool.

Why convert VTT to SRT at all?

WebVTT (.vtt) and SubRip (.srt) both do the same job: they hold subtitle text with start and end times. The trouble is that not every tool accepts both. SubRip is the older, more universal format, and a lot of software still expects it exclusively.

You typically need SRT when:

  • A desktop video player (or an older one) refuses to load .vtt.
  • A video editor like Premiere or DaVinci Resolve wants .srt for its caption track.
  • An upload platform, learning-management system, or social tool only lists SRT as a supported subtitle format.

VTT, by contrast, was built for HTML5 web video, which is why web-first platforms export it. When your destination is anything outside the browser, SRT is the safer bet.

The actual format differences

The two formats are close cousins, and the differences are small but strict. Get one of them wrong and the file silently fails to load.

FeatureWebVTT (.vtt)SubRip (.srt)
HeaderStarts with WEBVTTNo header
Caption numberingOptionalRequired (1, 2, 3...)
Millisecond separatorPeriod: 00:01.000Comma: 00:01,000
Styling and positioningSupported (cues, colors)Not supported
Best forHTML5 web videoPlayers, editors, uploads

Here is the same caption in both formats. WebVTT:

WEBVTT

00:00:01.000 --> 00:00:04.000
Welcome to the quarterly review.

00:00:04.500 --> 00:00:07.200
Let's start with the numbers.

And the SubRip equivalent:

1
00:00:01,000 --> 00:00:04,000
Welcome to the quarterly review.

2
00:00:04,500 --> 00:00:07,200
Let's start with the numbers.

Notice three changes: the WEBVTT line is gone, each block now has a number (1, 2), and every timestamp uses a comma instead of a period before the milliseconds.

Manual conversion in a text editor

If you only have a file or two, a plain-text editor handles the job in under a minute. Use something like Notepad, TextEdit (in plain-text mode), or VS Code, not a word processor.

  1. Open the .vtt file in your editor.
  2. Delete the WEBVTT header. Remove that first line, plus any blank line directly under it, and any NOTE or STYLE blocks if present.
  3. Change . to , in the timestamps. Use find-and-replace, but be careful: you only want to swap the period that sits between seconds and milliseconds. Searching for the pattern . and replacing all would corrupt your actual subtitle text. In most editors, search for --> to locate timing lines, or use a regular expression like (\d\d)\.(\d\d\d) replaced with $1,$2 to target only timestamps.
  4. Add caption numbers if your player is strict. Most modern players tolerate their absence, but numbering each block (1, 2, 3...) makes the file fully spec-compliant.
  5. Save with a .srt extension using UTF-8 encoding.

That regular-expression step is where manual conversion gets fiddly. One stray replacement and the file breaks, and you will not always get a clear error telling you why.

The easiest path: export SRT directly

If the .vtt file came from a meeting or video you still have, the cleanest move is to skip conversion altogether. Instead of wrestling with headers and commas, transcribe the original recording and export SRT directly.

TranscribTxt does exactly this. Upload your audio or video and it transcribes with ElevenLabs Scribe, supporting 99 languages, then lets you export in TXT, SRT, or JSON. You get a clean, correctly formatted .srt file with no manual editing and no risk of a botched find-and-replace.

The free plan covers 5 files per month with no card required, and Pro is $12/mo for 1,200 minutes. Your audio is deleted after transcription, so nothing lingers on the server. This is the better route when accuracy matters, because you are starting from the source rather than patching up an export.

If your goal is captions for a finished video file, see our guide on turning MP4 into SRT subtitles.

Where your VTT file probably came from

VTT shows up most often as a platform export, and each source has its own quirks:

In every case, you have the original recording, so transcribing it fresh tends to beat converting a rough auto-caption file.

VTT, SRT, and the bigger picture

It helps to know that subtitles, captions, and transcripts are not quite the same thing. If you are unsure which output you actually need, read transcription vs captions vs subtitles before you commit to a format.

The bottom line

Converting VTT to SRT comes down to two edits: drop the WEBVTT header and turn the timestamp periods into commas. A text editor handles a one-off conversion fine, as long as you are precise with your find-and-replace. But if you still have the source recording, exporting SRT directly from TranscribTxt is faster, cleaner, and far less error-prone, with accurate text from the start and your audio deleted once it is done.

Frequently Asked Questions

How do I convert a VTT file to SRT?

Open the .vtt file in a plain-text editor, delete the WEBVTT header line at the top, and change every period in the millisecond timestamps to a comma (for example 00:01.000 becomes 00:01,000). Save the file with a .srt extension. Alternatively, export SRT directly from a transcription tool to skip conversion entirely.

What's the difference between VTT and SRT?

Both store timed subtitles, but WebVTT (.vtt) starts with a WEBVTT header and uses a period before milliseconds (00:00:01.000), while SubRip (.srt) has no header, numbers each caption block, and uses a comma (00:00:01,000). SRT is older and more widely supported by video players and editors.

Why won't my player accept a VTT file?

Many desktop players, older video editors, and some upload platforms only recognize the SubRip (.srt) format. WebVTT was designed for HTML5 web video, so tools built around traditional broadcast or editing workflows often reject .vtt files and expect .srt instead.

Where do VTT files come from?

VTT is the default caption export from several major platforms. Zoom and Microsoft Teams save meeting transcripts and captions as .vtt, and YouTube lets you download auto-generated or uploaded captions in WebVTT format. Because the web favors VTT, you often need to convert it for offline editing.

Will converting VTT to SRT lose any information?

Basic timing and text convert cleanly. However, VTT supports styling and positioning cues (such as colors, fonts, and placement) that SRT cannot represent. When you convert, those advanced features are dropped, leaving only the plain timed text, which is usually exactly what you want.