SSubToolDesk
en
VTT → TXT

Convert WebVTT Captions to Plain Text

Clean up Zoom, Microsoft Teams, Google Meet, or YouTube .vtt exports into a readable transcript. Voice tags and cue metadata stripped automatically, nothing uploaded.

Detected: …
Drop a file, paste, or edit directly
…

Your files never touch a server. Every conversion on this page runs locally in your browser using the JavaScript FileReader API. Nothing is uploaded, logged, or stored. Safe for confidential Zoom/Teams recordings, unreleased video, and legal interviews.

How the VTT to TXT conversion works

WebVTT (Web Video Text Tracks) is the W3C standard caption format for HTML5 video, and it's what Zoom, Microsoft Teams, Google Meet, and YouTube export when you download a meeting transcript or video caption file. Every .vtt file opens with a WEBVTT header line, followed by cues timed with period-separated milliseconds (00:00:03.500, not SRT's comma). WebVTT also supports richer metadata than SRT: cue settings like align:start position:10% on the timing line, voice tags such as <v Speaker Name> to label who's talking, and NOTE / STYLE / REGION blocks that carry comments or CSS-like styling rather than dialogue.

None of that belongs in a plain-text transcript. SubToolDesk's parser reads your file locally via the browser's FileReader API, drops the header and metadata blocks, strips voice and styling tags, and, if you ask it to, flows the remaining captions into real paragraphs.

Step-by-step instructions

  • Export or locate your .vtt caption file (Zoom and Teams both offer a “Download Transcript” or “Download Captions” option after a meeting).
  • Drop it onto the converter above, or paste the raw VTT text into the left pane.
  • Confirm the format badge reads VTT.
  • Leave Strip formatting tags on to remove voice tags and cue settings.
  • Leave Strip speaker labels on if captions also prefix lines with a name in text (common in auto-generated Teams transcripts).
  • Copy or Download the resulting .txt transcript.

The WebVTT format, in detail

A typical multi-speaker VTT cue looks like this:

00:00:03.500 --> 00:00:06.120 align:start position:10%
<v Jordan>Thanks for joining the call today.

Unlike SRT, a leading cue identifier line is optional in WebVTT and can be any string, not just a sequential number. SubToolDesk's parser detects the timestamp line directly (it always contains -->) rather than assuming a fixed line order, so files with or without identifiers both parse correctly.

Why this matters for meeting transcripts specifically

Zoom and Teams auto-captioning is good at timing, but the exported file is optimized for video players, not readers. A one-hour meeting can produce hundreds of two-second cues, each a sentence fragment with a voice tag attached. Running that through this converter with paragraph merging on turns it into something you could paste straight into meeting notes, a blog recap, or a prompt for an AI summarizer, without the original recording or transcript ever leaving your machine.

Where WebVTT files actually come from

Beyond video conferencing, WebVTT is the caption format YouTube lets you download for any video with captions, the format most AI transcription services (including OpenAI Whisper exports) use by default, and the format required by the HTML5 <track> element for any captioned video embedded directly on a webpage. If you've downloaded a caption file from more or less anywhere online in the last several years, there's a good chance it's WebVTT rather than the older SRT format, which is part of why a dedicated VTT-aware cleanup tool, rather than a generic text-strip script, matters: generic approaches don't know to look for voice tags or skip NOTE blocks in the first place.

Handling multi-speaker transcripts well

Auto-captioning tools label speakers two different ways, sometimes in the same file: through WebVTT's native <v Speaker Name> tag, or as plain text at the start of a line (Jordan: Thanks for joining.). This tool's Strip Formatting Tags toggle removes the first kind; Strip Speaker Labels removes the second. Running both together (the default state on this page) produces a transcript with neither tag format left behind, regardless of which one your source file happens to use.

What to check before trusting the output

Auto-generated captions occasionally mis-transcribe names, technical terms, or accented speech, which is a limitation of the captioning system that produced the file, not something a text formatter can fix. SubToolDesk reformats exactly what's in the source file; it's worth a quick skim of the output pane against the original recording before using the transcript in anything official, like meeting minutes or a legal record.

Frequently Asked Questions

I exported captions from Zoom/Teams. Will this work?

Yes. Zoom, Microsoft Teams, Google Meet, and YouTube all export WebVTT (.vtt) caption files, and the parser here follows the standard WebVTT spec those platforms generate, including per-speaker voice tags and position metadata.

What are the <v Speaker> tags I keep seeing in my VTT file, and should I remove them?

They're WebVTT's built-in way of tagging which speaker said a line, used by screen readers and some players to label dialogue. Turn on Strip Formatting Tags to remove them when converting to plain text. They add no value once timing is gone.

My captions have NOTE or STYLE blocks. Will those end up in my transcript?

No. NOTE, STYLE, and REGION blocks are WebVTT metadata, not spoken dialogue, and the parser skips them entirely before extracting cue text.

Does this handle VTT cue settings like align or position?

Yes. Cue settings (e.g. align:start position:10%) that follow the timestamp line are ignored during parsing since they only affect on-screen placement, not the dialogue text itself.

Can I convert a WebVTT file that uses MM:SS.mmm instead of HH:MM:SS.mmm?

Yes. WebVTT allows timestamps without an hours component for short files, and the parser normalizes both forms automatically.

Why does my Zoom transcript break into a new section every couple of seconds, even when no one new is speaking?

Zoom timestamps the transcript in short sections regardless of whether the speaker has changed, sometimes every two or three seconds, which makes a raw .vtt feel choppy to read. That's exactly what Merge into paragraphs is built to fix: it stitches those short, frequent fragments back into full sentences and paragraphs using punctuation to find the natural breaks.