Home › Tools › Clean Up AI-Generated Subtitles

Clean Up AI-Generated Subtitles

Remove sound cues, HTML tags, speaker labels and duplicate cues from auto-generated captions.

Drop a subtitle file here, or

Your file never leaves your device

This tool is plain JavaScript. There is no upload step and no server-side processing, so confidential captions, unreleased content and client material stay on your machine.

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

  1. Paste or drop the subtitle file you want to clean.
  2. Tick the cleanups you need — the preview updates immediately.
  3. 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?
No. Cue start and end times are untouched — only the text inside each cue is modified.
Can it remove speaker names from a podcast transcript?
Yes, enable Remove speaker labels. It strips a leading name followed by a colon, for example HOST: or Jane Doe:.
Does it fix bad punctuation or capitalisation?
No, and be cautious with tools that claim to. Automated rewriting can change meaning. This tool only removes markup and noise.

Troubleshooting

  1. 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.
  2. Speaker names are still presentEnable Remove speaker labels. It strips a leading name followed by a colon, so NARRATOR: and Dr. Chen: are handled, but a name in the middle of a sentence is left alone.
  3. 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.
  4. 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

Last updated 2026-09-21. All conversions happen locally in your browser.