All Tools View Categories About Contact Privacy

Bilingual Subtitle Merger

Combine two language SRTs into one dual-sub file.

Runs entirely in your browser — no data is uploaded or stored.

Keep both SRTs in the same order/count; the splitter can separate them again later.

About this tool & how to use it
  • Two inputs, one file: Language A (SRT) becomes the upper line and Language B (SRT) the lower, giving you a predictable and consistent stacking order across a whole series.
  • Index-based pairing: Cues are matched by position rather than by timestamp, which correctly handles translations whose timings were nudged slightly during review.
  • Nothing gets dropped: The merge runs to the length of the longer file, so if one track has extra cues at the end they still appear in the output.
  • Sensible timing fallback: Each merged cue takes the language A timing where available and the language B timing otherwise, so cues beyond the end of file A still carry valid times.
  • No empty lines: A cue with text in only one language is written as a single line rather than a line plus a blank, which avoids odd vertical gaps on screen.
  • Plain SRT output: The result is an ordinary two-line-per-cue SRT, so it works in standard players without special dual-subtitle support.
  • Reversible: The bilingual splitter takes the merged file apart again, so you are never locked into the combined form.
  • Private processing: Both language files stay in your browser; nothing is transmitted to a server.
  1. Check that your two files have the same number of cues in the same order, since alignment is by cue index and a mismatch will pair the wrong lines.
  2. Paste the language you want on the upper line into Language A (SRT), or click Load sample to see the expected format.
  3. Paste the second language, complete with its own cue numbers and timecodes, into Language B (SRT).
  4. Run the merger and read the output pane, checking that the first, middle and last cues each pair the sentences you expect rather than drifting by one.
  5. Confirm the total cue count matches the longer of your two inputs, which tells you nothing was lost in the merge.
  6. Download the dual-language track as a .srt file and load it against picture, then use the bilingual splitter later if you ever need the two languages apart again.

Example 1 - English over French for a study copy. Two aligned files are combined into one cue per moment.

Language A (SRT)
1
00:00:01,000 --> 00:00:03,000
Hello, how are you?

Language B (SRT)
1
00:00:01,000 --> 00:00:03,000
Bonjour, comment allez-vous ?

Merged output
1
00:00:01,000 --> 00:00:03,000
Hello, how are you?
Bonjour, comment allez-vous ?

Example 2 - one file longer than the other. If language A ends at cue 200 but language B has 202 cues, the extra two are still written out, using the language B timings, with only the lower line populated. That makes the mismatch immediately visible in the merged file instead of hiding it, which is your cue to fix the alignment upstream.

About Bilingual Subtitle Merger

The Bilingual Subtitle Merger combines two separate SRT files into one dual-language subtitle track. You paste one file into Language A (SRT) and the other into Language B (SRT), and the tool produces a single SRT in which each cue carries the language A line on top and the language B line below it, separated by a line break. The output is a standard SRT that downloads as .srt and plays in any ordinary player, since dual subtitles are just two-line cues.

Language learners are the most enthusiastic users - watching a film with the original dialogue above the translation is a well-established study technique - but the same file is genuinely useful in professional work. Translators reviewing a colleague's work want source and target visible together against picture. Localisation QC operators checking that a translated track has not drifted out of sync with the original need both on screen at once. Bilingual regions and international conferences sometimes deliver dual captions as a matter of policy.

Alignment is by cue index rather than by timestamp: the first cue of file A pairs with the first cue of file B, the second with the second, and so on. The merged cue takes its timing from the language A cue when one exists, falling back to the language B timing otherwise, and the loop runs to the length of whichever file is longer so no cue is silently dropped. Where only one language has text at a given index, that text is emitted alone without a stray blank line. This does mean the two files must have the same cue structure to line up properly - a translation that merged or split cues will pair the wrong lines, so check the counts before you run it.

Both files are processed in your browser with no upload, and the companion splitter can separate a merged file back into two tracks later.

Features

  • Two inputs, one file: Language A (SRT) becomes the upper line and Language B (SRT) the lower, giving you a predictable and consistent stacking order across a whole series.
  • Index-based pairing: Cues are matched by position rather than by timestamp, which correctly handles translations whose timings were nudged slightly during review.
  • Nothing gets dropped: The merge runs to the length of the longer file, so if one track has extra cues at the end they still appear in the output.
  • Sensible timing fallback: Each merged cue takes the language A timing where available and the language B timing otherwise, so cues beyond the end of file A still carry valid times.
  • No empty lines: A cue with text in only one language is written as a single line rather than a line plus a blank, which avoids odd vertical gaps on screen.
  • Plain SRT output: The result is an ordinary two-line-per-cue SRT, so it works in standard players without special dual-subtitle support.
  • Reversible: The bilingual splitter takes the merged file apart again, so you are never locked into the combined form.
  • Private processing: Both language files stay in your browser; nothing is transmitted to a server.

How to Use

  1. Check that your two files have the same number of cues in the same order, since alignment is by cue index and a mismatch will pair the wrong lines.
  2. Paste the language you want on the upper line into Language A (SRT), or click Load sample to see the expected format.
  3. Paste the second language, complete with its own cue numbers and timecodes, into Language B (SRT).
  4. Run the merger and read the output pane, checking that the first, middle and last cues each pair the sentences you expect rather than drifting by one.
  5. Confirm the total cue count matches the longer of your two inputs, which tells you nothing was lost in the merge.
  6. Download the dual-language track as a .srt file and load it against picture, then use the bilingual splitter later if you ever need the two languages apart again.

Examples

Example 1 - English over French for a study copy. Two aligned files are combined into one cue per moment.

Language A (SRT)
1
00:00:01,000 --> 00:00:03,000
Hello, how are you?

Language B (SRT)
1
00:00:01,000 --> 00:00:03,000
Bonjour, comment allez-vous ?

Merged output
1
00:00:01,000 --> 00:00:03,000
Hello, how are you?
Bonjour, comment allez-vous ?

Example 2 - one file longer than the other. If language A ends at cue 200 but language B has 202 cues, the extra two are still written out, using the language B timings, with only the lower line populated. That makes the mismatch immediately visible in the merged file instead of hiding it, which is your cue to fix the alignment upstream.

Benefits

  • Study material in one file: Learners get the original and the translation on screen together without juggling two subtitle tracks or a second device.
  • Faster translation review: Source and target side by side against picture makes drift, omissions and mistranslations obvious in a single viewing pass.
  • Works in ordinary players: Because the output is a normal SRT, you do not need a player with dedicated dual-subtitle support or a special build.
  • Exposes alignment problems: Mismatched cue counts show up in the merged file rather than being discovered late in QC.
  • Nothing is one-way: Knowing the splitter can undo the merge makes it safe to produce a bilingual copy for review and still deliver single-language files.
  • Confidential scripts stay local: Both language files are handled in your browser, so unreleased translations are never uploaded.

Frequently Asked Questions

How are cues aligned?
By cue index — the first cue of A pairs with the first of B, and so on. Both files should have the same count/order.
What if counts differ?
It pairs up to the shorter file; extra cues from the longer one are kept with their single language.
Can I split them later?
Yes, the bilingual splitter reverses this by separating the top and bottom lines.
Is my file uploaded?
No, merging runs locally.