LRC, SRT and WebVTT timing offset
Shift every lyric timestamp at once
When lyrics run consistently early or late against the song, the fix is one offset applied to the whole file. Move every timestamp forward or back, keep word-level timing intact, and export as LRC, SRT, or WebVTT. Nothing is uploaded.
Timed lyric file
Offset
Negative moves the lyrics later against the audio. Positive moves them earlier.
Shifted file
Add a timed lyric file and the shifted result appears here.
When a shift is the right fix
Constant drift, not growing drift
A single offset corrects a file where every line is wrong by the same amount — usually because the lyrics were timed against a version of the track with a different intro length, or exported from a tool that rounded the start.
If the first chorus is nearly right but the last one is seconds out, the drift is growing rather than constant. No single shift will fix that, and the lines need adjusting individually in the Toolkit.
Lyrics appear too early
Shift by a negative offset so each line lands later against the audio.
Lyrics appear too late
Shift by a positive offset to pull every line earlier.
A different intro length
Files timed against a radio edit or remaster often need a whole-file nudge.
Word timing preserved
Enhanced LRC and timestamped WebVTT keep inline word starts, moved by the same amount.
Questions
About shifting lyric timing
My lyrics are consistently early or late. Is this the right tool?
Yes. A constant offset is exactly what this fixes. If the drift grows as the song goes on, a single shift will not correct it — that usually means the file was timed against a different version or a different frame rate, and individual lines need adjusting in the Lyric File Toolkit.
Which direction do I shift?
If the lyrics appear before they are sung, shift by a negative amount to move them later relative to the audio. If they appear after, shift positive. Start with 0.5 seconds and adjust from there.
Does shifting affect word-level timing?
Yes, and it stays in sync. Enhanced LRC and timestamped WebVTT keep their inline word starts, and every word moves with its line by the same offset.
Can timestamps go negative?
No. The shift is clamped so the earliest timestamp never drops below zero, which keeps the file valid. A large negative shift will compress the start of the file rather than producing invalid times.
Can I change the format at the same time?
Yes. Choose LRC, SRT, or WebVTT for the output and the shifted file is written in that format, regardless of what you started with.
Is the file uploaded anywhere?
No. Parsing, shifting, and export all happen in your browser. The file never leaves your device.
Related workflows