The Cleanup tool

Cleanup is a free, instant, fully offline pass that fixes common subtitle problems using pattern matching — no AI model, no internet connection, no usage cost. It's a completely different feature from AI Clean Up, which is DeepSeek-powered and requires an API key.

Opening it

Click Clean Up in the editor header (cleans the currently loaded file), or Clean Selected in the file list view (cleans every checked file in bulk, auto-saving each result). The keyboard shortcut ⌘K / Ctrl+K opens it from the editor too.

Content Removal

Metadata Tags (on by default)Strips bracketed tags like [Music], [Silence], [Applause].
SDH Descriptions (on)Strips parenthetical sound descriptions like (sighs), (door slams), (laughs).
Speaker Labels (off)Strips name prefixes like JOHN:, - MARY:, <SPEAKER>.
Music & Lyrics (off)Strips song-lyric markers.
Credit Lines (on)Strips lines like "Subtitles by…", "Synced by…".
Narrative Markers (off)Strips recap text like "Previously on…", "Next time…".
Ads & Promotions (on)Strips URLs, @handles, #hashtags.

Text Cleanup

Fix Encoding (on)Repairs mojibake/garbled characters from misread encodings.
Remove HTML (on)Strips tags like <i>, <b>, <font>.
Normalize Quotes (on)Converts smart/curly quotes to regular straight quotes.
Fix OCR Errors (off)Heuristic character fixes (e.g. "l" → "I", "rn" → "m") — labeled "use with caution" since it can occasionally over-correct.
Lowercase ALL CAPS (off)Converts fully-capitalized lines to lowercase.

Timing Fixes and Deduplication

Fix Overlapping (on)Repairs timestamp ranges that overlap between consecutive subtitles.
Min Duration (500ms)The minimum time a subtitle stays on screen, adjustable 0–5000ms.
Min Gap (40ms)The minimum gap enforced between consecutive subtitles, adjustable 0–1000ms.
Remove Repetitive (on)Caps identical repeated lines at a maximum count (default 2, adjustable 1–10).
Merge Similar (on)Combines consecutive near-duplicate entries.

Quick presets

Four preset buttons overwrite the whole options panel at once:

  • Default — resets to the defaults listed above.
  • For Translation — adds SDH, speaker label and music removal on top of the defaults, so translation gets clean dialogue-only input.
  • Light Clean — turns off SDH, speaker label and metadata removal, for a minimal pass.
  • Aggressive — turns on SDH, speaker labels, music, narrative removal, and OCR-error fixing, for the most thorough single pass.

Click Clean Up Subtitles to run it. In the editor, the result stays unsaved in memory until you Save/Export (and can be undone with ⌘Z); in the file list's bulk mode, each cleaned file is written to disk automatically.

Results

After running, a Cleanup Results dialog shows the original block count, final block count, how many were removed, and a reduction-percentage bar. In the editor, this dialog has its own Undo button right there in case the result isn't what you wanted.

FAQ

Is this the same as AI Clean Up?
No — Cleanup is local, rule-based, instant, and free. AI Clean Up is a separate DeepSeek-powered feature for fixing grammar and phrasing quality, covered in its own page.
Will Cleanup ever delete dialogue I want to keep?
It targets known patterns (bracketed/parenthetical descriptions, label prefixes, credit-line phrasing) rather than arbitrary text, but always review the result — everything is undoable.
Does subtitle line-wrap length get changed here?
No — max characters per line, max lines per subtitle, and the "split long subtitles" behavior come from your Settings → General "Subtitle layout" configuration, applied automatically during export rather than as options in this dialog.