Skip to content
TextArray
100% local

SDH subtitle stripper

Remove sound descriptions, speaker labels and music cues from SDH subtitles.

Input
Output

SDH subtitle stripper

SDH subtitles — Subtitles for the Deaf and Hard-of-hearing — carry more than dialogue: [door creaks], (footsteps approaching), MARY:, ♪ music notes, and lines of upper-case sound effects. They are essential for accessibility, but when you want a clean transcript, a translation base or plain subtitles for a hearing audience, all that has to go. This tool strips it in one paste, leaving only the spoken words.

Four kinds of cue are handled, each with its own toggle. Bracketed and parenthesised descriptions — [thunder], (sighs) — are removed wherever they sit in a line. Upper-case speaker labels like MARY: or - JOHN: are stripped from the front, while ordinary lines like "Note: check this" and a time of day like "10:30" survive because they are not all-caps. Whole lines written entirely in capitals, the convention for sound effects, are dropped as cues; a normal sentence that merely contains NASA or IBM is kept, because it also contains lowercase. Music-note lines — the ♪ lyric convention — are removed whole.

Timing lines and cue numbers pass through untouched, so an SRT or VTT file stays valid and re-loadable; only the dialogue text is edited. Drop emptied lines, on by default, cleans up cues that were nothing but SDH, collapsing the blank space they leave so the result reads tight. The tally reports how many cues were removed and the before-and-after line count.

Everything runs locally in your browser — your subtitles never leave your device.

FAQ

What exactly is SDH?
Subtitles for the Deaf and Hard-of-hearing. Beyond dialogue they describe sound: speaker identification, non-speech audio like [phone rings], and music. This tool removes those elements to leave a dialogue-only track — the opposite of adding accessibility, so keep the original if you still need the SDH version.
Why is "Note: check this" not treated as a speaker label?
Speaker labels are removed only when the label is entirely upper-case, like MARY:. "Note:" has lowercase letters, so it is ordinary text and survives. The same rule protects a time of day such as 10:30 and a normal sentence with a colon.
Will it delete a sentence that contains capital letters?
No. Only lines that are entirely upper-case are treated as sound-effect cues. A sentence like "I love NASA and IBM." contains lowercase letters, so it is kept — the all-caps rule fires only when there is no lowercase at all.
Does the file stay a valid SRT after stripping?
Yes. Timing lines, cue numbers and the WEBVTT header are preserved exactly; only dialogue text is changed. With drop emptied lines on, cues that became empty are cleaned up — check the result if you need the original cue numbering intact.
Is my subtitle file uploaded anywhere?
No. The stripping runs entirely in your browser and the file never leaves your device.