Drop SRT or VTT subtitle file here
or click to browse — processed entirely in your browser
Late subtitles get a shift, drifting subtitles get a two-point stretch — fixed locally, nothing uploaded.
Your files never leave your browser — all processing is local.
Drop SRT or VTT subtitle file here
or click to browse — processed entirely in your browser
Subtitles fall out of step with a video in two distinct ways, and this tool has one operation for each. When every line is equally late (or early), a shift moves the whole file by a fixed number of milliseconds and the problem is gone. When the file starts about right and ends minutes off — drift — a shift cannot save it: correcting the opening line pushes the closing line even further out. Both operations run entirely in your browser on SRT and VTT files, and nothing is uploaded.
Drift usually means the subtitles were timed for a different frame rate or a different cut of the video. The fix takes two anchors: pick one line near the start and one near the end, watch the video, and type the moment each is actually spoken. Every line between (and beyond) then follows linearly. You never need to know which frame rates are involved — the two anchor points already contain that information. A before-and-after preview shows the first 20 lines side by side — enough to confirm the correction took before you commit to the whole file.
The tool cannot know where the dialogue is: the anchors come from you watching the video, and the result is exactly as good as they are. If the mismatch is not linear — a scene cut from one version, an advert break inserted into another, a different edit entirely — no single shift or stretch fixes the whole file, and it needs splitting at the discontinuity and fixing in sections. Timestamps also clamp at zero: a line that would move before the start of the video sticks at 00:00 and loses the difference, and the page states exactly how many lines that clamp touched. Parsing is shared with this site's Subtitle Converter, so an SRT or VTT file that opens there opens here; if yours is ASS, SBV or LRC, run it through the converter first and bring the SRT back.
That is drift, and it is almost always a frame-rate or edit mismatch: the subtitles were timed against a 25 fps broadcast and your video runs at 23.976, or one version contains footage the other doesn't. The gap grows steadily through the file, which is precisely what the two-point stretch reverses. A plain shift can never fix it — it moves every line by the same amount, and drift is unequal by definition.
Pause the video at the instant a distinctive line is spoken and note the player's time, then look up the same line's timestamp in the file — the difference between the two is your shift, in either direction. The before-and-after preview updates immediately, so you can nudge the number until a spot-check against the video lands.
No. The file is parsed, retimed and rebuilt in your browser; the download is generated locally too. Nothing leaves your device at any point, which also means there is no file-size ceiling beyond your own machine.
That is the signature of drift, and the cue to switch to the stretch: anchor one line near the start and one near the end to their true spoken times, and everything between follows. If even the stretch leaves the middle wrong, the mismatch is not linear — a cut scene or an inserted break — and the file has to be split at that point and each section fixed on its own.
Timestamps clamp at zero. A line that a shift would move to negative time sticks at 00:00, so it keeps less offset than you asked for — and lines that were meant to stay in order can end up stacked at the start. The page reports exactly how many lines the clamp touched, so it never happens silently; if many are affected, the shift amount itself is probably wrong.
Convert subtitle formats (SRT, VTT, ASS, SBV) and fix encodings.