Turn SRT subtitles into LRC lyrics timing format in seconds—upload your SRT, convert to LRC, then download the new file.
SRT (SubRip) is a video-subtitle format: each cue has a sequential number, a start-to-end timecode range like 00:01:23,456 --> 00:01:27,000, and one or more lines of text. LRC is a synced-lyrics format read by music players and karaoke apps, where every line carries a single [mm:ss.xx] start tag and no end time. Converting SRT to LRC turns timed captions — song transcriptions, karaoke cues, or lyric subtitles pulled from a music video — into a sidecar lyrics file that players like Foobar2000, MusicBee, AIMP, Poweramp, and Jellyfin can scroll in time with the audio. The conversion runs entirely in your browser; nothing is uploaded to a server.
.srt file, click "Upload .srt", or paste the subtitle text straight into the input box. Batch drops are supported — every file is converted locally in your browser.[mm:ss.xx] line tag, and the cue text is placed after it.SRT and LRC both store timed text, but LRC's grammar is simpler: one start tag per line, no ranges, no cue numbers. The converter maps across what it can and drops what LRC has no place for.
| SRT element | What happens in the LRC output |
|---|---|
Cue start time (00:01:23,456) |
Becomes the line tag [01:23.46] — the anchor LRC uses |
| Cue end time | Dropped — LRC has no end tag; a line shows until the next line's timestamp |
Millisecond precision (,456, 3 digits) |
Rounded to hundredths of a second (.46, 2 digits) |
Hours field (01:xx:xx) |
Folded into minutes — 01:05:00 becomes [65:00.00] (LRC has no hours field) |
| Multi-line cue text | Flattened onto a single lyric line |
| Sequential cue numbers | Removed — LRC lines are ordered by timestamp only |
Inline tags (<i>, <b>, <font>) |
Passed through as literal text; most lyric players show them raw, so strip them first for clean lines |
| Property | SRT (SubRip) | LRC (Lyrics) |
|---|---|---|
| Purpose | Video subtitles / captions | Synced lyrics for music players |
| First released | SubRip tool, 2000 | Lyrics Displayer, 1998 |
| Timestamp | HH:MM:SS,mmm range with --> |
[mm:ss.xx] single start tag |
| Has end times | Yes — start and end per cue | No — line runs until the next tag |
| Precision | Milliseconds (thousandths) | Hundredths of a second |
| Text per entry | One or more lines | One line per tag |
| Metadata | None (plain cues) | [ti:] [ar:] [al:] [by:] [offset:] ID tags |
| Word-level timing | No | Enhanced LRC (A2): <mm:ss.xx> per word |
| Read by | VLC, MPV, Premiere, YouTube, Plex video | Foobar2000+ESLyric, MusicBee, AIMP, Poweramp, Jellyfin, Plexamp |
| Best for | Movies, TV, social-video captions | Song lyrics in an offline music library |
song.lrc with song.mp3 in the same folder so MusicBee, Foobar2000 (with ESLyric), AIMP, or Kodi scroll the lyrics as the track plays..lrc sidecars; they ignore .srt..lrc lyrics but treat .srt as a video subtitle, not song text.If your target is a video player instead — VLC, a smart TV, or a YouTube upload — keep the subtitle or convert it to WebVTT; a music-format LRC won't load as a subtitle track. To go the other way, use the LRC to SRT converter.
Yes, as long as the SRT was timed against the same audio. Each SRT cue's start time becomes the LRC line timestamp, so lines appear at the same moment they did as subtitles. The one visible difference is that LRC has no end times — a line stays on screen until the next line's timestamp instead of disappearing at the SRT cue's end. For continuous lyrics that's usually what you want; for captions with long silent gaps, the previous line simply lingers until the next one starts.
LRC allows only one line of text per [mm:ss.xx] tag, so a subtitle cue that spanned two or three lines is joined into a single lyric line. This matches how music players render lyrics — one highlighted line at a time. If you need the lines split, add a new [mm:ss.xx] tag before each in a text editor after conversion and nudge the timing to taste.
They're intentionally dropped. SRT cues define both when a subtitle appears and when it disappears; LRC records only when a line starts. In an LRC file a line is shown until the next timestamp is reached, so there is nowhere to store an explicit end time. This is a fundamental difference between a subtitle format and a synced-lyrics format, not a converter limitation.
Offline players with LRC support include Foobar2000 (with the ESLyric plugin), MusicBee, AIMP, and Kodi on desktop; Poweramp, Musicolet, and Pulsar on Android; and self-hosted Jellyfin and Plexamp. Place the .lrc next to the audio file with the same base name — track.mp3 and track.lrc in one folder — so the player auto-loads it. Spotify and Apple Music use proprietary lyric systems and will not read a user-supplied .lrc.
SRT stores time to the millisecond (three digits after the comma); standard LRC stores hundredths of a second (two digits after the dot). The converter rounds each start time to the nearest hundredth, so 00:00:12,456 becomes [00:12.46]. A sub-10-millisecond difference is inaudible for lyric display, and every LRC player expects the two-digit form.
No, they're correct for LRC. LRC has no hours field, so an SRT time of 01:05:30,000 is written as [65:30.00] — 65 minutes. Foobar2000, MusicBee, AIMP, and other mainstream players parse minute values above 59 without complaint. If a specific player misbehaves on very long files, splitting the lyrics into per-track LRC files keeps every timestamp under an hour.
The conversion produces the timed lyric lines; LRC ID tags such as [ti:Song Title], [ar:Artist], [al:Album], and [by:] are optional metadata you add at the top afterward in any text editor. Some players read these to label the lyrics panel, and tag editors like Mp3tag can copy them from the paired audio file's ID3 tags. An [offset:+500] tag shifts every line 0.5 seconds later if the whole file drifts against the music.
No. This SRT-to-LRC converter runs entirely in your browser — the file is parsed and rewritten with client-side JavaScript, so nothing is uploaded, stored, or shared. That matters if your lyrics are unreleased or copyright-restricted. In our testing, a 40-cue SRT with two-line captions produced a 40-line LRC in which every timestamp matched the cue's start time and the two caption lines were joined with a single space.