What Is an LRC File? Synced Lyrics Explained
The .lrc format line by line: timestamps, metadata tags, offsets and word-level variants, plus which players and editors read it and how to fix lyrics that drift.
By MusicVivo Editorial TeamUpdated 14 min read
Quick answer: An LRC file is a plain text file of song lyrics with a timestamp before each line, written like
[01:23.45](minutes, seconds, hundredths). Music players, karaoke apps and lyric-video tools read it to display each line exactly when it is sung. Put it next to the audio with the same filename (song.mp3andsong.lrc) and supported players show scrolling lyrics automatically.
If you downloaded a song and found a small .lrc file next to it, or a tool offered "synced lyrics" as an export, this page explains what you are looking at, how to read and edit it, and what you can build with it. No programming is needed; the format is simple enough to edit by hand.
Every sung track from the lyrics-to-song generator on MusicVivo comes with an .lrc file on every plan, which is why we get asked about it often. Most of this guide applies to LRC files from any source.
Key takeaways
- 01LRC is plain text: one line per lyric line, each starting with [mm:ss.xx].
- 02Optional header tags like [ti:], [ar:] and [offset:] add metadata and global timing correction.
- 03Players find the file by matching the audio's filename; the extension is the only difference.
- 04LRC has start times only; SRT, used for video subtitles, has start and end times.
- 05Drift is usually fixed in seconds with the [offset:] tag, not by retiming every line.
What the format looks like
Open an LRC file in a text editor and you will see something like this:
[ti:Porch Light]
[ar:MusicVivo demo]
[length:03:06]
[00:13.20]I left the porch light on for you
[00:16.55]The bulb is flickering again
[00:19.90]The moths have found it, so have I
[00:23.10]Still waiting at the window, friend
[00:26.80]Porch light, porch light, burning low
[00:30.15]Keep it on so you'll know
Each lyric line begins with a time in square brackets. [00:13.20] means 0 minutes, 13 seconds and 20 hundredths. When playback reaches that moment, the player shows or highlights that line. The line stays current until the next timestamp arrives.
The lines at the top with letters instead of numbers are optional metadata tags. Players that understand them use them; players that do not simply ignore them.
The timestamp, part by part
mm
minutes, two digits
ss
seconds, two digits
.xx
hundredths of a second
1 line
per timestamp
Some files use thousandths ([00:13.200]) and some drop the fraction ([00:13]). Most players accept all three. Hundredths are the most common and give enough precision for line-level display, since a tenth of a second is about the smallest difference anyone notices when reading along.
Two less common features:
- Repeated lines with multiple stamps. A chorus line can carry several timestamps at once:
[00:26.80][01:10.40][02:15.00]Porch light, porch light, burning low. This saves space but not every editor handles it, so many tools write the line out each time instead. - Blank timed lines. A timestamp with no text (
[00:45.00]) clears the display during an instrumental break.
Metadata tags
Header tags sit at the top, each in square brackets with a two- or three-letter key.
| Tag | Meaning | Example |
|---|---|---|
[ti:] | Title | [ti:Porch Light] |
[ar:] | Artist | [ar:Jane Doe] |
[al:] | Album | [al:Demos 2026] |
[au:] | Lyric author | [au:Jane Doe] |
[length:] | Track length | [length:03:06] |
[by:] | Who made the LRC file | [by:MusicVivo] |
[offset:] | Global time shift in milliseconds | [offset:+250] |
The [offset:] tag is the useful one. It shifts every timestamp by the given number of milliseconds. Conventions differ between players on which sign means earlier and which means later, so test it: add [offset:500], play the song, and see whether the lyrics moved the direction you wanted. If they moved the wrong way, flip the sign.
Enhanced LRC: word-by-word timing
Standard LRC times whole lines. An extended variant, often called enhanced LRC or A2 format, adds timestamps inside the line for individual words, written in angle brackets:
[00:13.20]<00:13.20>I <00:13.45>left <00:13.80>the <00:14.00>porch <00:14.50>light
This is what makes karaoke-style highlighting sweep across a line word by word. Support is patchier than for standard LRC; many players simply show the whole line and ignore the word stamps. MusicVivo exports line-timed LRC, which is what nearly every player and editor reads.
Where LRC files are used
| Use | What the LRC does | Notes |
|---|---|---|
| Desktop music players | Scrolling lyrics in time with playback | Many players and plugins load a matching .lrc automatically |
| Karaoke apps | Highlights the current line for singers | Line-timed works everywhere; word-timed needs enhanced LRC support |
| Lyric videos | Source for caption timing | Usually converted to SRT first for video editors |
| Checking phrasing | Shows exactly when each line starts | Gaps between stamps reveal rushed or stretched lines |
| Practice and learning | Lets singers follow along | Useful for learning a new song or language |
| Accessibility | Text alongside audio | Helps listeners who are hard of hearing follow the words |
Lyric videos
Video editors usually want SRT, the subtitle format. Converting is simple because each LRC timestamp becomes an SRT start time, and the next line's timestamp becomes the end time. Several free online converters and editor plugins do this. Once you have the SRT, import it as captions and style it. The video becomes a lyric video with lines that appear exactly when they are sung. For a song you plan to post on a short-form platform, see AI songs for TikTok and Reels for sizing tips.
Checking phrasing in your own lyrics
This is an underused trick for songwriters. After generating a song from your lyrics, look at the gaps between timestamps. In a verse where every line should take about 3.3 seconds, a line that only gets 1.9 seconds was compressed, which usually means it has too many syllables. A line that gets 5 seconds may have been stretched or followed by a long held note.
- Line 13.4 s
- Line 23.3 s
- Line 31.9 s
- Line 43.5 s
Line 3 is the outlier. Trim it and regenerate. Our guide on fixing syllable count so your lyrics fit the melody has seven ways to do that, and how to format lyrics so AI sings them correctly covers the line-break side.
How to use an LRC file with your music player
Match the filenames
Rename the lyric file so it shares the audio's base name exactly: porch-light.mp3 and porch-light.lrc. Capitalization matters on some systems.Keep them in the same folder
Most players look for the .lrc beside the audio file. Some also check a dedicated lyrics folder in their settings.Open the audio in a player with synced lyrics
Look for a lyrics panel or a plugin that mentions LRC. Play the track and the lines should scroll.Adjust sync if needed
Use the player's sync control or add an [offset:] tag to the file and reload.
Streaming platforms work differently: their synced lyrics come from licensed lyric providers, not from files you upload alongside your track. If you distribute a song, the distributor or the lyric service will have its own submission process, and you should follow their instructions rather than assume an LRC file will be used. Our article on whether AI songs can be used on Spotify covers the distribution side in general terms.
Editing and fixing an LRC file
Because it is plain text, you can fix most problems in a few minutes.
Typos in the lyrics. Edit the text after the timestamp. The timing stays the same.
Everything is a little early or late. Add or change [offset:] at the top. Start with 200 to 500 milliseconds and adjust.
One section drifts. This usually happens when the audio has been edited, such as a trimmed intro. Subtract the trimmed time from every stamp after the cut. If you cut 4 seconds from the intro, [00:13.20] becomes [00:09.20]. A spreadsheet or a simple find-and-replace helps for long files.
You want a different song title shown. Change [ti:].
Works
- Edit in a plain text editor and save as UTF-8
- Keep one lyric line per timestamp
- Test offsets with small changes, 200 to 500 ms at a time
- Keep the original LRC as a backup before editing
Doesn't
- Editing in a word processor that adds formatting or smart characters
- Changing the audio file without updating the timestamps
- Deleting the brackets around timestamps
- Saving with a .txt extension; players will not find it
Encoding matters for non-English lyrics
Save LRC files as UTF-8. Older players sometimes assumed a regional encoding, which shows accented or non-Latin characters as garbage. If Spanish accents or Japanese characters look wrong, re-save the file as UTF-8 in your editor.Making your own LRC files from scratch
If you have a song that did not come with one, you can create an LRC file yourself. The manual method is to play the song in a player that shows elapsed time, pause at the start of each line, and type the time and text. A three-minute song with 30 lines takes about 20 minutes. Dedicated LRC editors speed this up: you load the audio and the lyrics, then tap a key at the start of each line as it plays, and the tool writes the timestamps.
For a generated song, you skip this step entirely, since the file is created with the track. If you are writing the lyrics yourself in the first place, our guide on how to turn your lyrics into a song walks through the whole process, and can AI sing my own lyrics explains what affects how natural the result sounds.
Try it
Get a song with synced lyrics included
Paste your lyrics, generate the track, and download the MP3 with a line-timed .lrc file on every plan.
Worked example: from LRC to a lyric video in 15 minutes
Here is the shortest reliable route from a generated song to a lyric video, using nothing more exotic than a free converter and any mainstream video editor.
First, download the MP3 and the .lrc file and put them in one project folder. Open the LRC in a text editor and read it once against the audio. Fix any typos now, because they will be much harder to spot once the text is styled on screen.
Second, convert the LRC to SRT. The converter takes each line's start stamp and uses the next line's stamp as its end time. Check the very last line: it has no following stamp, so many converters give it a default duration of a few seconds. If the song ends with a long held note, extend that last caption by hand so it does not vanish while the singer is still holding the word.
Third, import the audio and the SRT into your editor. Set the video length to the song length. Most editors place each caption automatically on the timeline.
Fourth, style the captions. Large, high-contrast text near the lower third reads well on phones. Keep one line on screen at a time for a karaoke feel, or show the current line bright and the next line dimmed for a sing-along feel.
Fifth, add a background. A still image, a slow pan or a simple color gradient is enough; the lyrics are the content. The 1024×1024 album cover that comes with every track makes an obvious background or opening frame.
Finally, watch it through once at full screen and once on a phone. If captions appear a beat late everywhere, nudge the whole caption track a few frames earlier rather than editing each line.
What to expect from a generated LRC
A line-timed file generated alongside the audio marks when each lyric line starts in that specific render. A few practical consequences follow.
It belongs to one take. If you generate four variations of the same lyric, each has its own melody and its own timing, so each comes with its own LRC. Do not mix the file from take 2 with the audio from take 3.
Line breaks follow your lyric. The file has one timestamp per line you pasted. If you want shorter caption lines for a video, split the lines in your lyric before generating, or split them afterwards and estimate the extra stamps by ear.
Section tags are not sung, so they do not get lines. [Verse] and [Chorus] shape the song but do not appear as lyrics.
Ad-libs and echoes may be grouped with their line. If you wrote "Stay (stay)", the echo usually shares the line's timestamp rather than getting its own.
LRC for learning songs and languages
Synced lyrics are a quiet help for anyone learning to sing a song, or learning a language through songs. Load the track and its LRC into a player that highlights the current line, and you can follow along at full speed, pause on a hard line, and replay it until the phrasing sits. For a bilingual song, an LRC with the original line followed by a translated line under the same timestamp shows both at once in many players. If you are setting up a song in two languages, can AI sing a song in two languages explains how to structure the lyric so the timing stays clean.
LRC versus other timed lyric formats
| Format | Timing | Typical use |
|---|---|---|
| LRC | Start time per line | Music players, karaoke, lyric checking |
| Enhanced LRC | Start time per line and per word | Karaoke word highlighting |
| SRT | Start and end per block, numbered | Video subtitles and captions |
| VTT | Start and end, with styling options | Web video captions |
| TTML | XML with detailed timing and styling | Broadcast, some streaming systems |
If you are making a lyric video for a song you made with AI music for content creators in mind, LRC to SRT is the conversion you will use most.
LRC file troubleshooting
- Same base filename as the audio
- Same folder as the audio
- Extension is .lrc, not .lrc.txt
- Saved as UTF-8
- Timestamps in square brackets
- Offset tested in small steps
- Original file backed up before edits
A short history, and why it survived
LRC appeared in the era of desktop MP3 players, when people wanted lyrics on screen without heavy software. Its strength was that anyone could read and write it in a text editor. That simplicity is why it survived. Newer formats offer styling, positioning and per-word effects, but for the core job, showing the right line at the right time, a plain timestamp and a line of text are still enough.
That simplicity also means the file is easy to repurpose. A songwriter can use it to spot rushed lines. A teacher can turn it into a sing-along slide deck, timing each slide to a stamp; see turning poems into songs for classroom projects for that use. A video editor can convert it to captions. One small text file does all three jobs.
People also ask
What is an LRC file? A plain text file of lyrics with a timestamp like [01:23.45] before each line. Players and karaoke apps use it to show lyrics in time with the audio.
How do I open an LRC file? Any text editor opens it. To see synced lyrics, put it next to the audio with the same base name and play the song in a player that supports LRC.
What is the difference between LRC and SRT? LRC has one start time per line and was made for music players. SRT has start and end times per block and was made for video subtitles.
Why are my synced lyrics out of time? Usually the audio differs from the version the lyrics were timed to, or the player adds a delay. Use the [offset:] tag or the player's sync control.
Related reading
- How to turn your lyrics into a song with AI
- How to format lyrics so AI sings them correctly
- Best lyrics-to-song AI tools compared
- Custom lyrics in Suno vs MusicVivo
- AI music file formats
- How to share a birthday song
Product and company names mentioned in this article are trademarks of their respective owners. MusicVivo is an independent product and is not affiliated with, sponsored or endorsed by any of them. Comparisons are based on publicly available information at the time of writing; check each provider's own site for current features, pricing and terms.