Onekotify brings the classic Oneko cat back to life inside Spotify using Spicetify.
Back when the original Oneko disappeared from Spicetify (not really sure what happened there), I used to love on it a lot—and honestly, I missed it more than I expected.
So while learning and experimenting, I decided to recreate it myself.
This project is my attempt to bring that little cat back. Right now it’s in a kinda working state—nothing fancy yet, just the core behavior—but it’s a start. So, you're welcome to modify it.
onekotify.js— Spicetify extension scriptoneko-assets/— 32 GIF frames used for animation
If you don't have Spicetify installed yet, install it with one command:
Windows (PowerShell):
iwr -useb https://raw.githubusercontent.com/spicetify/cli/main/install.ps1 | iexmacOS/Linux:
curl -fsSL https://raw.githubusercontent.com/spicetify/cli/main/install.sh | shAlternative methods:
- Windows (Scoop):
scoop install spicetify-cli - macOS:
brew install spicetify-cli - Linux: Check the official Spicetify guide
For detailed setup and troubleshooting, see the Spicetify Installation Guide.
First, install the Spicetify Marketplace:
Windows (PowerShell):
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 | shThen:
- Open Spotify
- Search for "onekotify" in the Spicetify Marketplace
- Click Install
-
Copy the extension files into your Spicetify Extensions folder:
Make sure both
onekotify.jsand theoneko-assetsfolder are inside:%APPDATA%\spicetify\Extensions\On macOS/Linux:
~/.config/spicetify/Extensions/ -
Enable the extension:
spicetify config extensions onekotify.js -
Apply changes:
spicetify apply -
Restart Spotify if needed (If Spotify running, then it should automatically restart).
- Move your mouse inside Spotify — the cat will chase it
- Toggle visibility:
Alt + Shift + K
If you do any update to the JS file then;
-
After editing
onekotify.js:spicetify apply -
After updating assets:
- Replace
oneko-assets - Run:
spicetify apply
- Replace
The animation frames (GIF assets) in oneko-assets/ are from the original Oneko Java project, which is in the public domain. The state machine logic and behavior have been ported to JavaScript for this Spicetify extension.
Cat not visible:
- Run
spicetify applyagain - Restart Spotify
- Check
onekotify.jsexists in the Extensions folder - Ensure
oneko-assetscontains all 32 GIF files
Extension not loading:
- Run:
spicetify config extensions - Make sure
onekotify.jsis listed
Onekotify is extremely lightweight and designed not to interrupt your Spotify experience:
- FPS Rendered: Max 20 FPS (throttled to 50ms ticks, pauses when Spotify is minimized).
- CPU Usage: < 1% (Running simple arithmetic,state machine checks, basic math for distance, and spring physics variables , no heavy calculations).
- RAM Usage: 1-2MB (caches 32 tiny 32x32 image frames).
- GPU Usage: 0% (uses hardware-accelerated CSS transforms).