How to fix subtitles that are out of sync
Subtitles that are early or late by the same amount can be shifted in seconds. If they drift further out, they were made for another frame rate.
Last updated
In short: If every line is early or late by the same amount, shift the whole file with the subtitle converter. If the lines drift further out as the video goes on, the subtitles were made for a release at a different frame rate, and the reliable fix is subtitles made for your copy.
Constant offset
The first line and the last line are both about two seconds late. This is the common case: the subtitles match the film but the video has an extra intro, or is missing one. Shift the file by the difference, up to 30 seconds either way, and save it as SRT or VTT.
To measure the offset, note when a line is spoken and when it appears. Positive shifts make subtitles later; negative shifts make them earlier.
Drift
The start matches but by the end it is several seconds out. The subtitles were timed for a different frame rate, typically 23.976 against 25 frames per second, a difference of about four percent. Shifting cannot fix that, because every line is out by a different amount. Find subtitles for your exact release instead.
Subtitles inside the video
If the subtitles are embedded in an MKV, save them out with Extract Subtitles, fix them, and either load the file alongside the video or burn them in with Burn In Subtitles.
Questions
How do I delay subtitles?
Shift them by a positive number of seconds in the subtitle converter.