Skip to content
100% local

Bilingual subtitle merger

Combine two subtitle files into one dual-language track, original above translation.

Input
Second language subtitles
Output

Bilingual subtitle merger

Paste two subtitle files — SRT or VTT, any mix — and this tool pairs up their cues and stacks the two languages into one bilingual track, original on top and translation underneath (or the other way round). It's built for language learners, dubbing studios and anyone preparing a two-language release where viewers read both lines at once instead of switching tracks mid-watch.

Pairing works two ways. By default, cues are matched by start time within a tolerance you set in milliseconds — useful when the two files were timed slightly differently by different translators. Turn on "match by order" when both files have the same number of cues in the same sequence but the timestamps don't line up, such as one file re-timed for a different cut. Cues that can't be paired are kept by default as standalone entries at their correct position in time; switch "unmatched subtitles" to omit if you'd rather drop anything without a counterpart.

A few options shape the merged text: which language sits on top, the separator between the two lines (a line break for a two-row block, or a slash, dash or pipe for one inline line), and an option to wrap the second language in italics, a common way to mark a translation. Timing can come from the first document, or narrow to the overlap of both, tightening sync when the originals ran slightly long or short. The tool reads SRT's comma and VTT's period timestamps, strips VTT-only markup, and renumbers cues chronologically.

Everything runs locally in your browser — neither file is ever uploaded, so it's safe with unreleased footage or work under NDA. Copy the merged SRT, download it as a .txt file, or send it into another tool such as the SRT time shifter to nudge the timing afterward.

FAQ

Can I mix SRT and VTT as the two input files?
Yes. Each document is auto-detected independently, so you can pair an SRT original with a VTT translation or vice versa. The merged output uses SRT-style numbering and comma timestamps.
What happens to cues with no match in the other file?
By default they are kept as standalone, single-language entries in the correct chronological position. Set "unmatched subtitles" to omit if you only want lines that exist in both files.
How does the time-matching tolerance work?
Two cues are paired when their start times differ by no more than the tolerance you set, in milliseconds. Raise it if your two files were timed independently and drift apart slightly; lower it if you only want near-exact matches.
Does the merger change the subtitle timing?
Not by default — merged cues keep the first document's start and end times. Switch the timing source to "overlap of both" to narrow each merged cue to the time both original cues were on screen together.
Are my subtitle files uploaded anywhere?
No. Both files are parsed and merged entirely in your browser using JavaScript — nothing is sent to a server, so unreleased or confidential subtitles never leave your device.