Free LRC Lyrics Editor
Paste or open an LRC file to check its timings, shift the lyrics into sync, or convert them to SRT or plain text.
What is a LRC Lyrics Editor?
LRC is the plain-text format for synced lyrics: a timestamp such as [00:12.40] before each line tells a player when to highlight it. This editor checks LRC files, applies their offset tag, shifts them into sync, and converts them to SRT subtitles or plain lyrics.
It reads every part of the format: ID tags such as [ti:] and [ar:], several timestamps on one line for a repeated chorus, the [offset:] tag, and enhanced LRC word timings in angle brackets. Each problem it finds, from an untimed line to a timestamp with 75 seconds, comes with the line number to fix.
Key Features
Timing Check
Untimed lines, unreadable timestamps, lines out of order and lines sharing a time.
Offset Applied
The [offset:] tag is baked into the timestamps, so every player shows the same timing.
Shift to Sync
Move every line earlier or later in seconds or milliseconds.
Normalised LRC
One timestamp per line, sorted by time, with repeated choruses written out.
SRT and Plain Text
Lyrics as subtitles for a lyric video, or as plain text without timestamps.
Perfect for everyone
- Musicians
- Karaoke makers
- Music library organisers and lyric video editors
How to Use the LRC Lyrics Editor
Paste LRC lyrics or open an .lrc file. Every view comes from the same reading of the file, and the offset tag and any shift you type are applied to all of them.
Open the Lyrics
Paste LRC text or open the .lrc file next to your song.
Read the Check
Fix any line the check names, such as one with no timestamp.
Shift if Needed
Type -0.5 if lyrics show late, or +0.5 if they show early.
Save the Result
Download clean LRC, SRT subtitles or plain lyrics.
LRC Files, Checked and Converted
Each row is an LRC file of the kind music players and karaoke apps read, from a tagged song with a repeated chorus to a rough draft. Rows with a shift give it after the three dashes. Each answer is what this tool returns in the mode on the chip.
“[ti:Paper Lanterns] [ar:The Night Ferries] [al:Harbour Lights] [length:03:12] [offset:+250] [00:12.40]We folded every promise into paper [00:17.85]And set them on the water after dark [00:23.10][01:18.60]Paper lanterns, paper lanterns [00:27.90][01:23.40]Carry what we couldn't say [00:33.00] [00:45.20]You said the tide would bring them back by morning [00:51.05]I watched the river swallow every spark ”
“[ti:Paper Lanterns] [ar:The Night Ferries] [al:Harbour Lights] [length:03:12] [offset:+250] [00:12.40]We folded every promise into paper [00:17.85]And set them on the water after dark [00:23.10][01:18.60]Paper lanterns, paper lanterns [00:27.90][01:23.40]Carry what we couldn't say [00:33.00] [00:45.20]You said the tide would bring them back by morning [00:51.05]I watched the river swallow every spark ”
“[ti:Paper Lanterns] [ar:The Night Ferries] [al:Harbour Lights] [length:03:12] [offset:+250] [00:12.40]We folded every promise into paper [00:17.85]And set them on the water after dark [00:23.10][01:18.60]Paper lanterns, paper lanterns [00:27.90][01:23.40]Carry what we couldn't say [00:33.00] [00:45.20]You said the tide would bring them back by morning [00:51.05]I watched the river swallow every spark --- -1.5”
“[ti:Draft] [00:10.00]First line [00:08.50]Second line Third line has no time [00:75.00]Bad seconds ”
“[ti:Paper Lanterns] [00:12.40]<00:12.40>We <00:12.80>folded <00:13.40>every <00:14.10>promise [00:17.85]<00:17.85>And <00:18.20>set <00:18.60>them <00:19.00>on <00:19.30>the <00:19.60>water ”
“[ti:Paper Lanterns] [00:12.40]<00:12.40>We <00:12.80>folded <00:13.40>every <00:14.10>promise [00:17.85]<00:17.85>And <00:18.20>set <00:18.60>them <00:19.00>on <00:19.30>the <00:19.60>water ”
“[ti:Short Song] [length:01:30] [00:20.00]First verse [01:10.00]Last chorus [01:42.00]Outro after the end ”
“[00:05.00]Intro line [00:09.00]Verse one --- +2”
“[ar:Unknown] [offset:+300] [00:00.10]Count in [00:04.00]Here we go ”
“[00:30.00]Same moment [00:30.00]Same moment again ”
LRC ID Tags
ID tags sit at the top of an LRC file in square brackets, one per line. Players use them to match lyrics to a track and to adjust timing. These are the tags in common use and what each one does.
[ti:]
The song title, used to match the lyrics to the track.
“Which tag holds the title?”
[ar:]
The performing artist.
“What does ar stand for?”
[al:]
The album the song appears on.
“Which tag names the album?”
[au:]
The songwriter, credited separately from the artist.
“Who does au credit?”
[lr:]
The lyricist, when the words have their own writer.
“Who does lr credit?”
[by:]
The person who made the LRC file.
“Who does by credit?”
[length:]
The song’s length as mm:ss, used to check lyrics fit the track.
“What format does length use?”
[offset:]
Milliseconds to adjust every line. Positive values show lyrics sooner.
“What does [offset:+500] do?”
[re:] and [ve:]
The program that made the file and its version.
“What does re record?”
How LRC Timestamps Work
A timestamp is minutes and seconds in square brackets, with hundredths after a full stop. That simple rule has a few variations that players handle differently, so it helps to know them when lyrics show up at the wrong moment or not at all.
Minutes and Seconds
[03:07.25] means 3 minutes, 7.25 seconds. Seconds run from 00 to 59.
Hundredths or Thousandths
Most files use two digits after the full stop. Some write three, which is read as milliseconds.
Repeated Lines
[00:23.10][01:18.60] puts one chorus line at two moments without writing it twice.
Blank Timed Lines
A timestamp with no words clears the display, marking an instrumental break.
Word Timings
Enhanced LRC adds <mm:ss.xx> before each word, so karaoke players can highlight word by word.
Where LRC Files Work
LRC is old and simple, which is why so much software still reads it. Most players look for an .lrc file with the same name as the audio file, in the same folder, and show its lyrics in time with the music.
Desktop Players
MusicBee and foobar2000 can show synced lyrics from .lrc files.
Android
Poweramp and other local music players read .lrc files beside the songs.
Media Servers
Jellyfin and Navidrome serve .lrc lyrics to their apps.
Karaoke
Word-timed LRC drives karaoke highlighting in apps that support it.
Lyric Videos
Convert LRC to SRT to place timed lyrics in a video editor.
When to Use an LRC Editor
Whenever synced lyrics drift, a player rejects a file, or you need the same lyrics in a different format for a video, a karaoke night or a printout for the band.
Fixing Drift
Shift lyrics that run ahead of or behind a different version of the song.
Library Cleanup
Check downloaded .lrc files before adding them to a music server.
Lyric Videos
Turn LRC into SRT for an editor, with each line ending when the next starts.
Printing Lyrics
Get plain lyrics without timestamps for a songbook or a setlist.
Writing LRC
Check a hand-timed file before sharing it.
Timing Lyrics by Hand
Most LRC files start as plain lyrics that someone timed while listening. A few habits make hand-timed files land on the beat in every player, and make them much easier to correct later when a different version of the song turns up.
Time the First Syllable
Stamp each line when its first sung syllable starts, not when the bar starts.
Lead Slightly
Many timers set lines 0.1 to 0.3 seconds early so readers are ready to sing.
Mark the Breaks
Add a blank timed line at long instrumentals so old lyrics don’t linger.
Use the Song’s Version
Note the album or edit in the tags, since timings rarely match another version.
Check the End
Compare the last timestamp with the [length:] tag to catch a mismatched file.
LRC Pitfalls
Mistakes that make lyrics appear at the wrong time, or not at all, in one player while looking fine in another, which makes them hard to spot by eye.
Offset Direction
A positive [offset:] makes lyrics appear sooner, which is the opposite of what many expect.
Players Ignoring Offset
Some players skip the offset tag. Baking it into the timestamps avoids that.
Mismatched Versions
Lyrics timed to a radio edit drift on the album version.
Seconds Over 59
[00:75.00] isn’t valid. Write [01:15.00] instead.
File Names
The .lrc file must match the audio file’s name for most players to find it.
Encoding
Save LRC files as UTF-8 so accented and non-Latin lyrics display correctly.