All Over Tools logo
Tool Combiner
Analyze Tools Clean Tools Compare Tools Convert Tools Data Validation Extract Tools Format Tools Generate Tools Organize Tools Transform Tools
Image Tools Video Tools Audio Tools Subtitle Tools Font Tools
Analyze Tools Clean Tools Compress Tools Convert Tools Edit Tools Extract Tools Generate Tools Merge Tools Organize Tools Redact Tools Repair Tools Split Tools
Analyze Tools Clean Tools Compare Tools Convert Tools Extract Tools Generate Tools Merge Tools Transform Tools Validate Tools
Business Calculators Construction Calculators Date And Time Calculators Education Calculators Financial Calculators Food Calculators Health Calculators Math Calculators Science Calculators Sports Calculators Statistics Calculators
Blog About Us Contact Us

Subtitle Timestamp Shifter

Shift an SRT or WebVTT subtitle file when its timing is out of sync with a video. Add a fixed positive or negative offset to every cue, or apply a linear drift correction that scales from a start offset to a different end offset across the timeline. Cue text and order are untouched. Everything runs locally in your browser.

Drop a subtitle file here

or

SRT or VTT - detected format: Not detected

Seconds (can be decimal, e.g. -1.5) or HH:MM:SS.mmm. Positive delays subtitles, negative advances them.

Same units as above. The offset is interpolated linearly between these two values across the timeline: appliedOffset(t) = start + (end - start) x (t / lastCueEnd).

How the Subtitle Timestamp Shifter Works

Use the tool to change existing SRT or WebVTT cue times. Cue text and order stay unchanged. SRT identifiers are regenerated sequentially, while WebVTT cue identifiers and settings are serialized. The tool does not combine or split cues, translate text, or modify video or frame data.

Choose a Correction Mode

Fixed offset adds one positive or negative value to every cue's start and end time. Positive values delay subtitles; negative values advance them.

Linear drift correction uses Offset at the first cue and Offset at the last cue's end. The first label describes the value at timeline time zero; it is not necessarily the offset applied to the first parsed cue. Each cue's start and end offset is interpolated from its own original timestamp, so the cue receives the exact start value only when that timestamp is zero.

The reference point is the end time of the last parsed cue. For each timestamp, the tool uses appliedOffset(t) = startOffset + (endOffset - startOffset) x (t / lastCueEnd), with the interpolation factor clamped to the 0 to 1 range. Offset fields accept seconds, decimals, or values such as HH:MM:SS.mmm.

Shift Subtitles and Review the Result

  1. Choose a mode: fixed offset for a constant shift, or linear drift correction for an interpolated offset across the timeline.
  2. Enter the offset value(s): as seconds (decimals allowed, e.g. -1.5) or as HH:MM:SS.mmm.
  3. Add your subtitles: use Paste subtitle content below, Drop a subtitle file here, or browse files. The file picker accepts .srt, .vtt, and .txt. SRT and VTT extensions identify the format; other pasted or selected content is treated as WebVTT only when it begins with WEBVTT, otherwise it defaults to SRT.
  4. For pasted or detected SRT content, use timestamps such as HH:MM:SS,mmm. WebVTT timestamps use HH:MM:SS.mmm, with hours optional when parsing.
  5. The offset or drift correction is applied automatically whenever the subtitle content or correction settings are usable.
  6. Review the preview: Before & after preview shows each cue's original and shifted timestamps, text, and any negative-time or overlap flags.
  7. Download: export the shifted file after successful processing. The generated filename is shifted.srt or shifted.vtt.

Click Clear to remove the current subtitle input and result.

When an uploaded file exceeds 300000 characters, the textarea shows a truncated preview. The full file remains available for processing.

Review Flags and Download the Result

The Before & after preview shows original timing, shifted timing, cue text, and cue-level flags. The tool flags negative timestamps and cues that overlap the next cue after shifting. These flags warn about issues in the shifted output; they do not block Download after successful parsing and shifting. Processing errors do prevent downloading.

Output Limitations and Processing Details

  • Cue order and cue text are preserved.
  • WebVTT cue identifiers and cue settings are serialized for parsed cues.
  • The WebVTT header is retained in the output.
  • SRT identifiers are regenerated as sequential numbers.
  • WebVTT NOTE, STYLE, and REGION blocks are skipped during parsing and are not included in the download.
  • Subtitle files require strict SRT or WebVTT timestamp syntax.

Fix Processing Errors Before Downloading

Correct the input when processing stops. Empty input, malformed timing lines, invalid timestamps, reversed cue times, missing subtitle text, missing timing lines, invalid offsets, and files with no parsed cues produce an error. WebVTT input must begin with WEBVTT on the first line. Errors hide the workspace and prevent Download until the problem is corrected.

Privacy and Local Processing

The implementation reads selected files with FileReader, processes the content in your browser, and creates the download with a Blob. The directly imported implementation contains no upload logic.

Frequently Asked Questions

How is this different from a subtitle FPS converter?

An FPS converter multiplies every timestamp by a source/target frame-rate ratio. This tool instead adds a fixed offset or applies a linear offset that changes from a start value to an end value.

What is the difference between a fixed offset and drift correction?

A fixed offset adds the same amount of time to every cue. Linear drift correction interpolates the offset from the value at timeline time zero to the value at the last cue's end, using each cue's original start and end positions.

How exactly is the drift correction calculated?

For a cue at original time t, with the last parsed cue's end time as the reference point t1, the applied offset is startOffset + (endOffset - startOffset) x (t / t1). The interpolation factor is clamped to the 0 to 1 range. The offset at time 0 equals the start value you enter, the offset at the reference end time equals the end value, and each cue in between is shifted according to its own position in the timeline.

Does this tool merge subtitles, translate text, or edit video?

No. It changes existing cue times only. Cue text and order are preserved; WebVTT cue identifiers and settings are serialized, while SRT identifiers are regenerated sequentially. WebVTT NOTE, STYLE, and REGION blocks are not serialized. No cues are combined or split, no text is translated, and no video or frame data is read or modified.

Does this tool upload my subtitle file anywhere?

No. Parsing, shifting, and the preview all happen locally in your browser. Your subtitle file never leaves your device.

Related Tools

2 views