Convert VTT Captions to Text
Convert vtt to txt on this page: upload or paste WebVTT, strip NOTE, STYLE, REGION, and cue settings, keep or drop speaker labels, then download UTF-8 text. No audio upload, no speech recognition, and no transcription credits.
Up to 2 MB and 10,000 cues per file.
Conversion runs in this browser and does not use transcription credits. Sign in only if you want the result in My records.
Conversion parses caption text in the browser. It does not upload audio for speech recognition. See our privacy policy. Billed transcription lives on other tool pages and on plans and usage limits.
How to convert VTT to TXT
Finish the caption-to-text job on this page. Nothing here opens the speech workspace or uploads media.
- 1
Add the WebVTT source
Choose a .vtt file or paste the caption text. A file without the WEBVTT header is rejected instead of guessed at.
- 2
Pick the text shape
Choose plain or timestamped text, keep cue line breaks or merge them into paragraphs, and decide whether a voice annotation becomes a speaker prefix.
- 3
Edit, then download TXT
Rewrite a line in the preview if the wrap reads badly, then download UTF-8 text. Sign in only when you want the pair stored in My records.
Compare against dialogue.vtt and dialogue.txt. The VTT carries a NOTE, a STYLE rule, a REGION, and one cue setting on purpose.
Before and after example
An authored caption sample with its expected text, not a customer upload and not an accuracy score.
WebVTT input
WEBVTT
NOTE Studio mix notes stay out.
00:00:00.000 --> 00:00:02.400
<v Dana>Welcome back to the review.
00:00:05.000 --> 00:00:08.200 align:start
<v Marco>Line one of the hallway note.
Line two keeps its break.The comment, the stylesheet, and the cue settings are present in the source and absent from the finished text.
TXT output
Dana: Welcome back to the review.
Marco: Line one of the hallway note.
Line two keeps its break.Two cues produce two readable blocks. The voice name moves in front of the sentence, and the second line of the longer cue survives.
Clean WebVTT metadata
A caption track carries production notes that a reader does not want. This page removes them by rule, not by cleanup guesswork.
- NOTE comment blocks, including multi-line comments.
- STYLE blocks and their ::cue rules.
- REGION blocks and their layout identifiers.
- Cue settings after the arrow, such as align, line, and position.
- Voice, bold, italic, underline, class, and ruby tags, while their inner words stay.
WebVTT stores those extras because a player needs them. A document does not. The W3C WebVTT specification defines NOTE, STYLE, REGION, and cue settings; the MDN WebVTT API guide shows how a browser exposes them. Checked September 19, 2026.
Cue text also escapes the ampersand and angle brackets as HTML entities. The export decodes them, so an encoded ampersand becomes a normal ampersand and an encoded tag-like sequence stays readable punctuation. Markup is stripped before decoding, which is why a real script element disappears instead of being recreated as text that a browser might later treat as markup.
Preserve speaker labels when available
Some caption files mark who is talking. When they do, the export can keep that name without keeping the tag.
A WebVTT voice annotation looks like <v Dana> before the words. It is presentation markup, so a plain export would normally throw it away together with the other tags. Here the importer reads the names first and attaches them to the cue, then strips the tag itself. The result is a cue whose words are clean and whose speaker is still known.
The prefix is optional and lives in Text export options. Turn it off for a single flowing transcript, or on when two people alternate and the reader must track who said what. Repeated voice names are de-duplicated inside one cue, so a cue that switches annotation mid-line still gets one stable label.
This is not automatic speaker recognition. The tool never guesses a voice from the audio. A file with no voice annotation produces no prefix, and the page says so instead of inventing a name.
Text export options
Three controls decide the shape of the download. All three rebuild from the original WebVTT, so trying a different shape never corrupts the source.
- Keep timestamps
- Off by default. When on, each cue prints its start and end clock in comma-millisecond form above the words. Cue numbers are never written, so the file stays text rather than becoming a subtitle track.
- Line layout
- Keep cue line breaks preserves the caption wraps. Merge into paragraphs joins cues that are less than 1.5 seconds apart and starts a new paragraph after a longer pause; while speaker labels are on, a change of speaker also starts a new paragraph. With labels off, the paragraphs follow pauses only, because an unlabelled turn is invisible to the reader.
- Prefix speaker labels
- On by default when the file has voice annotations. Off writes the same dialogue without the name. Disabled when there is nothing to prefix.
Timestamped text is a reading aid, not a repaired caption track. It drops the cue sequence numbers, so a player should not treat it as SRT or as any timed subtitle format. Keep the .vtt file when a player still needs to render the captions.
Changes in the preview are yours; they are not written back into the source cues. Switching an option rebuilds the text from the imported WebVTT and discards preview edits. Save the version you want, or keep the download, before you experiment with a different shape.
WhisperWeb vs desktop caption editors vs upload-and-convert sites
A workflow comparison, checked September 19, 2026. Competitors are described by approach only; this page does not link out to them.
| Decision | WhisperWeb | Desktop caption editor | Upload-and-convert site |
|---|---|---|---|
| Where the text is produced | WhisperWebAvailable: On this page, before any saveThe preview and the download exist without an account, and the source file stays on your device unless you choose to save. | Desktop caption editorAvailable: On your computerA heavyweight editor installs locally, then exports plain text from a menu you have to find. | Upload-and-convert siteLimited: After an uploadThe file lands on someone else's host first, and the free tier often stops at a short clip. |
| What the product charges for | WhisperWebAvailable: Nothing for this conversionNo transcription minutes are reserved or deducted. Billed speech work lives on separate tool pages and plans. | Desktop caption editorLimited: A licence or subscriptionUseful for styling and waveform work, but you pay for the whole editor to strip caption clocks. | Upload-and-convert siteNot available: Free quota, then a paid planUpload sites commonly price the same job by file length or by an account upgrade. |
| Metadata and speaker handling | WhisperWebAvailable: Rules stated before you convertNOTE, STYLE, REGION, cue settings, and inline tags are listed as removed, and voice names are listed as kept. | Desktop caption editorLimited: Depends on the export dialogSome editors drop annotations silently, so the loss is only visible after the file is written. | Upload-and-convert siteLimited: Varies by vendorSpeaker text may survive, but the retention and privacy terms belong to the host. |
WhisperWeb behaviour matches the converter above. The other columns describe approaches seen on public converter and editor pages on September 19, 2026; they are not a paid test of any vendor. Billed speech tools are covered by our plans and usage limits, which this page does not use.
Choose this page when the input is already a WebVTT caption file and the deliverable is readable text with optional clocks and speaker names. Choose a desktop editor when the next job is retiming or restyling the captions themselves. Choose an upload site when you also want speech recognition from audio, which is the one thing this page deliberately refuses to do.
Limits, privacy, and cost
This is a text conversion. It never becomes a transcription job, and it never bills one.
Accepted input is UTF-8 WebVTT with a .vtt name or pasted caption text, up to 2 MB and 10,000 cues. Audio and video files, SubRip, and ASS are rejected. The browser checks the file first, and the save endpoint re-imports the source with the same importer, so the front end is not the only boundary.
Conversion runs locally and does not call a speech model, so it cannot consume transcription credits or upload a recording. A guest can convert and download without an account. A signed-in save writes the original WebVTT and the derived TXT to the owning account, which is what lets a refresh reopen the task from My records.
A File object cannot be rebuilt after the tab is gone. When a saved task no longer holds the original caption text, the page explains that and asks for the file again rather than pretending to restore it. Saved tasks are owner-only through the existing read path, original cues and derived text stay out of any public index, and caption bodies and credentials are not logged.

From a caption track to a script
Editorial and localization teams often receive WebVTT from a video platform but need a document. Caption clocks and cue settings get in the way of review. This page hands back clean lines with the speaker names that the file already recorded.
Generated use-case illustration, not a customer result. The runnable sample above is separate and downloadable.
Frequently asked questions
What happens to VTT notes?
NOTE blocks never reach the text. The importer skips the whole block, keeps it out of the cue list, and reports a warning so you can see that something was dropped. STYLE and REGION blocks are handled the same way, as are cue settings written after the arrow.
Can I retain speaker labels?
Yes, when the file uses voice annotations. The names inside <v Name> are attached to their cue during import, and the speaker prefix option writes them in front of the dialogue. The tag itself is always stripped, and no speaker is ever guessed from the audio.
Are captions translated?
No. This page moves captions into a text file and nothing else. It does not translate, summarize, or re-time them, and it does not run speech recognition over the audio. A translated script needs a translation step, and a fresh transcript needs one of the speech tools.
Do I need the original video?
No. The conversion reads the WebVTT text only. Nothing is uploaded, and the video is never requested or stored. If you later need to check caption reading speed against the picture, play the file locally; the download will not change.
Does this use transcription credits?
No. File conversion is parsed as text, stores a zero-credit local task when you save, and never reserves or deducts transcription minutes. Speech recognition runs only on the separate audio and video tool pages, which state their own plan limits.
Related Tools
Generate captions from media, or move the same file into another caption format, when this page is the wrong job: