Subtitle Sync & Time Shifter
Move every line earlier or later, fix gradual drift, and check it against your video.
Try before you buy.
- Free preview: the first half of the re-timed lines (up to 10) in the list and over your own video, with the new start and end of the whole file.
- Locked until you unlock it: download and copy.
- Unlock: Pro pass, ₹179 for 30 days, a one-time payment that never renews.
Ways to unlock shows how to get the full result.
Printing this result is locked in the free preview.
Your subtitles
Paste the whole file, from the first line to the last. Pasted subtitles are saved as UTF-8.
This file is not Unicode. The choice only changes how its words look here: the file you save keeps its own bytes.
MicroDVD files count frames, so their times depend on the frame rate.
Fix the timing
Seconds (2.5), milliseconds (-800 ms) or a time (0:01.200). Plus makes the subtitles appear later, minus earlier.
Pick a line near the start and one near the end, and type when each should really start (or set it from your video below). The lines in between follow a straight line through both, which removes a gradual drift.
Your player’s file information shows the video’s frame rate. Subtitles that start in sync and drift further and further off usually need this.
Check against your video
OptionalPlay the video and press It starts now at the moment the chosen line is spoken: the shift is worked out for you.
Re-timed subtitles
| # | Was | Now | Text |
|---|
Locked in the free preview. Opens the ways to unlock this result.
Locked in the free preview. Batch runs unlock with a pass.
Locked in the free preview. Query results unlock with a pass.
About the Subtitle Sync & Time Shifter
Fix subtitles that show up too early, too late or further and further off. Open a SubRip (.srt), WebVTT (.vtt), ASS/SSA, YouTube SBV, SubViewer or MicroDVD (.sub), LRC or SAMI (.smi) file — or paste the text — and move every line by a number of seconds, re-time from two reference lines to remove a gradual drift, or convert between frame rates such as 25 and 23.976 fps. You can re-time only some lines, for example everything after an advert break.
Open your video too and the re-timed lines play over it, so you can see that they match. Not sure how far off they are? Pick a line, play the video and press It starts now when you hear it: the shift is worked out for you. Only the times change: numbering, styling, positions, comments and the text encoding are kept exactly as they were, and nothing is uploaded.
How to use it
- Choose or drop the subtitle file, or paste its text. The page shows its format, number of lines and first and last times.
- Pick Shift and type how much to move the lines:
2.5(seconds) makes them appear 2.5 seconds later,-800 ms0.8 seconds earlier. For lines that drift, pick Two points and give one line near the start and one near the end their correct start times; for a frame-rate mix-up, pick Frame rate. - Optionally choose Lines from … to … or Lines starting at or after a time to re-time only part of the file.
- To check, open the video under Check against your video and play it: the re-timed lines appear on top. Press It starts now at the moment a chosen line is heard to set the shift from the video.
- Press Download for the fixed file (same format, name and encoding) or Copy for its text: with a pass, or after unlocking this result. Without one the free preview shows the first half of the re-timed lines (up to 10).
Examples
00:01:04,200 --> 00:01:06,900 · Shift -2.5
00:01:01,700 --> 00:01:04,400 (every line 2.5 s earlier)
A line at 01:00:00,000 · Frame rate 25 → 23.976
01:02:33,750: every time is multiplied by 25 ÷ 23.976 (exactly 25 × 1001 ÷ 24000 = 1.0427083…)
The two versions show the same frames, but the 25 fps one plays about 4.3 % faster, so its subtitles drift further ahead with every minute.
Line 12 starts at 0:41.300 but should start at 0:42.064 · line 1,480 starts at 1:51:07.200 but should start at 1:55:50.945
Times stretched by 4.27 % (×1.04271), then −1.000 s, which the page recognises as the 25 → 23.976 fps difference
Lines starting at or after 0:42:10 · Shift +1.2
The first 42 minutes are untouched; every later line starts 1.2 s later.
Common uses
- Downloaded subtitles that show a second or two before the words are spoken.
- Subtitles made for a TV or PAL release that drift on a film-speed copy (or the other way round).
- A recording with an extra intro or a cut, where only the lines after a point need to move.
- Lyrics (LRC) that run ahead of the song in a music player.
- Captions exported from an editor with a start offset such as 01:00:00:00.
How the re-timing works
Every method is one straight line through the times, new time = speed × old time + shift, in milliseconds:
- Shift keeps the speed at 1 and adds the same amount to every start and end.
- Frame rate sets the speed to made for ÷ your video and adds nothing: 25 → 23.976 is 1.0427083…, 23.976 → 25 is 0.959040…; 23.976, 29.97 and 59.94 are exactly 24000/1001, 30000/1001 and 60000/1001.
- Two points finds the speed and the shift that move the first line to its correct time and the second line to its correct time: speed = (correct₂ − correct₁) ÷ (old₂ − old₁). Choose lines far apart — near the start and near the end — so a small error in either time hardly changes the speed. When the speed matches a known frame-rate pair, the page says so.
Karaoke and word times inside lines (WebVTT <00:01.500>, enhanced LRC <01:02.30>) move with their line. A time that would fall before 0:00 is set to 0:00, and the page tells you how many lines that affects.
Formats, and what is kept
- SubRip (.srt):
00:01:02,500 --> 00:01:04,000; position coordinates after the end time are kept. - WebVTT (.vtt):
01:02.500 --> 01:04.000with optional hours (W3C WebVTT); cue settings such asalign:start, identifiers, NOTE and STYLE blocks stay as they are, and hours are added when a time passes one hour. - ASS/SSA: the Start and End columns of every Dialogue and Comment line, found from the file’s own Format line, to the centisecond; styles, override tags and commas in the text are untouched.
- SBV (YouTube) and SubViewer:
0:01:02.500,0:01:04.000. - MicroDVD (.sub):
{1500}{1560}frame numbers, read with the frame rate on the file’s first line ({1}{1}23.976) or the one you choose. - LRC:
[01:02.50]line times (several per line too) and word times; tags such as[ar:]and[offset:]are kept. - SAMI (.smi): the
Startof every SYNC tag, in milliseconds.
The file is changed only where a time is written. A file in an older code page (Windows-1251, Windows-1250, Shift_JIS …) keeps every byte outside the times, so its letters stay correct; UTF-8 and UTF-16 files keep their byte-order mark.
Finding how far off the subtitles are
With the video open, choose a line you can recognise — the first line of dialogue works well — play the video and press It starts now the moment you hear it. The shift becomes the difference between that moment and the line’s old start, and the list and the video update at once. Use −0.1 s and +0.1 s to fine-tune by eye.
If the start is right but the end of the film is off, the speed is wrong: use Two points, set the first point at a line near the start and the second near the end, and press Set from the video for each while the video plays at that line.
Limitations
- TTML/DFXP, SCC and image-based subtitles (PGS .sup, VobSub .idx/.sub) are not re-timed here; convert text formats to SRT with the Subtitle Converter first.
- One straight-line correction applies at a time. Subtitles that are off by different amounts in different parts (a different cut of the film) need several runs on line ranges.
- The video preview draws the text of the lines without their styling or positions, and does not show over the browser’s full-screen view.
- Videos that this browser cannot play (some MKV, AVI or HEVC files) cannot be shown; you can still read the times in your own player and type them in.
- The free preview shows the first half of the re-timed lines (up to 10) in the list and over the video; the whole file downloads with a pass.
Privacy
Everything happens in your browser. What you enter or open here is not uploaded or stored by MySmartCoPilot.
Frequently asked questions
What do I get without a pass?
Without a pass, Subtitle Sync & Time Shifter shows the first half of the re-timed lines (up to 10) in the list and over your own video, with the new start and end of the whole file. Until you unlock it, the result can’t be downloaded or copied. A Pro, Premium or Ultimate pass, a one-time payment that never renews, unlocks the full result. The pricing page lists the passes and their prices.
My subtitles appear before the people speak. Do I type plus or minus?
Plus. Subtitles that show up too early need to come later, so type a positive number (for example 1.5 for one and a half seconds). Subtitles that show up after the words have been spoken are late: type a negative number (for example -1.5). The list shows each line’s old and new times, so you can check the direction before you save.
The first lines are right but they drift further off by the end. Why?
The subtitles were timed for a version of the video that plays at a different speed — usually the 25 fps (PAL) release against the 23.976 fps film. Use Frame rate with those two values, or Two points with a line near the start and one near the end if you do not know the frame rates.
Will the styling, positions or line numbers change?
No. Only the times are rewritten, in the same style as before (the same separators and number of digits); everything else in the file is kept character for character, including Windows line endings and the text encoding.
Why does the saved file have the same name?
Video players pick up subtitles whose name matches the video (for example Movie.mkv and Movie.srt), so the file keeps its name. Your browser adds a number if the folder already has a file with that name.
Can I shift only part of the subtitles?
Yes. Under Re-time, choose Lines from … to … (by line number) or Lines starting at or after a time; the other lines are not changed.
Are my subtitles or video uploaded?
No. Both are read and played inside your browser on your device, and nothing is sent anywhere.