Cue Offset BenchGuides

Move the timing. Keep the words.

Shift pasted SRT subtitles earlier or later by a constant millisecond offset. Inspect every cue, then download the complete shifted SRT. Positive moves captions later; negative moves them earlier.

Whole number from -3,600,000 to +3,600,000. Use 0 to keep timing.

Source subtitles

Maximum 256 KiB UTF-8 and 2,000 cues. Unique positive integer IDs, exact HH:MM:SS,mmm timing and blank lines between cues. LF or CRLF; optional initial BOM.

Text lines, spaces, Unicode and markup stay literal. Starts must be nondecreasing and each end later than its start. Overlaps are allowed.

Timing proof

Paste SRT and set an offset, then choose Shift cues. The complete timing ledger and shifted text will appear here.

UTF-8 without BOM, LF line endings and a final newline. Your browser controls saving; select the complete output above if download is unavailable.

One offset, applied everywhere

You determine the offset externally. This app cannot verify synchronization against a recording. It does not load media, correct drift, convert frame rates, edit cues or clean up text.

A shift outside 00:00:00,000 through 99:59:59,999 rejects the whole operation. No clipping, dropping, sorting or shortening cues.

All subtitle work stays only in volatile tab memory. No uploads, accounts, storage APIs, analytics or external services. Reset and reload discard all work. Every edit clears the result and disables download until a successful shift.

Questions about shifting SRT

How do I move captions earlier or later?

Paste SRT, enter a whole-number millisecond offset and choose Shift cues. Positive moves captions later; negative moves them earlier. For example, +1500 moves 00:00:01,250 to 00:00:02,750. Inspect the complete timing table before downloading shifted.srt.

Are subtitles uploaded or saved, and are permissions needed?

Subtitles stay in volatile tab memory without uploads, accounts or saved history. Pasting requires no device or file-reading permission. Only clicking Download requests a local file; the browser controls saving. Reset or reload discards all work.

Why did my shift fail, and how can I recover?

Check the reported block for strict timing syntax, duplicate IDs, nonpositive durations or decreasing start times. A boundary below zero or above 99:59:59,999 rejects the whole shift. Your pasted input stays unchanged. Correct the source or offset and choose Shift cues again; edits disable the old download.

Can this fix drift or find the correct offset?

No. You determine a constant offset externally. The app cannot load a recording or verify synchronization, correct drift, convert frame rates, repair overlaps or edit subtitle text. Overlapping cues are accepted and preserved.