What the subtitle merger does
Use this tool with two or more local SRT or WebVTT files. It reads the files in your browser, combines their cues on one timeline, and exports an SRT or WebVTT file. Your originals are read, not modified. It does not translate subtitle text or process video.
Add, remove, and order subtitle files
Drop files into the tool or click browse files. Remove a file with Remove, or use the up/down controls and drag rows to reorder them. The file list shows each valid file's format, cue count, and time span. The preview and report appear automatically after at least two valid files finish reading; files that fail parsing remain marked Error.
The merger does not concatenate files in row order. It globally sorts cues by start time. File order mainly breaks ties when cues have the same start time.
Set a per-file offset
Enter seconds in each file's Offset field. A positive value delays that file's cues; a negative value moves them earlier. Offsets are applied before duplicate and overlap handling. If a negative offset moves a cue before zero, its start is clamped to 00:00:00,000 and its duration is preserved. The current merge report does not record a warning for this clamping.
Choose duplicate and overlap policies
Use Duplicate-cue policy for exact duplicates with the same start time, end time, and joined cue text:
- Keep all (even exact duplicates)
- Drop exact duplicates (same time + text)
The visible option uses the short label “same time + text”; the merger treats cues as exact duplicates only when their start time, end time, and joined text all match.
Use Overlap policy for intersecting cues:
- Allow - keep both, overlapping in time
- Merge text into one cue
- Shift later cue to start after the earlier one ends
- Drop the later cue
Conflict checking compares each cue with the last cue in the current output. Do not treat the preview as a complete pairwise comparison of every cue with every earlier cue. There is no control for choosing a preferred source-file version.
Configure cue text, styling, metadata, and output
When Merge text into one cue is selected, Cue-text separator (when merging) offers New line, " - " dash, " | " pipe, or Custom. An empty custom separator falls back to one space.
Styling (inline markup) offers Keep supported tags (b/i/u, convert where needed) or Strip all inline markup tags. Metadata (WebVTT header blocks) can keep the first file's STYLE/REGION/NOTE blocks, keep all files' header blocks, or strip all header blocks and cue settings. These metadata choices affect WebVTT output. SRT output does not carry WebVTT header blocks and drops cue settings. During serialization, unsupported markup or cue settings may be removed, and the tool records those adjustments as warnings.
Choose SRT or WebVTT under Output format. The output format is selected separately from the input formats, so an SRT file and a WebVTT file can be merged. Styling and metadata choices affect serialization warnings, not conflict detection.
Review conflicts and download results
Conflict preview shows the detected overlap and duplicate counts and up to 200 detailed entries. If there are more, it adds a summary of the remaining entries. After the merge, the separate plain-text report includes the file order, offsets, selected policies, output format, generated conflict entries, and markup or metadata warnings.
The Output preview is separate from the report and shows at most the first 4,000 characters, with an ellipsis if more follows. Use Download merged subtitle for the complete subtitle file and Download conflict report for the plain-text report.
Merge subtitle files
- Drop two or more SRT or WebVTT files into the tool, or click browse files.
- Wait for valid files to finish reading and show their format and cue-count badges. Use Remove on any file you do not want to include.
- Set the file order and each Offset value.
- Choose Output format, Duplicate-cue policy, Overlap policy, and the other settings.
- Review the automatically updated conflict preview and output.
- Use Download merged subtitle for the complete output or Download conflict report for the report.
Input errors and conversion limitations
Zero-byte files are ignored before parsing. A non-empty file can remain marked Error if it cannot be read, has malformed timing or cue blocks, lacks the required WEBVTT header, contains a cue without text, or produces no parsed cues. SRT timestamps must use the strict HH:MM:SS,mmm pattern. WebVTT timestamps must use HH:MM:SS.mmm, with hours optional. Other SRT or WebVTT syntax variants may fail parsing.
The implementation does not define explicit file-count, file-size, cue-count, or processing-time limits. It also does not document support for every possible SRT or WebVTT syntax variant.
Frequently asked questions
Does this tool translate subtitle text?
No. It only combines the cues you give it - text content is never translated, rewritten, or auto-generated.
What happens to cues that overlap in time?
Choose Overlap policy to allow both cues, merge their text with your separator, shift the later cue, or drop the later cue. The tool records generated conflict entries in the report; the on-screen preview shows up to 200 detailed entries and summarizes any remainder.
Can I merge an SRT file with a WebVTT file?
Yes. Choose a single output format for the merged result. Unsupported markup or cue settings may be converted or stripped, with warnings recorded in the report.
Is my subtitle data uploaded anywhere?
No. The entire merge happens in your browser using plain JavaScript. Your files never leave your device.