How to merge subtitle files
Add at least two local SRT or WebVTT files, set their order and Offset values, then choose what happens to duplicate and overlapping cues. Subtitle Merger creates one SRT or WebVTT file, shows the conflicts it found, and creates a separate text report. The selected files are read in the browser.
Merge SRT and WebVTT files in a chosen order
- Drop two or more SRT or WebVTT files into the drop area, or click browse files.
- Keep the rows that show a format and cue count. Use Remove on a file you do not want to include.
- Drag rows to set the sequence and enter a positive or negative number in each Offset field.
- Choose Output format, Duplicate-cue policy, Overlap policy, Styling (inline markup), and Metadata (WebVTT header blocks).
- Review Conflict preview, then choose Download merged subtitle or Download conflict report.
After offsets are applied, cues are sorted by start time. The file sequence only breaks ties when two cues start together. Reordering files changes that tie order.
How per-file Offset changes subtitle timing
Enter seconds in a file's Offset field. Positive values move its cues later; negative values move them earlier. The merger applies offsets before it checks duplicates and overlaps. If a cue would start before zero, the start is set to 00:00:00,000 and the cue keeps its duration.
Choose duplicate and overlap handling
Duplicate-cue policy checks the start time, end time, and joined cue text. Keep all (even exact duplicates) leaves both cues in the output. Drop exact duplicates (same time + text) removes the later matching cue.
Overlap policy can Allow - keep both, overlapping in time, Merge text into one cue, Shift later cue to start after the earlier one ends, or Drop the later cue. When text is merged, Cue-text separator (when merging) accepts New line, " - " dash, " | " pipe, or Custom. An empty custom separator becomes one space.
00:00:01,000 --> 00:00:03,000
Hello there.
00:00:02,000 --> 00:00:03,500
Overlap test.
Output with " | " pipe:
00:00:01,000 --> 00:00:03,500
Hello there. | Overlap test.
The conflict check compares each incoming cue with the last cue currently in the output. Conflict preview records those decisions in sequence, so it does not list every possible pair of cues.
Set styling, metadata, and output format
Styling (inline markup) keeps supported b, i, and u tags, or uses Strip all inline markup tags. Metadata (WebVTT header blocks) keeps the first file's STYLE/REGION/NOTE blocks, keeps all files' header blocks, or strips all header blocks and cue settings.
SRT output drops WebVTT header blocks and cue settings. A format change can also remove markup that the destination format cannot represent; the report lists those adjustments as warnings. Subtitle Merger processes subtitle data only. It does not process video or translate text.
Where merging subtitle files comes up
Two dialogue tracks can be combined by adding both SRT files and choosing Merge text into one cue. The selected separator controls how the two cue texts are joined.
SRT and WebVTT files can share one merge. Select the required Output format, then check the selected settings and any warnings about unsupported markup or cue settings before using the output elsewhere.
For a timing review, choose Keep all (even exact duplicates) and download the conflict report with the merged subtitle. The report includes the file order, offsets, selected policies, and each detected conflict.
When Subtitle Merger is the right subtitle tool
Use Subtitle Merger when two or more subtitle files need one ordered stream with chosen timing and conflict rules. The Subtitle Merge Tools category contains other merge pages; this page accepts SRT and WebVTT files and exposes duplicate and overlap policies.
Frequently asked questions
Can I merge SRT and WebVTT files together?
Yes. Add both input formats and choose SRT or WebVTT under Output format. Unsupported markup or cue settings can produce report warnings.
How do I merge subtitle files with different timings?
Set a positive or negative Offset for each file. The merger applies those values before it checks duplicates and overlaps. A cue shifted before zero starts at 00:00:00,000 and keeps its duration.
What happens to duplicate subtitle cues?
Choose Keep all (even exact duplicates) or Drop exact duplicates (same time + text). A duplicate must match the other cue's start time, end time, and joined text.
Are my subtitle files uploaded?
No. The JavaScript reads and processes the selected files in the browser. The subtitle and report downloads are created there as local Blobs.