Shift SRT/WebVTT cues by milliseconds or align two timing anchors, with rejected negative-time cues clearly identified.
Your input
Outputs are cleared when the input changes.
Result
Enter your data or use the example, then run the tool.
Worked example
Offset +1000 ms moves 00:00:01 to 00:00:02. Aligning original 10/20 seconds to 12/24 gives scale 1.2; text is unchanged.
Method
Use t′=t+offset, or t′=scale×t+offset from two anchors; round to whole milliseconds. Preserve cue text and serialize the selected plain-cue format. Negative, collapsed or over-seven-day cues are rejected with one-based cue numbers, never silently clamped or dropped.
Limits
Each input: at most 2 MiB UTF-8 and 10000 cues, output 4 MiB, timeline seven days. Plain cues only: WebVTT settings/NOTE/STYLE/REGION/timestamp maps and advanced markup are rejected. Unicode and basic i/b/u are preserved; no speech recognition. Large bounded operations may briefly occupy the main thread.
Your inputs stay on this device. Only optional, consented page visits are measured. Input values, files, filenames and processing logs are not sent to Analytics.
When switching languages, text, settings and selected files are temporarily kept on this device. Transfers are removed after restoring; interrupted transfers are cleaned up on a later visit. Inputs and files are never uploaded.