Converters VTT ⇄ Text Converter

VTT ⇄ Text Converter

Turn a .vtt file into a readable text transcript with timestamps, or rebuild a VTT from that same text format, for files up to 200MB.

Or convert a file directly — supports files up to 200MB

Drag & drop a file here, or click to browse

Processed in the background, so the page stays responsive even for huge files

How to use this tool

Paste or upload a .vtt file with VTT → Text selected to get a readable transcript, one bracketed timestamp line per cue. After editing, switch to Text → VTT and paste it back. Anything over 5 MB is converted in the background, with 200 MB as the limit.

Worked example: what the transcript keeps

WEBVTT

NOTE checked 2026-09-26

intro
00:01.000 --> 00:03.000 line:0
<v Asha>Where were you?</v>

00:02.505 --> 00:04.000
<c.yellow><i>At home</i></c> <00:00:03.000>I swear
[00:00:01,000 --> 00:00:03,000]
Asha: Where were you?

[00:00:02,505 --> 00:00:04,000]
<i>At home</i> I swear

Who is speaking survives as a name before the line, and italics stay as <i>. The reviewer's NOTE, the cue name and the line:0 position are not in the transcript, so converting it back gives a VTT with every caption at the default position at the bottom. The timestamps use SRT's comma, which is why the same transcript can also be turned into an SRT with the SRT ⇄ Text converter.

Using the words without the timestamps

For show notes or a blog post you usually want only the words. The transcript always keeps its timestamp lines so that it can be converted back, but they are easy to remove: in an editor that supports regular expressions, such as VS Code or Notepad++, replace ^\[.*\]\n with nothing. That leaves the caption text with a blank line between captions. Captions are often split mid-sentence, so join the lines into paragraphs before publishing.

Frequently Asked Questions

Does Text → VTT accept timestamps written with a comma?

Yes. It reads 00:00:02,505 and 00:00:02.505 alike, with or without the square brackets, and writes the full stop that WebVTT requires. Times without milliseconds, like 00:00:12, are read as 12 seconds exactly.

Does converting VTT to text lose any WebVTT-specific formatting?

Some of it. Voice tags are kept as a "Name: " prefix and <i>, <b> and <u> stay as tags. Cue positions and alignment, cue names, colour classes, NOTE comments and STYLE blocks are left out, because the transcript has nowhere to put them. Captions positioned at the top of the video will be at the bottom after a round trip.

Can I use this to quickly proofread captions before publishing them?

Yes. Reading the transcript is faster than reading raw cues, and a spell checker in any editor works on it without tripping over timing lines. Fix the words, keep each timestamp line as it is, and convert back to VTT.

Related Tools

Related Blog Posts