Extract the text from a VTT file.
Paste WebVTT captions or choose a .vtt file. The converter reads the header, comments, cue settings and inline markup, keeps who is speaking, and gives you the dialogue as a UTF-8 .txt file. Nothing is uploaded.
Before and after
Before: a WebVTT file
Header metadata, a NOTE comment, a cue identifier and position setting, voice tags, an inline timestamp, a class span and an escaped ampersand.
WEBVTT
Kind: captions
Language: en
NOTE Checked against the final edit.
intro
00:00:00.800 --> 00:00:03.100 line:85%
<v Priya>We tested 3 caption styles on the same interview.
00:00:03.400 --> 00:00:05.900
<v Sam>The second one read <00:00:04.600><c.highlight>best</c> on a phone.
00:00:06.200 --> 00:00:07.000
<v Priya>Noted & saved.After: the .txt download
Only dialogue and speakers remain. The comment, identifier, setting and word timestamp are gone, and & reads as &.
Priya: We tested 3 caption styles on the same interview.
Sam: The second one read best on a phone.
Priya: Noted & saved.How this tool works
- 01
Paste or choose the VTT
Include the WEBVTT first line. Files of up to 500 KB can be chosen from this device.
- 02
Extract the transcript
Header lines, NOTE, STYLE and REGION blocks, cue identifiers, settings and inline timestamps are removed.
- 03
Check, then download
Speaker names from voice tags appear as "Name:". Review the text, then download it as .txt.
Practical guide
What to know before you download
The WebVTT this converter supports
It follows the parts of the W3C WebVTT specification that captions and subtitles use. The WEBVTT signature and any header lines under it, NOTE comments, STYLE and REGION blocks, cue identifiers and cue settings such as line:85% or align:start are all metadata and never reach the text. Inside a cue, <c>, <i>, <b>, <u> and <lang> tags and inline word timestamps are removed with their words kept, and character references such as &, < and are decoded. An unrecognized tag is dropped the way a WebVTT parser drops it, keeping the words inside.
Speaker names are kept, not guessed
A voice span such as <v Priya> is how WebVTT records who is speaking, and dropping it would change the meaning of a conversation. Each voice tag becomes a "Priya:" prefix on the text it opens. The converter only uses names written in the file. It does not identify speakers from audio and does not add names that were never tagged.
What it refuses instead of guessing
A file without WEBVTT on its first line is rejected, with a pointer to the SRT to TXT converter if it looks like SubRip. Ruby annotations (<ruby> and <rt>) are refused because the annotation is real text that would either be inlined into the sentence or lost. A cue that runs into another timing line without a blank line, a reversed or impossible timestamp, and a cue with nothing readable are each reported by cue number.
A transcript is not a caption file
The text has no timing, so a player cannot show it as captions. Keep the .vtt. Automatic captions from some platforms repeat each line across several rolling cues; those repeats are kept, because removing them could also remove words someone really did say twice. Input is limited to 500 KB of text.
Questions about this tool
Is my VTT file uploaded?+
No. The file is read and converted in this browser tab. Its contents and file name are not sent to the Auto Subtitle Generator server, and no sign-in is needed.
What happens to <v> speaker tags?+
The name in the tag is kept as a prefix, so <v Sam>Hello becomes "Sam: Hello". Cues without a voice tag have no prefix.
Why was my file rejected for a missing WEBVTT header?+
A WebVTT file must begin with WEBVTT. If yours starts with a cue number and uses commas in timestamps, it is an SRT file: use the SRT to TXT converter instead.
Does it keep text in other languages?+
Yes. Letters, emoji and non-Latin scripts are copied as written into a UTF-8 file. That is text handling only; it says nothing about which languages a video can be transcribed from.
Can I get the transcript with timestamps?+
Not from this tool. It produces plain text only. If you need timing, keep the VTT, or convert it to SRT with the VTT to SRT converter.
