All three arrive as a .srt, all three look identical in a text editor, and two of them are the same format carrying different content. What separates them is an assumption about the viewer, and every practical difference follows from it.
Subtitles assume you can hear
A subtitle exists because you do not follow the language. The audio is doing its job — you can hear the door slam, the music swell, which of the two people on screen is talking — and all that is missing is the meaning of the words.
So a subtitle track carries dialogue and nothing else. No speaker names, because you can see and hear who is speaking. No sound descriptions, because you heard the sound. It is the smaller file, and the omissions are deliberate rather than lazy: text on screen costs attention, and a subtitle that tells you what you can already hear is spending that attention on nothing.
Captions assume you cannot
A caption track exists because the audio is unavailable — a deaf or hard of hearing viewer, or a phone in a quiet carriage. Everything the soundtrack carries has to be in the text, because there is no soundtrack.
That means three things a subtitle does not have:
- Speaker labels.
JOHN:at the start of a line, because two people off screen sound the same in text. In a two-hander, a dash at the start of each line does the same work more cheaply. - Sound descriptions.
[DOOR SLAMS],(sighs),[FOOTSTEPS APPROACHING]. Not every sound — only the ones that carry story. The footsteps matter when the character does not know they are being followed. - Music. Marked with a note —
♪— for a lyric, or named where the song is doing narrative work.
Captions are also, in their original sense, in the same language as the audio. A caption is a transcription; a subtitle is a translation. That distinction is clean in American usage and fuzzy everywhere else, where "subtitles" covers both.
SDH is captions in a subtitle file
The third term exists for a delivery reason rather than an editorial one.
Broadcast captions travel in their own stream — line 21 in the old analogue signal, CEA-608 and CEA-708 since. Streaming does not have that stream. It carries subtitle files, and a subtitle file has no field for a caption. So the caption content was moved into the subtitle container, and the result needed a name: Subtitles for the Deaf and Hard of Hearing.
An SDH file is therefore a .srt or a WebVTT file that happens to contain speaker labels and sound descriptions. Nothing in the format marks it as SDH. Nothing can — there is no field for it. The only way to know what you have is to read it.
Which is exactly why the distinction gets lost. Two files land in a folder, both called something with en in it, and the only difference is that one of them has [DOOR SLAMS] in it fifty times.
Closed and open are a fourth axis
Worth clearing up because it is often listed alongside the other three as though it belonged in the same set.
Closed means the text is a separate track the viewer can switch off. Open means it is burned into the picture as pixels. Open captions cannot be turned off, cannot be translated, cannot be corrected, and cannot be extracted — the words stopped being text the moment they were rendered. Anything you can convert, retime or check is closed by definition, which is the whole reason a subtitle file exists as a file.
Removing the accessibility layer
There is a real and common need to strip an SDH file back to plain dialogue. A translator working from an English SDH track wants the words, not [TYRES SCREECH]. Someone building a transcript wants prose. A file going to a client who asked for subtitles and got captions has to be corrected.
The formatting remover does it, and it makes those two switches separate from the other two on purpose. Removing italics is safe. Removing sound descriptions and speaker labels is not a formatting change at all — it is a deletion of the content that made the track accessible, and the result is a different deliverable rather than a tidier version of the same one.
Two things to know before doing it.
First, some cues will empty completely. A cue that was only [DOOR SLAMS] has nothing left, and an empty cue is a gap on screen rather than nothing. It has to be dropped, and a tool that drops it silently is one that loses you a cue you never counted.
Second, the speaker rule has to be conservative. JOHN: is a label and Note: is a word followed by a colon, and they have exactly the same shape. The only thing distinguishing them is that labels are conventionally set in capitals — which is a convention that exists precisely so a reader can tell them apart at a glance. A rule that removes both eats the first word of every sentence that happens to start with one, and it does it silently.
The dash in front of a label should survive it. Once JOHN: has gone from - JOHN: Get down., the dash is the only thing left telling the reader the speaker changed.
Which one to deliver
Ask what the viewer cannot do. If they cannot follow the language, subtitles. If they cannot hear the audio, captions or SDH. If both — a deaf viewer watching a foreign-language film — then SDH in the target language, which is the most expensive of the three to produce and the one most often quietly skipped.
And if you are producing a transcript rather than a track at all, strip the timings too — but strip the accessibility layer first, or the transcript reads as prose with stage directions wedged into the middle of the sentences.