Paste a song. Sit back. Sing along.
A TV-style synced lyrics player for YouTube songs and playlists, made for the big screen.
- 📺 Made for the Big Screen: Blurred cover art fills the background, the cover and title sit on the left, and the lyrics play on the right. The cursor hides itself when you stop moving the mouse.
- 🎤 Synced Lyrics: The current line lights up and the lines around it fade back, with dots during intros and breaks. Click any line to jump to it.
- 📜 Plain Lyrics, Too: When a song only has unsynced lyrics, they scroll along slowly with the song instead.
- 🔍 Search or Paste: Search a song, or paste any youtube.com, youtu.be or music.youtube.com link. A playlist link plays the whole playlist. ⌘K opens search anywhere.
- 🎬 Song / Video Switch: Press V to switch between the song and its official music video, like on YouTube Music. Playback carries on at the same lyric line, even when the video has a longer intro or extra breaks.
- 🖼️ Real Album Art: Covers come from iTunes and prefer the original release over remixes, so you see the album cover, not a video still.
- 💾 Saved Favorites: Keep your favorite songs and playlists on the home page and start one with a single click. Press S while playing to save it, or paste a link into the + card. They're stored in your browser only.
- 🌌 Living Background: The blurred cover drifts and breathes while soft patches of it flow across the screen, with a wandering light and fine film grain. It's built to stay smooth on 4K TVs. Press E for a still background.
- 🧑🎤 Artist Pages: Click the artist name to see their top songs, albums and singles on a page you can share. The song keeps playing while you browse, and "Back to lyrics" takes you right back.
- 📃 Queue & Up Next: Press Q to open the queue and jump to any track. An "Up next" card shows up near the end of each song.
- ⏯️ Seekable Progress Bar: Click or drag the progress bar to seek.
- ⌨️ Keyboard Only: No buttons on screen. Everything has a shortcut.
- 🔑 No Account, No Keys: Nothing to sign up for, and no API keys to set up.
| Key | Action |
|---|---|
⌘K / Ctrl K / / |
Search, or paste a link |
Space / K |
Play / pause |
← → |
Seek 5 seconds |
J |
Seek back 10 seconds |
L |
Loop the current song on / off |
↑ ↓ |
Volume up / down |
N / P |
Next / previous track |
V |
Switch between song and music video |
Q |
Open the queue (playlists) |
R |
Shuffle on / off (playlists) |
S |
Save / unsave the song or playlist to the home page |
E |
Turn background effects on / off |
[ ] |
Move the lyrics 0.25s earlier / later |
F |
Fullscreen |
Esc |
Close the queue, or go back home |
- Framework: Next.js 16 (App Router)
- Runtime & View Library: React 19
- Styling: Tailwind CSS v4
- Animation: Motion
- Type Safety: TypeScript
- Playback: YouTube IFrame Player API
- Lyrics: LRCLIB, then lrc.red, then datlrc
- Album Art: iTunes Search API
- Testing: Vitest
- Fonts: Geist, self-hosted
- Songs play in YouTube's own embedded player, which stays hidden unless you switch to the music video.
- Playlists are only used to read the track list. Each track then plays on its own, so any track can play as its song or its video.
- Videos the owner doesn't allow outside YouTube are skipped in playlists.
- Lyrics come from LRCLIB, matched by artist, title and the length of the upload that's playing. When LRCLIB has no synced lyrics, lrc.red is asked next, then datlrc.
- Songs nobody has synced are sent to datlrc's "Needs lyrics" list, so someone can sync them. To use datlrc, set
LYRICS_API=https://<datlrc host>/apiandLYRICS_API_KEY; setCONTACT_EMAILtoo, which lrc.red's terms ask for. - A music video often has a different timeline from the album audio. LRCLIB sometimes has the album timing filed under the video's length, so timings that clearly belong to a different-length upload are ranked down.
- To switch between the song and the video, the two lyric files are aligned line by line. That keeps playback on the right line, even on hooks that repeat dozens of times.
- The other version comes from YouTube Music's own search, which keeps songs and music videos apart.
- Only uploads credited to the artist count, and covers, live versions, remixes, sped-up edits and fan uploads are skipped. If there's no official video, the cover stays.
- datlyrics has no accounts, no database, no analytics and no cookies.
- The only things saved are your saved songs and playlists, plus your song / video and background effect choices, all in your own browser's local storage.
- Search terms, song titles and video IDs go through datlyrics' server to YouTube, LRCLIB, lrc.red, datlrc and iTunes, so your browser doesn't contact those services itself. Responses are cached, and nothing is logged or stored about you.
- Playback happens in YouTube's embedded player, so YouTube's own privacy policy applies to what you watch.
If you enjoy datlyrics, you can support it with crypto:
- BTC:
bc1qf2pnd0uglrq58h0vnvh5p0rajz8w8lgdey00zc - SOL:
DNf9BRzBXEfudCw8g6JXQ3wJjZ5Su1ddfL5Pchkcyaf5
By artist for artists. 🎧
Paste a song. Sit back. Sing along.
