Spotube: an open-source cross-platform player with pluggable sources
An open-source music client built with Flutter that covers desktop and mobile; music sources, playlists, and metadata are all plugged in, playback runs locally with no telemetry, and tracks can be downloaded with tags for offline listening.
Project facts
GitHub Ecosystem- Language
- Dart
- Stars
- 49,409
- Data checked
- 2026-09-25
Snapshot figures reflect the check date and may change over time.
Spotube is an open-source music streaming app written in Flutter, covering Windows, macOS, Linux, Android, and iOS—five platforms in all. The question it’s trying to answer: does listening to music have to mean locking yourself into one commercial streaming service? Its answer is to hand music sources, metadata, and playlists entirely over to plugins: the community already provides ready-made plugins for popular platforms, and developers can write their own. Playback control runs locally rather than on a server, so the app collects no telemetry, keeps the install size small, and uses less bandwidth. GitHubDaily recommended it back in February 2025, when it was still described as a third-party Spotify client; the project has since evolved into a general-purpose, plugin-driven music streaming platform.
Core features
- Plugin-driven: music metadata, playlists, and audio sources are all supplied by plugins—use community plugins directly, or write your own to plug in a custom service.
- Free downloads: tracks can be downloaded locally with complete metadata tags attached.
- Full platform coverage: official builds for all three major desktop OSes plus Android and iOS, with a consistent experience across desktop and mobile.
- Synced lyrics: whether or not the plugin in use provides lyrics, the app has built-in time-synced lyric display.
- No telemetry: collects no telemetry, diagnostic information, or user data of any kind.
- Native performance: built on Flutter rather than Electron—the maintainers stress it isn’t just another Electron wrapper, and both install size and bandwidth use stay relatively lean.
Typical use cases
- Switch between desktop and phone while keeping the same player and a consistent local playback experience.
- Download favorite tracks along with their metadata tags to listen offline during a commute or without network access.
- Developers writing or reusing community plugins to plug their own music service or source into the client.
Quick start
On Windows, install via winget:
winget install --id KRTirtho.Spotube
On macOS, add the tap first, then install:
brew tap krtirtho/apps
brew install --cask spotube
On Linux, Flatpak is recommended: flatpak install com.github.KRTirtho.Spotube; for Android, get the APK from F-Droid (package name oss.krtirtho.spotube) or GitHub Releases.
Summary
This suits users who don’t want to be locked into a single subscription service, who care about privacy, and who need offline listening on both desktop and mobile; developers who want to plug in a custom music source can also get up and running via the plugin mechanism. A few things worth noting: the project is licensed under BSD-4-Clause (which GitHub classifies as “Other”), so check the terms fit your distribution scenario before use; the iOS version isn’t on the App Store and can only be sideloaded as an IPA via tools like AltStore; and the Linux AppImage has been temporarily removed due to stability issues. The current version no longer bundles a specific streaming service—music sources depend entirely on the plugins you configure. The old “subscription-free, ad-free” pitch reflected its early days as a Spotify client; what you can actually listen to now depends on which plugins you use. Overall, it’s a clearly conceived, actively maintained, local-first music client.