Go to EasyLRC Tool Website
EasyLRC is a web-based lyric processing tool designed to provide an intuitive and feature-rich LRC creation platform for creating, editing, and synchronizing lyric timestamps. It supports widely adopted LRC standards and is compatible with non-industry standard syntax. It integrates audio playback with synchronized preview functionality and supports parsing and exporting metadata, allowing users to easily create and modify lyric files.
- Modern UI: Features a modern, neumorphic UI with a lightweight and clean design, flexible layout, and mobile device compatibility.
- Global Parameters Panel: Unified control panel for processing mode and character-by-character options.
- Processing Mode Switch: Supports both line-by-line and character-by-character timestamp marking. Hotkeys adapt their behavior automatically to the selected mode.
- Character-by-Character Enhancements: In char mode, two auxiliary options are available — auto-skip spaces and English word mode. When word mode is enabled, a single
Spacemarks the entire word at once instead of marking one letter at a time. - Lyric Parsing and Editing: Supports parsing standard and non-standard LRC syntax, allowing users to directly edit lyric content.
- Timestamp Editing: Supports marking timestamps by playing audio, and also allows direct editing of timestamps. Time adjustments and audio validation synchronize with character-level timestamps.
- Convenient Parsing: Supports dragging files into the window for parsing, and also supports batch parsing, allowing simultaneous selection of lyrics and audio for parsing.
- Optimized Data Parsing: Intelligently recognizes LRC syntax (including some non-standard syntax) and intelligently identifies file types.
- Multi-data Parsing: Supports parsing bilingual lyrics (e.g., Chinese and English), and supports parsing and exporting metadata (e.g., song title, artist, album, etc., including parsing incorrectly timestamped metadata).
- Lyric Preview: Built-in synchronized player supports real-time preview of lyric progress to ensure synchronization with audio. In char mode, line switching is guaranteed to wait for the last valid character timestamp — not the next line's row-level timestamp.
- Timestamp Synchronization: Supports adjusting overall lyric timestamps to ensure perfect synchronization between lyrics and audio. Adjustments apply to all character-level timestamps as well.
- Audio Data Validation: Supports analyzing audio data to validate and optimize lyric timestamps for better synchronization. Both validation and undo paths fully preserve character timestamps.
- Hotkey Control: Supports controlling timestamp marking, audio progress, and playback events via hotkeys. Backspace (Alt+B / ArrowUp) in char mode also removes the last marked character/word.
- Multi-language Support: Interface and prompt messages support Chinese (Simplified), Chinese (Traditional), and English. Button labels (Prev Char / Prev Word / Next Char / Next Word) update automatically with the selected mode.
- Theme Switching: Supports light and dark themes, providing a personalized visual experience.
- Open File:
ALT + O - Mark Timestamp:
Space - Play/Pause:
ALT + Enter - Forward 2 seconds:
N - Rewind 2 seconds:
B - Toggle left panel:
ALT+M - Adjust current lyric time (left -200ms):
Left Arrow - Adjust current lyric time (right +200ms):
Right Arrow
- Previous Lyric Line:
ALT + BorArrowUp - Next Lyric Line:
ALT + NorArrowDown
In char mode, Alt+B / ArrowUp also removes the timestamp of the previous character (or word) before backing up the cursor. When the entire line is cleared, the cursor automatically jumps to the end of the previous line to continue. The Previous / Next buttons in the control panel always perform row-level navigation; dedicated Prev Char / Next Char buttons handle character-level navigation.
- Back One Char (with undo):
ALT + BorArrowUp - Forward One Char:
ALT + NorArrowDown - Previous / Next (row-level, no undo): Control panel buttons only
[00:00.00] This is the first line of lyrics
[00:01.00] This is the second line of lyrics
[00:00.00] 这是第一行
[00:00.00] Is first line
[00:00.00] 这是第一行 / Is first line
[00:01.00] 这是第二行 / Is second line
[00:30.20]<00:30.20>这<00:30.50>是<00:30.80>第<00:31.40>一<00:31.70>行<00:32.00>
[00:32.20]<00:32.20>这<00:32.50>是<00:32.80>第<00:33.40>二<00:33.70>行<00:33.00>
[ar:Artist]
[ti:Song Title]
[al:Album Name]
[by:Lyric Creator/Editor]
[offset:Time Offset (milliseconds)]
[length:Total Song Duration]
[au:Singer (detailed)]
[re:Arranger]
[ve:Version Information]
[composer:Composer]
[lyricist:Lyricist]
[translator:Translator (bilingual scenario)]
[language:Lyric Language]- Upload Files: Drag and drop lyric and audio files into the interface, or use
ALT + Oto open the file selector. - Edit Lyrics: Modify lyric content directly in the editor.
- Mark Timestamps: Play the audio and press
Spaceto mark timestamps for each lyric line. - Preview: Use the built-in player to preview the synchronized lyrics.
- Validate: Click "Audio Data Validation Time" to automatically validate and optimize timestamps.
- Export: Copy the processed lyrics or download them as an LRC file.
EasyLRC is a web-based application that requires no complex installation steps. You can run it in the following ways:
-
Directly open
index.html:- Clone or download this project to your local computer.
- Directly open the
index.htmlfile in the project root directory in your browser.
-
Run via a local server (recommended):
- For the best experience and to avoid potential browser security restrictions (e.g., certain API limitations under the file protocol), it is recommended to run it via a local web server.
- You can use any simple HTTP server, such as Python's
http.servermodule:cd /path/to/EasyLRC python -m http.server 8000 - Then visit
http://localhost:8000in your browser.
Contributions to this project are welcome! If you have any suggestions, bug reports, or feature requests, feel free to submit an Issue or Pull Request.
This project is open-sourced under the MIT License. Please refer to the LICENSE file for details.
This project initially received inspiration from the lrc_editor project. I would like to express my gratitude to this project for providing me with the inspiration and ideas that helped me develop this project.
Thanks to @hetai9z for their suggestion, which helped me improve and optimize the project in version 26.3.18. Thanks to @JavaCoffeePro for their suggestion, which helped me improve and optimize the project in version 26.9.08.
