Local subtitle timing · One constant offset
Move the subtitles earlier or later.
Paste a supported SRT text and apply the same whole-millisecond shift to every cue. Keep the wording, cue duration and relative gaps; reject the entire shift if any timestamp would fall outside the supported range.
Free · No upload · Integer millisecondsYour subtitle text
Use the explicit supported SRT subset: separate sequential counters, comma milliseconds and blank lines between cues. This is a constant-offset tool, not an automatic sync or caption-quality service.
Current shifted result
- Cues
- Applied constant offset
- Original earliest start → latest end
- Shifted earliest start → latest end
- Whole-file allowed offset interval
Complete shifted SRT
Preview is literal text, not styled captions. The calculation retains the characters it receives. A browser can normalize pasted line endings before calculation; the download is UTF-8, not a preservation of an unknown original file encoding.
| Cue | Old start | Old end | New start | New end | Duration ms | Next gap ms |
|---|
Editing either input clears the old file, table, paging and exports. Shift subtitles again to create a result for the current inputs.
One delay, applied equally
Both endpoints get the same offset. A 1,750 ms cue stays 1,750 ms long, and a 500 ms gap stays 500 ms.
No clipping at zero
If even one endpoint would become negative or exceed 99:59:59,999, no shifted file is produced. Cues are not silently dropped or shortened.
Wording stays literal
Only structural cue timestamps change. A timestamp-looking line inside cue text stays text; markup is not executed or rendered as HTML.