SRT vs LRC: which format for your lyric video
Both formats store the same underlying thing, which is when words happen. They store it differently, and they are supported in different places, so the right answer depends entirely on what you are opening the file in.
The short answer
If the file is going into a video editor, use SRT. If it is going into a music player, a karaoke app or anything that scrolls lyrics next to a song, use LRC. If you are building the video yourself and animating the text, you probably want neither, and JSON will save you a conversion step.
What SRT actually is
SRT is a subtitle format. It is a numbered list of cues, and every cue carries a start time, an end time and some text:
1 00:00:14,489 --> 00:00:22,430 On a motorbike, doing 90 in a 55 2 00:00:22,500 --> 00:00:25,600 To another life
The important detail is that every cue has an explicit end time. A subtitle appears, then it disappears, and the format says exactly when both happen. That is why editors like it: the cue maps directly onto a clip on a timeline.
Two things catch people out. The decimal separator is a comma, not a full stop, and a surprising number of hand written parsers get that wrong. And SRT has no concept of a word. A cue is a block of text, so if you want word by word highlighting you either produce one cue per word, or you produce one cue per word that repeats the whole line with the current word marked up. Both are valid SRT; they just look very different on a timeline.
What LRC actually is
LRC came from music players, not video. It is a plain text file where each line is stamped with the time it starts:
[00:14.48]On a motorbike, doing 90 in a 55 [00:22.50]To another life
Note what is missing. There is no end time. A line is understood to run until the next line begins, which is fine for a lyric scrolling beside a track and useless if you need a line to disappear during an instrumental break. Some players handle a blank stamped line as a way to clear the display; support for that is inconsistent.
There is also an extended form, usually called Enhanced LRC, which adds word level stamps inside the line:
[00:14.48]<00:14.48>On<00:14.62> <00:14.70>a <00:14.80>motorbike,<00:15.40>
This is the format karaoke apps use for the moving highlight. Note the extra stamps after On and after the last word. A word tag runs until the next tag appears, so the only way to end a word early is to open a new stamp holding something else, which is what those are doing. Without them a word stays lit until the next one starts, and the last word on a line stays lit until the next line begins, which is very visible across an instrumental gap. We write them wherever there is a real gap, and at the end of every line.
It is genuinely useful, but support is patchy. Plenty of players that happily read standard LRC will either ignore the word tags or show them as literal text, so it is worth testing in the specific app you are targeting before committing to it. If you are producing karaoke video rather than feeding a lyrics app, ASS is the better target: it carries an explicit duration for every word instead of inferring one.
Picking between them
| If you are | Use | Why |
|---|---|---|
| Editing in Premiere, Resolve, Final Cut or CapCut | SRT | Imports as a caption track with real in and out points |
| Uploading captions to YouTube | SRT | It is the format the uploader expects |
| Building a karaoke or lyrics app | LRC | Line stamps are what the format was designed for |
| Driving a moving word highlight | Enhanced LRC | Word stamps inside the line, if your player supports them |
| Animating text yourself | JSON | No parsing, no format limits, every word already separated |
The conversion that loses information
You can convert SRT to LRC easily, because you are throwing information away: keep the start time, drop the end. Going the other direction means inventing end times that were never in the file, and whatever you invent will be wrong wherever the song has a gap. If you need both, export both from the source rather than converting one into the other.
Ready to make the file? Use the SRT lyrics generator or LRC generator. See word level vs line level timing for which one to ask for.