SRT is the subtitle format everything reads, and the simplest one. LRC is song lyrics with a start time per line, and no end time. ffmpeg sits between the two, and this page says exactly what happens to an SRT file on the way to becoming an LRC one.
What runs when an SRT file becomes LRC
ffmpeg held to a single thread, on a machine we rent and watch. Your SRT file is uploaded once, ffmpeg runs once, the LRC comes back, and neither file is kept. SRT to LRC is one of the 3649 pairs that engine was probed on with a real file, which is why it has a page here and why the pairs the probe could not prove do not.
What survives from the SRT into the LRC
Every line, and the moment it appears. The engine reads your SRT and writes the same cues into the LRC: the text is not re-wrapped, the order is not touched, and the start of each cue lands where it was. It counts the cues on the way out and refuses the result if the count moved.
Accents and every other character. The LRC is written as UTF-8, which is the one thing that stops subtitles arriving as question marks on a machine that is not yours.
A file whose size you can predict. We put the same 200-cue file through all six formats and weighed what came out: 63.6 bytes per cue in LRC, 28 % smaller than the SRT, because it is the lightest of the six for one reason: it writes no end times at all. Smaller is not better here. It is the consequence of carrying less, and the next section says what.
The start of every line, which is all LRC has room for. Music players and karaoke software read exactly this: the instant a line begins, and the line.
What SRT to LRC costs you
Every end time, all of them. LRC has no field for one: a line carries the instant it begins and nothing else. Whatever reads the LRC decides when a line stops, usually by showing it until the next one starts. If you need the ends, this is the wrong target.
Styling and positioning, if your SRT had any. LRC holds a timestamp and a line of text.
Where SRT and LRC files come from
SRT. Written for SubRip, a Windows program that pulled subtitles off DVDs, and it won by being trivial: a number, two timestamps, the lines, a blank line. No styling, no specification, no committee. Every player on earth reads it.
LRC. Made for karaoke and for music players that highlight the current line. Each line carries the instant it begins and nothing else: there is no end time in the format at all, which is the single fact that decides what converting to and from it can mean.
If a model is going to read the LRC
A subtitle file is a transcript with the clock attached, which is what makes it worth feeding to a model at all: every line comes with the moment it was said. SRT in, LRC out, and the START of every line lands where it was, so a question like "what was said at eleven minutes" still has an answer afterwards.
SRT to LRC, measured rather than promised
Running SRT to LRC against the real engine with a real file, ffmpeg wrote 126 bytes of LRC in 0.1 seconds, machine otherwise idle. That is one SRT file on one day and not an average, which is why the number is given together with the file that produced it.
The SRT to LRC verdict was reached by reading the text, the timings and the length of every cue, meaning the output was read back and recognised. Which check was used matters, because they do not all prove the same thing, and a status code of 200 proves nothing whatsoever about whether the LRC file has anything inside it.
What we will not pretend about SRT to LRC
An SRT file over 5 MB is refused before the upload finishes rather than after it, so you do not wait for a rejection.
An SRT to LRC run that passes 30 seconds is killed, and the ffmpeg process is killed with it. A run left behind would sit on one of the machine's two cores until somebody noticed.
This family does not touch the timing itself. Shifting subtitles by two seconds, stretching them for a different frame rate or merging two files are real needs and none of them happens here: this converts a container into another container.
One SRT file at a time, chosen in the browser. There is nothing else to set up and nothing else on offer.
SRT to LRC: what people ask
What actually converts my SRT file to LRC?
ffmpeg does it, held to a single thread, on a machine we rent and watch. Not a browser trick and not somebody else service: the SRT file is uploaded once, ffmpeg runs once, the LRC comes back, and neither file is kept afterwards.
How long does SRT to LRC take?
On the file the probe used, ffmpeg took 0.1 seconds and wrote 126 bytes of LRC. That is one real measurement on one real SRT file, not an average and not a promise about yours: a larger SRT takes longer, and past 30 seconds the run is stopped.
What do I lose going from SRT to LRC?
The one to know about first: Every end time, all of them. LRC has no field for one: a line carries the instant it begins and nothing else. Whatever reads the LRC decides when a line stops, usually by showing it until the next one starts. If you need the ends, this is the wrong target.
Will the timings still match my video?
Yes. The start of every cue is carried across unchanged, not recomputed. The ends too, exactly as your file had them.
Where did my end times go?
LRC has no field for them. Each line carries only the instant it begins, and whatever reads the file decides when the line stops, usually by showing it until the next one starts. If you need the ends, the SRT you started from still carries them.
Is SRT to LRC free?
There is a free allowance every month, and one SRT to LRC conversion costs half a credit against it. When the allowance runs out the tool says so and stops, rather than quietly handing you a worse LRC.