jellytoast is a desktop music player for Jellyfin, Navidrome and other
Subsonic-compatible servers: bit-perfect playback via mpv,
offline downloads, Chromecast/AirPlay/DLNA/Sonos/Snapcast casting,
system media keys, scrobbling, smart playlists, and a frosted-glass UI.
README
jellytoast
A music player for Jellyfin and
Navidrome servers, on your desktop and your Linux phone —
bit-perfect playback, casting, and offline downloads.
Features
For your self-hosted music — Jellyfin and Navidrome, with multiple libraries. Type your server's address and sign in; jellytoast works out which kind it is.
Made for phones too — on Plasma Mobile and Phosh it opens a touch-first interface: swipe gestures, lyrics, a queue you can drag around, downloads and casting. Close it mid-song and the music keeps going. Installs on Nura / postmarketOS and Arch Linux ARM.
Bit-perfect audio — FLAC / ALAC / OPUS / DSD playback via mpv, or EQ, crossfade and volume normalization when you want them.
Cast anywhere — send music to Chromecast and Google speaker groups, AirPlay 2, Sonos, or DLNA. Groups play on through Wi-Fi hiccups, and each speaker gets its own volume back when you stop. Local relay for offline or Tailscale casting.
Offline mode — cache albums, playlists, or your whole library for offline playback.
Floating mini player — compact and album-art views.
Desktop features — media keys, a tray icon, optional notifications, and a start-at-login option.
Frosted glass & theming — background blur on KDE, macOS, and Windows, plus a full theme picker: light/dark, built-in color presets (Catppuccin, Dracula, Nord, Gruvbox, …), import any base16 scheme, or follow your system accent (and your pywal wallpaper palette on Linux).
Playlists your way — add songs, albums and whole playlists to your server's playlists, rename or delete them, or build smart playlists from rules.
And more — synced lyrics, an audio visualizer, smart shuffle, internet radio, a sleep timer, Last.fm and ListenBrainz scrobbling, and tag editing (Jellyfin). In English and Spanish.
Screenshots
<a href="docs/screenshots/webp/library.webp"><img src="docs/screenshots/webp/library.webp" alt="Library view" /></a><b>Library</b> — browse albums, artists, and songs
<a href="docs/screenshots/webp/now-playing.webp"><img src="docs/screenshots/webp/now-playing.webp" alt="Now playing with synced lyrics and visualizer" /></a><b>Now playing</b> — synced lyrics + audio visualizer
<a href="docs/screenshots/webp/theme-picker.webp"><img src="docs/screenshots/webp/theme-picker.webp" alt="Theme picker" /></a><b>Theming</b> — presets, base16 import, follow system accent
<a href="docs/screenshots/webp/mini-expanded.webp"><img src="docs/screenshots/webp/mini-expanded.webp" alt="Floating mini player" /></a><b>Mini player</b> — compact and album-art views
Flatpak, or from our Flatpak repo so it updates
like any other app: flatpak install --user https://wolfgangwarehaus.com/flatpak/io.github.wolfgangwarehaus.jellytoast.flatpakref