Subtitle Time Shift (SRT/VTT)
Shifts the first valid timing line in each blank-line-separated SRT or WebVTT cue by a supplied safe-integer offsetMs, clamps negative totals to zero, and preserves comma or dot millisecond delimiters.
About this subtitle time shift (srt/vtt)
Shifts the first valid timing line in each blank-line-separated SRT or WebVTT cue by a supplied safe-integer offsetMs, clamps negative totals to zero, and preserves comma or dot millisecond delimiters Applies Unicode-compliant text transformations and parsing directly in the browser tab without data leakage.
Text processing & transformation mechanics
Parses supported subtitle timecodes, adds the supplied optional offset in milliseconds, and writes updated timing text. It does not synchronize subtitles against media automatically.
Worked text manipulation example
Scenario: Move the first timing line of a single SRT cue forward by 1.5 seconds.
Sample input:
Processing: Reads the JSON object, adds the safe-integer offset to the cue timing line, retains the comma delimiter and leaves the cue text unchanged.
Illustrative output:
Character encoding & string length boundaries
offsetMs defaults to zero and must be a safe integer. The tool recognizes timing lines in SRT and WebVTT-style cue blocks, preserves cue text and settings, and does not validate full subtitle structure, resolve overlaps, or synchronize media. Only the first two nonblank lines of each blank-line-separated block are eligible; a timing-looking third line remains body text.
Text formatting and transformations in Subtitle Time Shift (SRT/VTT) preserve character integrity. Check edge cases such as multi-line inputs and special characters before downstream use.
In-memory text processing boundary
String operations and Unicode manipulations in Subtitle Time Shift (SRT/VTT) execute entirely in local browser memory without transmitting input text.
Unicode Consortium & text formatting standards
Unicode Consortium standard annexes (UAX) and character encoding specifications:
- W3C WebVTT: The Web Video Text Tracks Format (timestamp syntax reference)
- Implementation-specific SRT/WebVTT timing-line transform; not a complete subtitle parser
Subtitle Time Shift (SRT/VTT) verification · Audit standards
How to use it
- Paste a JSON object with string content and an optional safe-integer offsetMs.
- Click Run locally to shift a valid timing line within the first two nonblank lines of each blank-line-separated cue; negative totals clamp to zero.
- Read and copy the shifted subtitle text.
Frequently asked questions
What does Subtitle Time Shift change?+
It accepts a JSON object with string `content` and an optional safe-integer millisecond `offsetMs` (default 0). It shifts the first valid SRT/VTT timing line in each cue, clamps negative totals to zero, and preserves comma or period milliseconds and timing-line settings.
What subtitle material remains unchanged?+
Cue text, comments, and later timestamp-looking body lines remain unchanged. In a VTT file, non-cue `NOTE`, `STYLE`, and `REGION` blocks are excluded from shifting.
Does it synchronize media or repair subtitle timing?+
No. It only changes eligible timestamp strings. It does not adjust media, cue order, overlaps, frame rate, duration, or semantic synchronization.
Can I try a concrete input?+
Enter `{"content":"1\n00:00:01,500 --> 00:00:03,000\nHello","offsetMs":500}` and run locally. The timing becomes `00:00:02,000 --> 00:00:03,500`, while `Hello` remains unchanged.
