An LRC file generator on Mac is a browser-based utility that creates synchronized lyric files locally inside your Safari or Chrome tab, with no install and no upload to any server. The tool reads one lyric line per row, pairs each line with a fixed centisecond timestamp, and emits a simple .lrc text file that Mac music players can parse to scroll lyrics in time with the track. Because every calculation runs in the browser tab, your lyrics and timing choices stay on your machine, and the file you download is built from the exact preview you see on screen. That is the practical answer for Mac users who want synced lyrics without buying or installing a dedicated macOS app.
Mac users who need an LRC file usually fall into two groups: those who already have the lyric text written down and want to attach timestamps, and those who want to prepare a synced-lyrics companion for a local audio file that the macOS Music app or a third-party player like VLC, IINA, or Foobar2000 can pick up. The LRC File Generator handles the first step — turning plain text and a chosen interval into a valid .lrc — and leaves vocal-specific retiming for you to do in a dedicated editor while the song plays. This split keeps the tool honest about what a fixed interval can and cannot do for a real vocal performance.

Running the LRC File Generator on macOS
Open Safari, Chrome, or any modern browser on your Mac and navigate to the LRC File Generator. The page loads a single form: a large text area for lyrics, a starting timestamp field, an interval field, three optional metadata fields, a Generate button, a preview pane, and a Download button. There is nothing to install, no extension to add, and no system permission to grant. Because every part of the generator runs inside the tab, the page works on any Mac running a current version of macOS — including Apple silicon and Intel machines — as long as the browser is reasonably up to date.
The download step produces a standard .lrc file that Quick Look in Finder will recognise, and that you can open with TextEdit, BBEdit, VS Code, or any plain-text editor when you need to retime individual lines. Because there is no companion server doing the work, a flaky hotel Wi-Fi connection does not interrupt generation — once the page is loaded, every operation completes in your Mac.
Browser and system choices that matter
- Safari and Chrome handle the download object URL the same way; the file lands in your default Downloads folder unless you choose a different destination in the browser's save dialog.
- The downloaded file is UTF-8 plain text with no byte-order mark, which matches the de-facto convention documented by QuickLRC's LRC format reference.
- If you set a Title, the filename uses a hyphenated version of that title; without a title, the saved file is named synced-lyrics.lrc, so you can rename it in Finder after the fact.
Entering Lyric Lines and Timing on Mac
Type or paste one lyric line per row into the lyrics box. Up to 500 non-empty lines and 50,000 characters are accepted, with no more than 500 characters on a single line. Windows-style line endings from a clipboard paste are normalised before generation, so it does not matter whether the source was edited in TextEdit, Windows Notepad, or a web page. Blank rows are removed automatically, and control characters that some players interpret inconsistently are rejected rather than written into the file. The generator does not change spelling, punctuation, capitalization, language, or any embedded copyright notice inside the lyric text itself.
The start timestamp uses the simple-LRC bracket form: two or three minute digits, two second digits from 00 to 59, a period, and exactly two centisecond digits. Valid examples include 00:00.00, 09:59.99, 10:00.00, and 123:45.67. The generator supports values through 999:59.99, so even long tracks and live recordings fit inside the supported range.
The interval field accepts 0.01 through 600.00 seconds with at most two decimal places. Internally, that value is converted to an integer number of centiseconds before any rows are produced, so the addition does not accumulate floating-point drift across hundreds of lines. If the final calculated timestamp would exceed 999:59.99, generation fails outright rather than silently truncating the last few lyrics, which protects you from publishing a file that drops lines at the end.
| Field | Format | Notes for Mac users |
|---|---|---|
| First timestamp | MM:SS.xx (2–3 minute digits) | Seconds 00–59, two centisecond digits; range up to 999:59.99 |
| Interval | Decimal seconds (0.01–600.00) | No more than two decimal places; converted to whole centiseconds |
| Title (optional) | Plain text, ≤ 120 chars | Emits [ti:value]; brackets and control characters rejected |
| Artist (optional) | Plain text, ≤ 120 chars | Emits [ar:value]; trimmed before use |
| Album (optional) | Plain text, ≤ 120 chars | Emits [al:value]; empty values are omitted |
| Lyrics | One line per display event | Up to 500 non-empty rows, 50,000 chars total |
Optional metadata: ti, ar, and al
Each metadata field is trimmed, capped at 120 characters, and rejected if it contains square brackets or control characters — a safeguard that prevents one field from injecting an extra tag or extra line into the output. Empty fields are omitted from the file entirely, so a Title-only file looks like a small header followed by a blank line and the timed lyrics. As QuickLRC documents, the simple LRC family accepts a small set of metadata tags, and the generator deliberately limits itself to the three most widely read ones rather than claiming to cover every player-specific extension.
Generating the LRC Text and Downloading Locally
- Paste your lyrics into the text area, one line per display event.
- Type the start timestamp, such as 00:12.34, into the first-timestamp field.
- Type the interval, such as 2.50, into the interval field.
- Optionally fill in Title, Artist, and Album if you want the resulting file to carry those metadata tags.
- Click Generate. The complete file appears in the preview pane, including any metadata header and every timed lyric row.
- Read the first and last timestamps in the preview to confirm the file spans the range you expect.
- Click Download. Safari and Chrome save the file with an .lrc extension into your Downloads folder; the filename is derived from the Title (with unsafe punctuation replaced by hyphens) or falls back to synced-lyrics.lrc.
Editing any input — lyrics, timestamp, interval, or any metadata field — clears the previous preview so the text on screen always reflects the current state of the form. The download step writes the exact preview string; nothing is silently trimmed, re-encoded, or rewritten on the way to disk. The temporary download object URL is revoked after the download completes and again when the page is closed, so an older file cannot remain presented as the result of newer text.
A worked example
With a start of 00:12.34 and an interval of 2.50 seconds, the first three timed lines the generator emits are [00:12.34]Line one, [00:14.84]Line two, and [00:17.34]Line three. The arithmetic behind that is 12.34 + (2 × 2.50) = 17.34 centisecond-precise, with no floating-point drift because the interval is converted to 250 centiseconds and added as an integer. The independent Subforge LRC time implementation confirms the same weighting: minutes contribute sixty thousand milliseconds, seconds contribute one thousand, and two fractional digits represent centiseconds.
Testing and Retiming the LRC File in Mac Players
The generated file is a draft, not a finished performance. Open it next to the exact recording in your music player — the macOS Music app, VLC, IINA, or Foobar2000 — and watch how each line lands against the vocals. Real singing rarely begins at perfectly equal spacing, so a fixed interval almost always needs at least a few nudges before the lyrics feel natural.
Open the .lrc file in TextEdit (set the mode to "Make Plain Text"), BBEdit, or VS Code. Each line is independent: you can adjust a single bracket timestamp and save the file without touching anything else. If your player supports extended LRC features, remember that this generator does not emit word-level angle-bracket timestamps, karaoke duet markers, hour fields, colon-separated frames, or three-digit milliseconds, so any custom tag your player expects must be added manually.
| Supported by the generator | Not supported (add manually if your player needs it) |
|---|---|
| [mm:ss.xx] line timestamps | Hour field at the start of the bracket |
| Optional [ti:], [ar:], [al:] metadata | Word-level <00:00.00> angle-bracket timestamps |
| UTF-8 text without a byte-order mark | Karaoke duet markers and syllable timing |
| Filenames derived from Title or synced-lyrics.lrc | Three-digit millisecond timestamps |
| Up to 500 non-empty lyric lines | Player-specific extensions or custom tags |
Because different players parse the same .lrc file differently — metadata coverage, timestamp precision, long minute values, and enhanced-LRC features all vary — test the file in the actual player your audience will use before distributing it. The de-facto format used here is intentionally narrow, and any compatibility beyond the simple subset remains the responsibility of the player and the workflow you choose later.
macOS-Specific Notes for an LRC File Generator Workflow
A few Mac details are worth keeping in mind even though the generator is platform-neutral.
- Where the file lands. Safari and Chrome both default to the Downloads folder unless you have changed that setting. Use Finder's Go → Downloads command, or look in the Dock's Downloads stack, to locate the file after clicking Download.
- Quick Look. Pressing Space on the .lrc file in Finder opens a text preview but does not parse timestamps; the file's structure is still visible and editable in TextEdit or any code editor.
- Filename safety. The generator strips characters that are unsafe in macOS filenames and replaces them with hyphens. You can rename the file in Finder afterwards without breaking the .lrc extension.
- Encoding. The download is plain UTF-8 with no byte-order mark, matching what most Mac players expect. If you edit the file in TextEdit, save it as Plain Text with UTF-8 encoding to preserve the byte stream.
- Privacy. Lyric text never leaves the browser tab. There is no upload, no account, and no AI service involved — every line, timestamp, and metadata value is processed locally on your Mac.
For a workflow that walks through plain text to timed output more slowly, the guide Create an LRC File from Text covers the same tool with a slightly different reader task. Once your draft file is ready and you have tested it in your Mac player, retime any lines that drift and save the result in place — the file format is small enough that all of this fits comfortably inside a single browser tab and a single text-editor window on your Mac.
If you're weighing options, Volume Changer on Mac: Adjust Audio Files in Safari covers this in detail.