Make bilingual (dual) subtitles
Merge two subtitle files into one showing both languages at once. Built for language learners — no upload, no signup, works in any player.
Watching with subtitles in a language you are learning works far better when the line you did not understand is sitting right underneath it in a language you do. Almost no player supports two subtitle tracks on screen simultaneously, so the practical answer is one file containing both languages, stacked. The hard part is that the two tracks are never cut at the same moments: a translator splits a long sentence differently, and the Spanish line starts 300 milliseconds after the English one. Subtitle Doctor anchors on the first file’s timing and attaches each line from the second file to whichever line it overlaps most, with an adjustable tolerance for tracks that sit slightly apart.
Worth knowing
- Timing comes entirely from the first file. The translation is attached to those cues rather than keeping its own timing, which is what stops the result flickering between two nearly-identical cue boundaries.
- The pairing tolerance exists because translated tracks are routinely cut a few hundred milliseconds off the original. Raising it pairs more lines; lowering it to zero pairs only lines that genuinely overlap on screen.
- When a translator split one long sentence into two lines, both are attached to the same original cue and stacked, rather than one of them being silently discarded.
- A translation line that matches nothing at all is kept as its own cue instead of being dropped — a merge that quietly loses dialogue is worse than one that shows an unpaired line.
- Italicising the translation is on by default because it gives the eye something to separate the two languages by, which matters more than it sounds when both are in the same alphabet.
FAQ
Which file should I add first?
The one whose timing you trust, which is usually the original language of the film. The first file supplies every cue’s start and end time, and the second file’s lines are attached to those cues. If the result looks mistimed, try swapping the order — you are choosing which track drives the timing.
The two languages are not lining up. What do I change?
Raise the pairing tolerance. It controls how far apart two lines can sit and still count as the same moment, and translated tracks are often cut a few hundred milliseconds away from the original. If lines are being paired that should not be, lower it instead — at zero, only lines that actually overlap on screen are joined.
Will bilingual subtitles work on my TV or on Plex?
Yes, because the output is an ordinary SRT or VTT file with two lines of text per cue — there is nothing special about it from the player’s point of view. The only practical limit is screen space: four lines of text at once is uncomfortable, so it works best on files whose lines are short.