All Tools View Categories About Contact Privacy

Subtitle Track Combiner

Mux multiple language tracks into one video.

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

List subtitle files in order; each becomes a separately mapped, toggleable track.

About this tool & how to use it
  • Unlimited track list: The Subtitle files (comma-separated) field accepts as many filenames as you paste in, and the generator adds one input and one map argument per entry, so combining eight languages is no harder than two.
  • Order equals track order: Subtitles are mapped in the sequence you list them, giving you direct control over which language a player shows at the top of its menu.
  • Tolerant list parsing: Spaces around commas are trimmed and blank entries are dropped, so a list copied out of a spreadsheet or a file manager works without hand-cleaning.
  • No re-encode: With -c copy in the command, the video and audio are remuxed untouched, so building a multi-language master costs seconds and no quality.
  • Clear empty-input message: If the subtitle list is empty the tool asks you for filenames instead of producing a command that would fail confusingly at the shell.
  • Named output container: The Output file field sets the destination, and choosing .mkv gives the most reliable support for several SRT streams in one file.
  • Local only: The page assembles a text command in your browser; no subtitle or video file is uploaded or inspected.
  1. Put your video path into the Video file box, for example episode.mp4.
  2. List every caption file in Subtitle files (comma-separated), in the order you want the tracks to appear, such as en.srt, es.srt, de.srt.
  3. Set Output file to an .mkv name so the container can hold all of the subtitle streams comfortably.
  4. Press Run and count the -map arguments in the generated command; there should be one per subtitle file plus the -map 0 for the video.
  5. Copy the command or download it as a .txt file, then run it in a terminal where ffmpeg is installed.
  6. Open the result and step through the player's subtitle menu, checking that each track carries the language you expected in the position you listed it.
  7. If you also want each track labelled by language in the menu, add language metadata afterwards using the subtitle muxer approach for the streams that need it.

Example 1 - a three-language master. One video and three finished SRTs become a single MKV with three selectable tracks.

Video file:       episode.mp4
Subtitle files:   en.srt, es.srt, de.srt
Output file:      episode-multi.mkv

Generated command:
ffmpeg -i "episode.mp4" -i "en.srt" -i "es.srt" -i "de.srt" -map 0 -c copy -map 1 -map 2 -map 3 "episode-multi.mkv"

Example 2 - reordering for a regional release. The same three files listed differently put Spanish first, which is what a Latin American distributor wants at the top of the menu.

Subtitle files:   es.srt, en.srt, de.srt

Resulting track order in the player:
1. Spanish
2. English
3. German

Nothing about the encode changed, only the order of the inputs - but that ordering is what viewers see first when they open the subtitle menu.

About Subtitle Track Combiner

The Subtitle Track Combiner builds an ffmpeg command that folds several separate subtitle files into one video as multiple selectable tracks. Provide a Video file, a comma-separated list in Subtitle files (comma-separated) and an Output file, and you get one command line with an -i per subtitle plus the matching -map arguments, ready to copy or download as .txt.

Multi-language delivery is where this matters. A vendor finishes six translations and now has six loose SRTs and one video; a university publishes a lecture needing English, Spanish and Mandarin captions; a distributor wants one master per episode instead of a folder of sidecar files that get separated in transit.

The generated command maps the video with -map 0, applies -c copy so nothing is re-encoded, then adds -map 1, -map 2 and so on for each subtitle input in the order you listed them. Whitespace around filenames is trimmed and empty entries ignored, so a trailing comma will not break anything, and an empty list returns a prompt rather than a broken command. Track order follows your list order exactly, which is how you control the player's language menu.

MKV handles many SRT streams comfortably. Everything is generated locally in your browser with no upload.

Features

  • Unlimited track list: The Subtitle files (comma-separated) field accepts as many filenames as you paste in, and the generator adds one input and one map argument per entry, so combining eight languages is no harder than two.
  • Order equals track order: Subtitles are mapped in the sequence you list them, giving you direct control over which language a player shows at the top of its menu.
  • Tolerant list parsing: Spaces around commas are trimmed and blank entries are dropped, so a list copied out of a spreadsheet or a file manager works without hand-cleaning.
  • No re-encode: With -c copy in the command, the video and audio are remuxed untouched, so building a multi-language master costs seconds and no quality.
  • Clear empty-input message: If the subtitle list is empty the tool asks you for filenames instead of producing a command that would fail confusingly at the shell.
  • Named output container: The Output file field sets the destination, and choosing .mkv gives the most reliable support for several SRT streams in one file.
  • Local only: The page assembles a text command in your browser; no subtitle or video file is uploaded or inspected.

How to Use

  1. Put your video path into the Video file box, for example episode.mp4.
  2. List every caption file in Subtitle files (comma-separated), in the order you want the tracks to appear, such as en.srt, es.srt, de.srt.
  3. Set Output file to an .mkv name so the container can hold all of the subtitle streams comfortably.
  4. Press Run and count the -map arguments in the generated command; there should be one per subtitle file plus the -map 0 for the video.
  5. Copy the command or download it as a .txt file, then run it in a terminal where ffmpeg is installed.
  6. Open the result and step through the player's subtitle menu, checking that each track carries the language you expected in the position you listed it.
  7. If you also want each track labelled by language in the menu, add language metadata afterwards using the subtitle muxer approach for the streams that need it.

Examples

Example 1 - a three-language master. One video and three finished SRTs become a single MKV with three selectable tracks.

Video file:       episode.mp4
Subtitle files:   en.srt, es.srt, de.srt
Output file:      episode-multi.mkv

Generated command:
ffmpeg -i "episode.mp4" -i "en.srt" -i "es.srt" -i "de.srt" -map 0 -c copy -map 1 -map 2 -map 3 "episode-multi.mkv"

Example 2 - reordering for a regional release. The same three files listed differently put Spanish first, which is what a Latin American distributor wants at the top of the menu.

Subtitle files:   es.srt, en.srt, de.srt

Resulting track order in the player:
1. Spanish
2. English
3. German

Nothing about the encode changed, only the order of the inputs - but that ordering is what viewers see first when they open the subtitle menu.

Benefits

  • One asset instead of many: A single combined file travels, uploads and archives as one unit, so translations no longer go missing because a sidecar SRT was left behind.
  • Real language choice for viewers: Multiple embedded tracks let each person pick their own language without you producing a separate video per market.
  • Cheaper storage and delivery: Adding subtitle streams costs kilobytes, whereas duplicating the video for each language costs gigabytes of storage and transfer.
  • Fewer versioning mistakes: When every translation lives inside the same master, there is no risk of shipping version three of the video with version two of the captions.
  • Built in seconds: Stream copying means a multi-language master is assembled almost instantly even for long-form content.
  • Client material stays private: The command is generated in your browser and run locally, so unreleased episodes and their translations never touch an external service.

Frequently Asked Questions

How many tracks can I add?
As many as you list; each file becomes one mapped subtitle stream.
Is it re-encoded?
No, all streams are copied.
Do you run ffmpeg?
No, we output the command for you to run.
Is my file uploaded?
No, generation is local.