With v0.63, audio streamer Navidrome finally got full lyrics support. I just wanted to try it out and fell flat on my face because… well, not even the official docs say anything about lyrics. Also, I’m not too familiar with how lyrics are added to songs in general. So my questions are these:
- How can I add any lyrics to my songs so the web client will display them?
- What formats would you recommend sticking with? (TTML, ELRC, SRT, YAML, LRC, or even TXT)
- Is there a way to automate adding lyrics in bulk (instead of tedious manual work)?



I’m personally going with elrc where available, otherwise lrc.
The E in ELRC stands for enhanced. It has karaoke-style granularity, if that’s something you care for, and can find.
Navidrome has supported lyrics for a while now, but the web client only supports embedded ones. Checked my instance and that still seems to be the case as most of my songs have lyrics as standalone files, but the client insists that there aren’t any lyrics.
With the update I’ve added this Navidrome lyrics plugin, but I’ve not really tested it yet. I’ve been using lrcget to locate and add lyrics before this update.
Lyrics work fine in other clients. On my phone I’ve been experimenting with NaviBeat, otherwise I’ve been using Amperfy.
On desktop I’ve been using Nocturne, (via flathub), but I think based on how long lyrics take to load in that, that it fetches the lyrics from somewhere other than Navidrome.
I love the fact that they have really opened up Navidrome to use plugins, and it seems the community is starting to produce some pretty decent examples.
I use that lyrics plugin and it works great. Basically you just enable it in navidrome and in your configuration you set the lyrics priority. I have it set so its lrc -> plugin -> text -> embedded so if i have krc lyrics already it pulls those and if not the plugin will search. If plugin fails it will check for any plaintext lyrics or embedded lyrics. This works with my feishin (pc) and symfonium (android) apps if I’m on my network or vpn’ed in (i don’t expose my server).
Another thing you can do is use the LRCGET app which can bulk download them.
I haven’t touched the ELRC lyrics yet but will look into pulling those
Big +1 for LRCGET. It is extremely powerful and dead simple to use. I’m generally able to point it at a directory and press go. It will return lyrics about as accurately and reliably as any manual search, and it has the (experimental) ability to embed the lyrics as well.
I prefer embedded lyrics, since I know that they will be available and inseparable from the files regardless of what my library looks like in the future.