Free tool
Transcript cleaner
By the KeyMo team · Updated
Paste a WebVTT, SRT or SBV caption file, or any transcript with timestamps, and this tool returns readable paragraphs. It removes cue timings and numbers, merges caption lines that repeat, drops sound cues such as [Music] and filler such as um and uh. Everything runs in your browser and nothing is uploaded.
Transcript cleaner
Runs in your browser. Nothing is uploaded or saved.
Waiting for text
What the cleaner does
Caption files and copied transcripts are written for a video player, not for a reader. They carry a timing line for every few words, cue numbers, markup tags, and often the same sentence two or three times in a row. This tool turns that into text you can read, search or paste into a document.
It reads four kinds of input and tells you which one it found: WebVTT (.vtt), SubRip (.srt), SubViewer (.sbv), and plain text that has a timestamp on its own line or at the start of each line. Every cleanup step is a checkbox, so you can switch off anything you want to keep.
- Removes the WEBVTT header, NOTE, STYLE and REGION blocks, cue numbers and identifiers, and every timing line.
- Strips inline tags such as <c>, <i>, <b>, word timestamps and {\an8}, and decodes entities such as &.
- Merges caption lines that repeat or build on the line before them.
- Removes sound cues: [Music], [Applause], (laughter) and music-note lines.
- Removes hesitation sounds (um, uh, er, erm, ah, hm) together with the comma that followed them.
- Joins what is left into paragraphs at sentence ends, or keeps one caption line per row if you prefer.
Three more steps are off by default because they can change meaning: removing "you know" and "I mean", collapsing repeated short words such as "I I think", and dropping speaker names.
How to use it
- Paste the transcript into the top box, or use Open a file for a .txt, .vtt, .srt or .sbv file. The file is read by your browser and goes nowhere.
- Check the line under the output. It names the format found and shows words in and words out.
- Tick or untick the cleanup options. The output updates as you change them.
- Pick a layout. Paragraphs joins lines; one caption line per row keeps the original line breaks.
- Copy the text or download it as a .txt file.
The rules it applies, and where they come from
Some of these rules follow published file formats and guidance. Others are the cleaner's own choices. The table marks which is which.
| Rule | What the tool does | Basis |
|---|---|---|
| WebVTT structure | Skips the header, NOTE comments, STYLE blocks, cue identifiers and timing lines. | The W3C WebVTT specification says comment blocks are ignored by the parser and that a cue identifier is optional. |
| Overlapping cues | Merges consecutive lines that repeat. | The WebVTT specification lets cues overlap in time, so neighbouring cues can show the same words. The merge logic is the tool's own. |
| Inline tags | Removes class, italic, bold, underline and language spans and inline word timestamps. | The WebVTT specification lists these as the tags a caption cue can contain. |
| Speaker names | Reads WebVTT voice tags and "Speaker 1:" or "HOST:" labels, prints each name once per turn and starts a new paragraph at each change. | The WebVTT voice tag carries the speaker's name. W3C WAI advises identifying speakers as relevant. |
| SRT and SBV | Reads both, including the comma before milliseconds in SRT. | YouTube Help lists SubRip (.srt) and SubViewer (.sbv or .sub) as basic caption formats. |
| Sound cues | Removes square-bracket text containing letters, parenthesised sound words and music-note lines. | YouTube Help tells creators to type cues such as [applause] into captions, so exported files contain them. Dropping them is the tool's default. |
| Filler words | Removes um, uh, er, erm, ah and hm. | W3C WAI says legal depositions need verbatim text including "um" and "ah", while for most web content non-substantive text may be left out. |
| Paragraph length | Closes a paragraph at the first sentence end after the chosen word count, or at 1.5 times that count if there is no punctuation. | The tool's own choice. Auto-generated text often has no punctuation. |
If you need a faithful record, such as a legal deposition or a quote you will print, turn off the filler and sound cue options and use the one caption line per row layout. Check the result against the audio.
Worked example
The Try a sample button loads a six-cue WebVTT file in the rolling style: each cue repeats the line before it and adds a new one, and the file opens and closes with a sound cue. It has 73 words including timing lines. With the default settings the cleaner finds 6 cue timings, merges 4 repeated lines, removes 2 sound cues and 2 fillers, and returns this:
The speaker name comes from the file's voice tag and is kept. Untick Remove um, uh, er, ah and the line reads "so um welcome back" again, and "sleep, uh, and" returns. Turn the layout to one caption line per row and untick Remove timestamps, and an SRT file with two cues comes out as:
Limits and known edge cases
- The filler and speaker-label lists are English. Other languages pass through unchanged, and the tool does not translate or correct anything.
- It does not fix mishearings or add punctuation. W3C WAI says automatically generated captions usually need significant editing, and YouTube says automatic captions should always be reviewed, so read the result before you rely on it.
- Merging overlapping lines needs at least three repeated words and stops at a finished sentence or a speaker change. A speaker who truly repeats three words across two caption lines may lose the repeat. Untick Merge repeated caption lines if that matters.
- In plain text, a line that starts with a clock time is treated as a timestamp once at least two lines look like timestamps. A time in the middle of a sentence is left alone.
- Square brackets with letters inside are treated as sound cues, so something like [sic] is removed too. Bracketed numbers such as [1] stay.
- Speaker labels are recognised only in common shapes: WebVTT voice tags, "Speaker 2:", host, guest, interviewer and ALL CAPS names followed by a colon.
The cleaner does not need an account, makes no network requests when you paste, clean, copy or download, and keeps nothing after you close the tab.
From clean text to clips
A clean transcript is good for finding the moments worth posting: you can search it, skim it and copy quotes. It will not cut the video for you, and it does not tell you which moments will hold a viewer.
KeyMo does the cutting. You upload an MP4 or MOV, or paste a YouTube link on a paid plan, and it returns up to 15 vertical 9:16 clips at 1080x1920. Each clip gets a score out of 10 and a one-line reason, and only clips scoring 7 or higher are kept. Captions come in 12 styles, word by word, and there is no watermark on any plan. KeyMo has no free plan; this cleaner is free and stays that way. See pricing for the plans, and read SRT vs VTT if you are unsure which caption file to export.
Sources: W3C: WebVTT, The Web Video Text Tracks Format (checked 11 October 2026); W3C WAI: Transcribing Audio to Text (checked 11 October 2026); W3C WAI: Captions/Subtitles (checked 11 October 2026); W3C: Web Content Accessibility Guidelines (WCAG) 2.2 (checked 11 October 2026); YouTube Help: Supported subtitle and closed caption files (checked 11 October 2026); YouTube Help: Add subtitles & captions (checked 11 October 2026); YouTube Help: Use automatic captioning (checked 11 October 2026).