The subtitle file merger combines two caption tracks into a single timeline. It is built for cases where you want two streams of text in one file — a foreign-language track plus a hearing-impaired track, dialogue plus director commentary, or original captions plus translated notes. Paste or load Track A and Track B, and the tool weaves their cues together in timestamp order.
How it works
Each track is parsed independently into a list of cues, where every cue has a start time, an end
time and its text. SubRip and WebVTT inputs are both accepted — the parser skips the WebVTT
header, NOTE and STYLE blocks and any numeric index lines, and reads the start --\> end timing
line followed by the caption text. Optionally, each Track B cue is prefixed with a \{B\} label
so its source is obvious.
The cues from both tracks are then merged into one array and sorted by start time (ties broken by
end time), so the combined file reads chronologically from beginning to end. Finally the merged
cues are serialised to your chosen format: SubRip numbers each cue and uses comma decimals, while
WebVTT writes the WEBVTT header and dot decimals.
Common use cases
Bilingual dual subtitles
Language learners often want both the original-language captions and a translation in one file,
switching between them without hunting for separate track files. Merge the foreign track as
Track A and the translation as Track B, use the {B} prefix to mark translated lines, and load
the result into VLC or mpv. Both lines appear in chronological order; the player shows each when
its timestamp is active.
Dialogue plus hearing-impaired (HI) captions
Standard dialogue captions describe only speech. HI captions add sound effects, music cues, and speaker identification in brackets. Merging them gives a single file that serves both audiences without requiring the video player to support multi-track subtitles.
Commentary tracks for documentary or archive video
Director commentary or academic annotation often runs as a separate track. Merging it with the main dialogue track creates a self-contained file that can be distributed alongside the video without requiring a player capable of switching tracks.
Example output
If Track A holds English dialogue and Track B holds scene commentary, a merged file might read:
1
00:00:01,000 --> 00:00:03,000
Hello there.
2
00:00:02,000 --> 00:00:04,000
{B} [Director: first shot of the protagonist]
The original timings are kept exactly, so overlapping cues remain overlapping. If you need the
two streams visually separated on screen, keep the {B} prefix on so the source is always
visible. Everything runs locally — neither file leaves your browser.