Merge Two Subtitles
Want two languages on screen at once? Add both subtitle files (.srt, .vtt, .ass, .sbv or .sub), choose where each language goes, check that they’re in sync, and download one merged file.
How to show two subtitles at once
Add both files
Drop the main language file (usually the language spoken in the video) and the second language file into the two boxes above, or drop both at once: the first one becomes the main language. Both open in your browser; nothing is uploaded.
Pick a layout and where you’ll watch
“Both at the bottom” works everywhere. “One on top, one at the bottom” needs a computer player such as VLC, so it is saved as .ass. Choosing where you watch picks the right format for you: .ass for a computer, .srt for a TV, Plex or a phone, .vtt for a web player.
Check they’re in sync
The sync line under the options says whether the two files line up. Open “Side by side: check sync” to see both files’ times next to each other with the gap between them. If the second language is always a bit late or early, follow the link to Sync Two Subtitles, fix the gap there, and come back with the fixed file.
Preview, then download
Read through “Merged result”, or open your video under Preview to watch both languages on it. Download the merged file and rename it to match your video, so your player loads it automatically.
Why merged subtitles don’t line up
Two translations, two ways to split a sentence. A translator fits each line to what can be read in a few seconds, and the result depends on the language: a short English line may need two lines in German, and two quick English lines often become one in Vietnamese. That is why line counts differ even between two good subtitle files for the same film. The merged file follows the main language, line by line, and puts under each line whatever the second language shows at that moment.
A constant delay between the two files. Subtitles for different releases start at different moments: one was timed for a version with a studio logo, the other without. Every line of the second file is then late or early by the same amount. The side-by-side view shows this as a column of identical gaps. Line the second file up with Sync Two Subtitles first, then merge. If both languages are also off against your video, merge first and move the merged file with Shift Subtitle Timing afterwards.
Different frame rates. When the gap starts near zero and grows through the film, one file was made for 25 fps video and the other for 23.976 fps. A shift only helps for a few minutes. Fix one of the files with Change Frame Rate, then merge.
Letters that look wrong. Older subtitle files are often saved in a legacy encoding, which shows as “é” or question marks. Each file card has its own “Text encoding” menu, so you can correct one file without touching the other. For a file that needs more care, use Fix Subtitle Encoding first.
Tips for dual subtitles
On a TV, stay with “Both at the bottom”. Televisions and most streaming boxes read .srt and ignore everything except text, timing and italics. Two languages stacked at the bottom is the layout that survives everywhere. To tell them apart, turn on italics for the second language.
On a computer, use .ass. Advanced SubStation Alpha files can place one language at the top and the other at the bottom, and give the second language its own size and colour. A smaller, yellow second line is easy to ignore when you don’t need it and easy to find when you do. VLC, MPV, PotPlayer and IINA all show these styles; most TVs do not.
Keep the main language to the one you listen to. The main language sets the rhythm of the merged file. When it matches the audio, lines appear and leave with the voices, and the second language simply rides along.
Name the file after the video. Players load a subtitle automatically when it shares the video’s name, for example movie.mkv and movie.srt. The download is named with both language codes, such as movie.en-vi.srt, so you can tell it apart from the originals; rename it once you are happy with it.
Formatting is simplified on purpose. Only text, timing and italic, bold and underline are taken from the two files. Positions, fonts and colours from the originals are left out, because two sets of styles would fight each other on screen. The Download area says how many formatting items were dropped.
Frequently asked questions
Are my subtitle files uploaded anywhere?
No. Both files are read and merged by JavaScript in this browser tab. Neither leaves your device, and the tool keeps working if you go offline after the page loads. The language of each file is recognised in the browser too, and a video you open to check the result plays straight from your disk.
Which file should be the main language?
Usually the language spoken in the video. It sits closest to the picture and its lines decide the timing of the merged file. Language learners often make the language they are studying the main one and add their own language as the second. You can swap the two at any time.
Why don’t the lines match up exactly?
Subtitles from different sources split sentences differently, so one file may use one line where the other uses two. Each main line is paired with the second-language line that is on screen with it the longest. When a second-language line runs across two main lines, it is repeated under both; lines with no partner stay on their own and are marked in the preview.
Will one language show at the top on my TV?
Probably not. .srt files have no position that players agree on, so most TVs, Plex and phone apps show both languages at the bottom. For one on top and one at the bottom, choose “On a computer” to get an .ass file and play it in VLC, MPV, PotPlayer or IINA. A .vtt file also carries the position, for web players that support it.
The second language is always two seconds late. What do I do?
Merging never moves a line, so fix the delay first. The tool measures the gap as soon as both files are open; when the second file is late or early by the same amount everywhere, it shows a link to Sync Two Subtitles. Open both files there, close the gap with one click and save the fixed file, then come back here and merge it with the first one.
The gap between the two files keeps growing. Can I still merge them?
A growing gap means the two files were made for different frame rates, usually 25 against 23.976 fps, and no single shift fixes that. Convert one of them with Change Frame Rate first, then come back and merge. If both languages end up out of sync with your video, fix the merged file afterwards with Shift Subtitle Timing.