A simple LRC file is a plain UTF-8 text file in which every lyric line is preceded by a bracketed timestamp in the form [mm:ss.xx] — two or three minute digits, two seconds digits from 00 to 59, a period, and two centisecond digits (hundredths of a second) — so that a music player can scroll each line at the correct moment. LRC stands for "lyric," and the de-facto format was popularized by early players such as Winamp and TT Player. To create an LRC file, you enter one lyric line per row, choose a starting timestamp and a fixed number of seconds between lines, optionally add title, artist, and album metadata, preview the complete text, and download a .lrc file locally with the LRC File Generator. The result is a conservative simple subset of LRC that works in many mainstream players and serves as a clean starting point for further fine-tuning.

What an LRC file looks like
Every timed line in a simple LRC file follows the same shape: a bracketed timestamp immediately followed by the lyric text on the same line. A few optional metadata tags may appear before the timed block. The QuickLRC format reference describes this as the canonical simple form, and the independent Subforge parser confirms the centisecond arithmetic: minutes contribute 60,000 milliseconds, seconds contribute 1,000, and the two fractional digits represent centiseconds. The following example shows what a valid simple LRC file looks like.
| Line | Meaning |
|---|---|
| [ti:Song Name] | Optional title metadata |
| [ar:Artist Name] | Optional artist metadata |
| [al:Album Name] | Optional album metadata |
| [00:00.00]First lyric line | First timed lyric |
| [00:05.00]Second lyric line | Second timed lyric |
| [00:10.00]Third lyric line | Third timed lyric |
The generator does not emit hour fields, three-digit milliseconds, word-level angle-bracket timestamps, karaoke duet markers, or player-specific extensions. If a player supports those features, this simple subset will still load; it simply will not use the advanced markup.
Create an LRC file in your browser
Use the LRC File Generator to turn your own lyric text into a downloadable .lrc file in one tab. No lyric text leaves your browser — all parsing, arithmetic, and file assembly happen locally — so you can work with sensitive or unreleased material without uploading it. The interface asks for four kinds of input: the lyrics, a starting timestamp, a fixed interval in seconds, and optional title, artist, and album values.
- Open the generator and enter between 1 and 500 non-empty lyric lines, using exactly one line per row for each display event. Blank rows are removed automatically, and Windows, old Mac, and Unix line endings are normalized.
- Set the first timestamp in MM:SS.xx form. Valid examples include 00:00.00, 09:59.99, 10:00.00, and 123:45.67. The generator supports timestamps through 999:59.99 but does not emit hour fields.
- Enter a fixed interval between 0.01 and 600.00 seconds with no more than two decimal places. The interval is converted to an exact integer number of centiseconds before any rows are produced, so repeated addition does not accumulate binary floating-point drift.
- Optionally fill in title, artist, and album. Each value is trimmed, limited to 120 characters, and cannot contain square brackets or control characters, preventing one field from injecting an extra LRC tag or line. Empty fields are omitted.
- Read the preview, which shows the complete untruncated text that will be saved. The first and last timestamps are visible, and any edit to the inputs clears the previous preview so you cannot mistake stale output for the current result.
- Click Download to save a UTF-8 .lrc file with no byte-order mark. The filename is derived from the title when available; unsafe punctuation becomes hyphens, and a blank title yields synced-lyrics.lrc.
- Open the file beside the actual recording and retime individual lines in a dedicated LRC editor to match real vocal timing.
How the timestamp arithmetic works
Each line after the first receives the starting timestamp plus the interval multiplied by its line index, all done in integer centiseconds so the result is exact. For a starting timestamp of 00:12.34 and an interval of 2.50 seconds, line one receives 00:12.34, line two receives 00:14.84, and line three receives 00:17.34 — a 2.50-second gap expressed as 250 centiseconds added cleanly each time. If the calculated final timestamp would exceed 999:59.99, generation fails and nothing is silently truncated, so you always see either a complete file or a clear error. The preview shows the exact text that Download will write, and a single source of truth means the preview cannot disagree with the saved file.
| Input | Effect on output |
|---|---|
| Lyric line text | Preserved exactly, including spelling, punctuation, capitalization, language, and copyright notices |
| Blank row | Removed before generation |
| Control character | Rejected rather than inserted into the file |
| Title, artist, album | Emitted as ti, ar, and al tags only; empty fields are omitted |
| Bracket character in metadata | Rejected so a metadata value cannot inject an extra tag |
Metadata tags explained
Simple LRC supports a handful of identification tags at the top of the file. The generator exposes only three: title becomes [ti:value], artist becomes [ar:value], and album becomes [al:value]. Each metadata line is followed by a blank separator so the timed lyrics read clearly, but the timed rows themselves are ordinary plain text without any wrapper. Players that recognize these tags display the value in their song info panel; players that do not recognize them simply skip the line. Because the allowed metadata is deliberately narrow, you cannot accidentally emit tags such as [by:editor] or [offset:+0] from this page — those remain the responsibility of a dedicated editor later in your workflow.
Testing and fine-tuning the file
Different music players support different slices of the LRC family. Some accept long minute values, some expect two-digit milliseconds, some normalize encoding, and a few recognize enhanced word-level extensions that this generator does not emit. After downloading, load the file in your target player alongside the exact recording and watch the scroll behavior. Most desktop and mobile players parse the simple subset reliably, but you should always verify the file in the environment where it will actually be used. Because the generator only assigns a fixed centisecond interval, real vocal timing will rarely match the draft — singers pause, stretch vowels, and rush sections. Treat the downloaded file as a structural starting point, then open it in an editor that supports per-line timestamp nudges and dial in each line against the waveform of the actual recording.
Why a fixed interval is just a draft
The LRC File Generator does not listen to audio, detect speech, transcribe lyrics, align phonemes, identify beats, or estimate performance timing. It accepts a regular interval because that is the cleanest way to produce a deterministic, predictable draft without any audio analysis — every line is offset from the previous line by the same number of centiseconds, which means the file can be regenerated exactly and the preview cannot drift from the download. Real performances vary in pace, so a fixed interval will look roughly right at best. Once you have the structure in place, switch to a dedicated LRC editor and adjust individual timestamps against the real recording. This two-step workflow — deterministic generation followed by manual retiming — is the most reliable way to ship synced lyrics without introducing silent arithmetic bugs into a file that players will parse.
Practical limits to keep in mind
The generator accepts up to 500 non-empty lyric lines and 50,000 input characters overall, with no single line longer than 500 characters. Lyric text is preserved verbatim, so any trimming, translation, or copyright notice belongs in your source material rather than in the generator. All metadata values are capped at 120 characters and stripped of square brackets and control characters. You must have permission to reproduce and distribute any lyric text you enter; the tool does not search a catalog, identify a song, confirm ownership, or grant a synchronization license. With those boundaries respected, the workflow stays simple: paste your text, choose a start time and interval, optionally add tags, preview, download, and retime in a dedicated editor before publishing.