Skip to content

WebVTT to Plain text converter

VTT to TXT removes WebVTT timing while keeping cue text from both numeric and named cue identifiers.

  • Converted with Subtitle engine · nothing stored
  • Free: 5 conversions a day · 5 MB each
  • Higher limits →

From real runs

What you get — and what changes

  • WEBVTT header Lost

    The leading WEBVTT line was removed from the transcript output.

  • Timestamps Lost

    Dot-millisecond timing lines were omitted because TXT has no timing fields.

  • Numeric cue ids Kept

    The sample VTT with numeric cue ids converted both cues into transcript text.

  • Text cue ids Kept

    A cue labeled intro converted successfully, confirming named WebVTT identifiers are now parsed.

  • Cue settings Lost

    line and position settings do not appear in TXT output, because the transcript stores cue text only.

  • Multiline text Kept

    The named intro cue kept both text lines as one transcript block separated by an internal newline.

Sample conversions

Sample numeric WebVTT

Input
131 byte VTT with WEBVTT header, numeric cue ids 1 and 2, and dot millisecond timestamps.
Output
59 byte TXT with the two cue texts and blank-line separation, with header and timings removed.

WebVTT with text cue id

Input
VTT containing an intro cue id, line and position settings, italic text, a multiline cue, and a second overlapping cue.
Output
74 byte TXT containing the intro cue's two text lines, then the overlapping caption, with cue settings removed.

A real WebVTT → Plain text run

We converted our WebVTT sample (131 B) with Subtitle engine on 2026-09-11. It took 1 ms and produced a 59 B Plain text file, 55% smaller than the input. The engine raised no warnings.

Input · sample.vtt · 131 B

2 cues, WEBVTT header present

Cues
2
Lines
7

Output · sample.txt · 59 B

2 non-empty lines, 10 words

Lines
2
Words
10

First lines of the output

txt
Previously, on the show…

We never found the second key.

Do it yourself

FFmpeg plus text filter

bash
ffmpeg -i in.vtt -f webvtt - | awk 'NF && /^WEBVTT/ == 0 && /-->/ == 0' > out.txt

This sketch does not intentionally skip NOTE, STYLE, or REGION blocks the way subtitle-ir now does.

WebVTT to Plain text by API or MCP

The HTTP API and the MCP server run the exact engine this page uses (Subtitle engine); the response carries the same warnings the web converter shows. Check support first with GET /api/v1/pairs?from=vtt&to=txt.

curl
curl -X POST https://filetypeconverters.com/api/v1/convert \
  -H "Authorization: Bearer $FTC_API_KEY" \
  -F "file=@input.vtt" -F "from=vtt" -F "to=txt" \
  --output output.txt
API reference

When this is the wrong conversion

  • Use /convert/srt-to-txt if your source is actually SubRip with comma timestamps.
  • Use /convert/srt-to-json after converting to SRT only when you need structured timing fields.
  • Keep VTT when browser playback still needs cue settings such as line or position.

WebVTT to Plain text questions

Does VTT to TXT keep cue settings?

No. Settings such as line:10% and position:20% are timing-layout metadata and are removed from TXT.

Do named WebVTT cue identifiers convert?

Yes. The retest kept a cue labeled intro and wrote its two caption lines into the TXT transcript.

Does the WEBVTT header stay in the transcript?

No. The header is file syntax, not caption text, so it is removed when writing TXT.