Spicy Lyrics replaces Spotify's lyrics view with animated lyrics, dynamic backgrounds, romanization, and customization options. It is an open-source extension for the Spotify desktop client, built on Spicetify.
Links: Guides · FAQ · Status · Discord · Developers Platform
Spicy Lyrics runs only in the Spotify desktop client, through Spicetify. It does not need Spotify Premium.
Windows (PowerShell):
iwr -useb https://raw.githubusercontent.com/spicetify/cli/main/install.ps1 | iexmacOS / Linux (Terminal):
curl -fsSL https://raw.githubusercontent.com/spicetify/cli/main/install.sh | shWarning
Spicetify cannot modify a Snap-based Spotify installation on Linux. See the official Spicetify guide for other setups.
Look for the Marketplace button in Spotify's top-left corner. If it's missing, install it:
Windows:
iwr -useb https://raw.githubusercontent.com/spicetify/marketplace/main/resources/install.ps1 | iexmacOS / Linux:
curl -fsSL https://raw.githubusercontent.com/spicetify/marketplace/main/resources/install.sh | sh- Open the Marketplace.
- Go to Extensions and search for Spicy Lyrics.
- Select Install.
Play a song and open the lyrics view to confirm it loaded. Marketplace installs update automatically; restart Spotify if a new version hasn't appeared.
Manual installation (not recommended)
- Download
spicy-lyrics.mjs. - Put it in your Spicetify Extensions folder. Find the folder for your OS.
- Run:
spicetify config extensions spicy-lyrics.mjs
spicetify applyManual installs don't update automatically.
If Spicy Lyrics disappears after a Spotify update or fails to load, try these in order:
spicetify apply
spicetify backup apply
spicetify update
spicetify restore backup applyLyrics missing, outdated, or wrong?
- Make sure you opened the song version you meant to. Singles, albums, deluxe, clean, and remastered releases can have different lyrics or timing.
- Try another release of the same recording.
- Clear the lyrics cache in Spicy Lyrics' settings, then reopen the song.
- Check the status page.
- Search #lyric-issues on Discord, then report it with the exact Spotify link.
High CPU or memory use? Animated lyrics, dynamic backgrounds, themes, custom CSS, and other extensions all add load. Restart Spotify, test without other extensions or snippets, and check Spotify's hardware-acceleration setting.
Search #extension-bugs first. If it's new, include:
- your operating system
- Spotify, Spicetify, and Spicy Lyrics versions
- exact steps to reproduce
- what you expected and what happened instead
- the affected song link, if relevant
- screenshots, video, or console errors
Caution
Never share account tokens, cookies, authorization headers, or other secrets in a bug report.
Security issues go through SECURITY.md, not public channels.
What types of lyrics are supported?
| Type | What it does |
|---|---|
| Word-synced | Highlights individual words, or timed parts of words, as they're sung. |
| Line-synced | Advances one timed line at a time. |
| Static | Shows lyrics without timing. |
The sync type depends on the lyric data available for that exact track. There's no setting to turn line-synced lyrics into word-synced ones.
Where do the lyrics come from?
Community-uploaded TTML lyrics first, then other supported sources, including Apple Music and Spotify. What you see depends on availability, matching, and source priority.
Can I use it on mobile?
No. The extension runs in Spotify's desktop client only.
Spicy Player is a separate offline Android music player by TX24 that ports the Spicy Lyrics experience. It is not a Spotify mobile extension.
Can I use it offline?
Online lyric lookup needs an internet connection. Lyrics you import into the Lyrics Manager's persistent local library stay on your device until you remove them.
Can I use my own TTML file without uploading it?
Yes. Open the Lyrics Manager and import the TTML as a temporary upload (for quick testing) or a persistent one (kept in your local library). There's no setting for adding other online lyric providers.
Why is the timing off in Spotify?
If one song is off, the lyric file may have been timed against a different release. Report it with the song link.
If every song is off on your device, use the playback-offset setting in Spicy Lyrics.
Can I change the lyrics font?
Install the font on your computer, then:
-
Open Marketplace → Snippets → Add CSS.
-
Paste this, replacing
Your Font Namewith the font's exact name:* { font-family: "Your Font Name" !important; }
-
Name and save the snippet.
-
In Spicy Lyrics settings, enable Use System Font under Appearance.
This changes Spotify's whole interface font, not only the lyrics. Disable the snippet if characters go missing or layouts break.
Where can I request a feature?
Search #extension-suggestions first, then post if your idea isn't already there. Describe the problem and who it affects, not only the solution you want.
More answers are in the full FAQ.
Most word-synced lyrics in Spicy Lyrics are TTML files made by the community. TTML is an XML-based format that can store line and word timing, background vocals, duet positioning, and romanization, which LRC can't do consistently.
To make one, start with the TTML Guide:
- Import the song
- Import the lyrics
- Check the lyrics
- Sync the lyrics
- Add the songwriters
- Export and test the TTML
- Submit your first TTML
Line-synced TTML is fully valid. If it's your first file, start with whole-word timing and learn syllable splitting later.
| Guide | Covers |
|---|---|
| Transcription Guide | Spelling, capitalization, punctuation, ad-libs, censored lyrics, repeats, and romanization |
| Splitting Guide | Splitting words into timed syllables, and which splits are accepted |
| Uploading and TTML Rules | What an upload must meet to be approved |
| Separating Vocals | Isolating vocals so words are easier to hear while syncing |
| TTML Tool Feature Reference | Every feature of the TTML Tool |
The short version of the rules:
- The recording is the source of truth. Check copied lyrics against the exact song version; even official lyrics can be wrong.
- No AI transcription or AI timing. AI vocal separation is fine as a listening aid, and so is the TTML Tool's built-in automation, as long as you check its output.
- No filler. Don't add
[Instrumental], section headings, ellipses, or placeholders. Spicy Lyrics draws interludes itself. - One timing mode per file. Line-synced or word-synced, never both.
- One file per distinct version. Different audio, censorship, intros, or timing need separate TTMLs.
- No unreleased songs. Wait until the song is playable on Spotify in at least one timezone.
- Clear the lyrics cache after every upload, then verify the result against the streamed song.
Requires Bun and a working Spicetify install.
bun install
bun run dev
bun run build
bun run lint
bun run fmt- Donate to Spikerko on Ko-fi
- Contribute code to this repository
- Boost the Discord server
- Report bugs you can reproduce
- Make accurate TTML lyrics
The extension is licensed under AGPL-3.0. The hosted services, databases, and websites behind Spicy Lyrics are separate and aren't covered by this license.
Inspired by Beautiful Lyrics
