Shift SRT subtitle timing

Move all timecodes of an SRT subtitle file forward or backward by the same number of milliseconds, for example to resync subtitles that are slightly off from the video. 100% local processing, your file is never sent to a server.

Example:
Positive = delay the subtitles, negative = move them earlier.

How it works

The tool reads each block of the SRT file (number, start and end timecodes, text), adds the offset you specify in milliseconds, then regenerates a valid SRT file with the new timecodes. The subtitle text and order are never changed, only the timings.

What happens if a negative offset pushes a timecode below zero?

If a timecode becomes negative after the offset is applied (for example, moving a subtitle that appears at the 2-second mark forward by 5 seconds), it is automatically set to 00:00:00,000 to stay valid, rather than producing an error.

Does the imported file need to follow a strict format?

The tool expects the standard SRT format: a block number, a timecode line in the format HH:MM:SS,mmm --> HH:MM:SS,mmm, then one or more lines of text, with blocks separated by a blank line. Malformed blocks are silently ignored during parsing.

Can I paste the text directly instead of importing a file?

Yes, the text area accepts either manually pasted content or a file imported by drag and drop or selection: both methods use the same parsing and shifting engine.

Complete privacy: the subtitle file is parsed and modified only in your browser and is never sent to a server.