Shift Subtitle Start Times
Or paste subtitle text
Options
Milliseconds to move every cue by. A positive number pushes the subtitles later, a negative one pulls them earlier. Zero is a legal value: the file comes back unchanged, which is a quick way to confirm a file already sits where you want it.
Start moves only the opening time and leaves the closing time where it was, so pushing the offset later makes every cue shorter and pulling it earlier makes every cue longer. End does the opposite. Use Start when the subtitles appear at the wrong moment but finish correctly; use End when they appear correctly and then linger or vanish too soon.
Which frame rate the timings are counted in. On the format pages this is what MicroDVD needs, because it stores timing as frame numbers. On the frame rate pages it is the rate the file was timed against — the version the subtitles were made for — and the page's second box takes the rate of the video you are going to use them with. 23.976, 24, 25, 29.97, 30, 50, 59.94 and 60 are the common ones. Getting it wrong shifts the whole timeline, and on the frame rate pages it shifts it by a ratio rather than by a fixed amount.
This page moves only the start time of every cue, so each subtitle begins at a different moment while finishing exactly where it always did. Give it a millisecond offset and the opening time of every cue moves by that much: a positive number delays each one, a negative number brings it forward. Because the closing time is left alone, the length of each cue changes as a result — pushing the subtitles later shortens them, pulling them earlier lengthens them.
That is the whole difference between this page and the one that shifts a subtitle file wholesale. There both edges move together and every cue keeps its original length, which is what you want when the entire timeline sits at the wrong offset. Here the cues change shape instead, which is what you want when the subtitles appear at the wrong moment but disappear at the right one: a caption that shows up before the line is spoken and then hangs there through it needs its opening pushed back, not its closing pushed forward.
Two things are counted rather than hidden. A cue whose start would be pushed past its own end has nothing left to show and is removed, because writing a cue that starts after it finishes is not something a player can display. A cue whose start would be pulled behind the beginning of the file has that start pinned to 00:00:00 and its end left where it was, so it comes out shorter than the arithmetic asked for. Every other cue keeps its number and its text.
Each file is read as the format it actually is. SRT, WebVTT, ASS, SSA, SBV, SAMI, MicroDVD, TTML, JSON and CSV are accepted; plain text and LRC are not, because neither writes a closing time into the file and so neither has an edge for this page to move. Nothing leaves your machine — the offset is applied in the browser, and a whole season runs through the queue in one pass.
Examples
Delay the appearance of every subtitle by half a second
Input
1
00:00:01,000 --> 00:00:03,000
Hello there.
2
00:00:05,500 --> 00:00:08,000
Second line.
Output
1
00:00:01,500 --> 00:00:03,000
Hello there.
2
00:00:06,000 --> 00:00:08,000
Second line.
Each start moves 500 ms later and each end stays put, so cue 1 goes from 2000 ms on screen to 1500 and cue 2 from 2500 to 2000.
A short cue pushed past its own end
Input
1
00:00:01,000 --> 00:00:01,200
A short one.
2
00:00:05,000 --> 00:00:08,000
A long one.
Output
2
00:00:05,500 --> 00:00:08,000
A long one.
The first cue is only 200 ms long, so a 500 ms delay would put its start after its end. It is removed and counted; the survivor keeps the number 2.
Bring the subtitles forward, past the start of the file
Input
1
00:00:00,400 --> 00:00:02,000
Starts almost immediately.
2
00:00:05,000 --> 00:00:06,000
Later.
Output
1
00:00:00,000 --> 00:00:02,000
Starts almost immediately.
2
00:00:04,000 --> 00:00:06,000
Later.
The second cue moves forward cleanly. The first would begin at −600 ms, so its start is pinned to zero and its end is untouched.
Frequently asked questions
How is this different from the page that shifts a whole subtitle file?
That page moves both edges of every cue, so no cue changes length. This one moves the opening time only and leaves the closing time exactly where it was, so every cue in the output is a different length from the one you put in. Use the file-wide shift when the whole timeline is off by a constant amount, and this page when the moments are wrong but the durations are right.
Which direction shortens a cue and which one lengthens it?
A positive offset delays each start, so the gap before the closing time shrinks and every cue gets shorter. A negative offset brings each start forward, so every cue gets longer. The end times never move in either direction, which is the property that makes the arithmetic easy to check on a single cue before you run the whole file.
Does every cue's end time really stay where it was?
Yes, with one exception that is reported rather than silent: a cue whose start is pulled behind zero has that start pinned to 00:00:00 while its end is left alone. Clamping never drags the end backwards to keep the original duration, because that would change a time you did not ask to change.
What happens when a delayed start lands after that cue's own end?
The cue is removed. A cue of 200 ms delayed by 500 ms would have to be written as starting 300 ms after it finished, which is not a state a player can render, so the honest output is no cue at all and a count of one removed. Nothing is renumbered afterwards, so the cues around it keep the numbers they already had.
Can a start be pulled back past the beginning of the file?
It cannot go before zero, because there is no such moment in a file. When the arithmetic asks for a negative start, that start is pinned to 00:00:00 and the cue ends up shorter than the offset alone would have made it — shorter, not longer, and the count of pinned cues tells you how many were affected.
When would I want to move only the starts?
The usual case is a caption that appears early and then stays on screen through the line, so reading it feels rushed at the front and idle at the back. Delaying the start fixes the reading without cutting off the tail. The mirror case is a caption that appears a beat late and then vanishes on time, where a negative offset widens the window instead.