What this does
Auto-generated captions arrive with markup you rarely want: [Music] and [Applause] tags, <font> wrappers, ASS override codes, ALL-CAPS speaker labels and the same line repeated across two cues. This tool removes them and re-emits a valid subtitle file.
How to use it
- Paste or drop the subtitle file you want to clean.
- Tick the cleanups you need — the preview updates immediately.
- Download the result in the same format you pasted (SRT or VTT is detected automatically).
Good to know
- Sound cue removal targets bracketed effects such as
[Music],(applause)and♪ … ♪. Genuine dialogue inside brackets is left alone where the pattern is not a known effect. - Speaker-label removal strips leading
SPEAKER:style prefixes, which are common in interview and podcast transcripts. - Empty cues are dropped so the timeline stays valid.
What auto-captioning actually gets wrong
Automatic captions fail in predictable ways, and it helps to know which defects are safe to fix automatically. Sound tags such as [Music], (applause) and ♪ … ♪ are almost always noise. Markup wrappers added by an export step are safe to strip. Speaker labels are safe to strip only if you do not need to know who spoke.
Two categories are not safe to automate. Punctuation and capitalisation change meaning — a misplaced full stop turns a question into a statement, and automatic rewriting is how transcripts end up misquoting people. Homophone errors from the recogniser, such as "their" for "there", or a name spelled three different ways, need a human reading the text against the audio.
This tool deliberately only performs the safe category. Anything it cannot fix reliably is left for you rather than guessed at.
Worked example
Input — raw auto-captions
1 00:00:01,000 --> 00:00:04,000 [Music] 2 00:00:04,200 --> 00:00:07,000 <font color="#ffffff">HOST: Welcome back.</font> 3 00:00:07,400 --> 00:00:10,000 HOST: Welcome back.
Output — cleaned
1 00:00:04,200 --> 00:00:07,000 Welcome back.
Cue 1 was a sound cue, cue 3 duplicated cue 2, and the font wrapper and speaker label were stripped. Only one cue survives — with its original timing intact.
FAQ
Will cleaning break my subtitle timing?
Can it remove speaker names from a podcast transcript?
HOST: or Jane Doe:.Does it fix bad punctuation or capitalisation?
Troubleshooting
- Genuine dialogue was deletedOnly bracket patterns matching known sound effects are removed. If a line such as
[laughs]was real speech, untick Remove sound cues and clean again. - Speaker names are still presentEnable Remove speaker labels. It strips a leading name followed by a colon, so
NARRATOR:andDr. Chen:are handled, but a name in the middle of a sentence is left alone. - The timing looks different after cleaningIt should not — start and end times are never modified. If cues look wrong, the source was already broken; inspect it with Shift subtitles.
- Markup like {\an8} is still thereTick Remove markup. It strips HTML tags and ASS override codes, but leaves plain braces that are part of the dialogue itself.
Related tools
Remove Timestamps from Subtitles
Strip timestamps and cue numbers to get a clean, readable transcript.
Fix Garbled Subtitles (Encoding Repair)
Repair mojibake — subtitles showing é, ’ or привет instead of real characters.
Subtitle Timing Checker
Audit an SRT or VTT file for cues that are too fast, too short, too long or overlapping.