Effortlessly control your Spotify through your Elgato Stream Deck.
A Spotify Premium account is required to use the full functionality of this plugin.
- Plug-and-Play Setup: In-browser, step-by-step setup; have it running in under a minute.
- Opinionated: No endless pages of settings, set it up once and forget about it.
- Lag-Proof Controls: Forget laggy or unresponsive buttons, built in a way that it simply works.
- Interval Refresh: Syncs data at sensible intervals with your native client so it remains up-to-date.
- Pixel-Perfect UI: Every icon and element is meticulously aligned for a crisp, frictionless experience.
- Marquee Titles: Long titles scroll smoothly on both buttons and dials so you never miss a thing.
- Clear Visual Status: Contextual icons and animations for loading states, errors, and warnings at a glance.
Perfect layouts for Stream Deck MK.2 and Stream Deck +.
- Play / Pause Toggles between playing and pausing the current song.
- Previous Song Skips to the previous song.
- Next Song Advances to the next song.
- Shuffle Activates or deactivates shuffle play.
- Loop Context Repeats the current playlist or album.
- Loop Song Repeats the current song.
- Like / Unlike Adds the current song to your liked songs or removes it if already liked.
- Explicit Indicator Shows whether the current song is explicit or not.
- Volume Up Increases the playback volume.
- Volume Down Decreases the playback volume.
- Volume Mute / Unmute Toggles between muting and unmuting the volume.
- Backward Seek Seek backward in the current song.
- Forward Seek Seek forward in the current song.
- Song Information Displays the information of the current song.
- Context Information Displays the information of the current context.
- User Information Displays the information of the connected user.
- Song Clipboard Copies the information of the current song to the clipboard.
- Setup Start here to setup Essentials for Spotify or to reset the setup process.
-
Playback Control
Controls the playback of the current song.- Rotate: Previous / Next
- Push: Rotate Seek
- Touch: Play / Pause
-
Volume Control
Controls the playback volume.- Rotate: Adjust Volume
- Push: Hold Mute
- Touch: Mute / Unmute
-
My Playlists
Navigate and play through your playlists.- Rotate: Navigate
- Push: Play
- Touch: Refresh
-
New Releases
Navigate and play through your personalized new releases.- Rotate: Navigate
- Push: Play
- Touch: Refresh
Icons
๐ค Single
๐ฟ Album
๐๏ธ Compilation
๐ EP
Success: It worked!
Pending: Something is loading, please wait.
Busy: The action you're trying to perform is currently busy, wait a bit and try again later.
API Rate Limited: You're doing actions too fast, wait a bit and try again later.
Not Available: The action you are trying to perform is not available due to current restrictions.
No Device: A device to control cannot be found, start your Spotify client or app, play a song and then try again.
Fatal Error: A fatal error has occured, please create a new issue.
API Error: Something is wrong, try again later and if the issue persists create a new issue.
Setup Error: The setup has not been completed yet, please complete the setup first and try again.
When a questionmark "?" appears on top of a button, that indicates that the plugin is not sure of the button state.
For example if no song is currently playing or played recently, we can't know if it's liked or not.
So the Like / Unlike button will show a questionmark "?" to indicate that.
To install and use the plugin, follow these steps:
- Download the latest
.streamDeckPlugin
release from here. - Double-click and install it.
- Place the Setup button in your StreamDeck and press it.
- A web page should open on your default internet browser, follow the instructions there.
- Enjoy!
I started this project in plain JavaScript, then halfway through rewrote the buttons and dials in TypeScript.
However I never had the grit to port the rest, so now itโs a hybrid mess, sorry about that. ๐
I only built it because when I got my first Stream Deck, every available Spotify control plugin fell short for my taste.
This project uses the Spotify Web API to fetch data and control playback.
The use of it is subject to the Spotify Developer Terms of Service.
Icons are courtesy of Icons8, used under the Universal Multimedia License Agreement for Icons8.
Icons integrated into this project must not be extracted or re-used as standalone assets.
Spotify is a trademark of Spotify AB.
Stream Deck is a trademark of Elgato Systems GmbH.
This project is not affiliated with, endorsed, sponsored, or approved by Spotify AB or Elgato Systems GmbH.