Extensions
Extensions, in a nutshell, are JavaScript files that will be evaluated along with Spotify main JavaScript.
Installingβ
Extension files can be stored in:
Extensions
folder in Home directory:
Platform | Path |
---|---|
Windows | %appdata%\spicetify\Extensions\ |
Linux/MacOS | ~/.config/spicetify/Extensions |
Extensions
folder in Spicetify executable directory.
If there are 2 extensions with the same name, the extension within the Home directory will be prioritized.
Some Spotify API endpoints are exposed and can be found in the global object Spicetify
. Check out global.d.ts
for API documentation.
After placing the extension file into correct folder, run following command to install it:
spicetify config extensions <file name>
spicetify apply
Note: Using config
command to add extension always append file name to existed extensions list. It does not replace the whole key's value.
Uninstallingβ
If you want to remove an extension from the current list of extensions you can always append a -
after the file name:
spicetify config extensions <file name>-
spicetify apply
Manual Installβ
You can always manually edit the config file, add your desired extension filenames in extensions
key, separated them by |
character.
Example:
[AdditionalOptions]
...
extensions = autoSkipExplicit.js|queueAll.js|djMode.js|shuffle+.js|trashbin.js
Afterwards, you will need to run the following:
spicetify apply
Extensionsβ
Below are list of default extensions that come with the distributed package:
- Auto Skip Videos
- Bookmark
- Christian Spotify
- Full App Display
- Keyboard Shortcut
- Loopy Loop
- Pop-up Lyrics
- Shuffle+
- Trash Bin
- Web Now Playing
Auto Skip Videosβ
Filename: autoSkipVideo.js
Videos are unable to play in some regions because of Spotify's policy. Instead of jumping to next song in playlist, it just stops playing. And it's kinda annoying to open up the client to manually click next every times it happens. Use this extension to skip them automatically.
Bookmarkβ
Filename: bookmark.js
Easily store and browse pages, play tracks or tracks in specific time. Useful for who wants to check out an artist, album later without following them or writing their name down.
Christian Spotifyβ
Filename: autoSkipExplicit.js
Auto skip explicit tracks. Toggle option is in Profile menu (top right button).
Full App Displayβ
Filename: fullAppDisplay.js
Full App Display: Minimal album cover art display with beautiful blur effect background. Activating button locates in top bar. While in display mode, double click anywhere to exit. Right click anywhere to open setting menu.
Keyboard Shortcutβ
Filename: keyboardShortcut.js
Extends Spotify's default keybinds (toggle help modal with ?
) with vim like shortcuts. Less time touching the mouse.
- Ctrl Tab / Ctrl Shift Tab: Navigate items in left sidebar menu.
- PageUp/PageDown: Force scroll up/down app page only (because mouse focus is sometimes in sidebar region and they scroll sidebar instead of app page).
- J/K: Scroll app page up/down. *Tips hat to Vim users*
- G/Shift G: Scroll to top or bottom
- F: Open up keyboard-driven navigation. Hit correct key sequences to open up place you want to go:
Loopy Loopβ
Filename: loopyLoop.js
Provide ability to mark start and end points on progress bar and automatically loop over that track portion.
Pop-up Lyricsβ
Filename: popupLyrics.js
Have easy access to a pop-up window with the current song's lyrics. Click at microphone icon on top bar to open lyrics windows. Right click at the same icon to open config menu to customize looks and lyrics providers priorities.
Shuffle+β
Filename: shuffle+.js
Shuffles using FisherβYates algorithm with zero bias. After installing extensions, right click album/playlist/artist item, there will be an option "Play with Shuffle+". You can also multiple select tracks and choose to "Play with Shuffle+".
Trash Binβ
Filename: trashbin.js
Throw songs/artists to trash bin and never hear them again (automatically skip). This extension will append a Throw to Trashbin option in tracks and artists link right click menu.
Web Now Playingβ
Filename: webnowplaying.js
For Rainmeter users, establish connection with WebNowPlaying plugin to send track metadata and control players.
If you just want WebNowPlaying without changing UI color, CSS, run this:
spicetify config inject_css 0 replace_colors 0
spicetify config extensions webnowplaying.js
spicetify apply
Legacy Extensionsβ
If you are running Spicetify 1.2.1 or below, and a supported Spotify version, you may also have access to the extensions listed below.
DJ Modeβ
Filename: djMode.js
Easily setting up the client for your friends or audiences to choose, add song to queue but prevent them to control player. Plays button in album track list/playlist are re-purposed to add track to queue, instead of play track directly. Hide Controls option also allow you to hide all control button in player bar, Play/More/Follow buttons in cards.
New Releaseβ
Filename: newRelease.js
Aggregate all new releases from favorite artists, podcasts. Setting menu could be opened by right clicking at Bell icon.
Queue Allβ
Filename: queueAll.js
You like using Discover, New Releases page to find new music but adding each one of them to queue takes a lot of effort? If so, activate this extensions and apply. At top of every carousel now has a "Queue All" button to help you add all of them to queue. Note: Not available for playlist carousels. Just songs, albums ones.