Stream from your favorite services and play local files — all in one native app.
Important
Sonora is not a piracy tool.
Sonora is not a platform for obtaining or sharing copyrighted material. We will not implement any functions that can be used to export decrypted streams, DRM licenses, content keys, or to convert protected streams into media files.
Sonora is not designed to circumvent subscriptions or other restrictions put in place by music streaming platforms. If the service demands that you have a valid subscription in order to play back their tracks, so will Sonora.
Features aimed at ripping, downloading, distributing, or gaining access to protected streaming content are out of scope for the project.
- Apple Music, Spotify, YouTube Music, Deezer, Subsonic/Navidrome and local playback
- Gapless playback, audio normalization, shuffle, sleep timer
- Synced/karaoke lyrics, background vocals, and romanization
- Scrobbling with LastFM, ListenBrainz, LibreFM, and Maloja
- Themes, fonts, icons, transparency, blur, and window styling
- Discord Rich Presence, native file opening
- macOS, Windows, Linux, and (probably) FreeBSD support
Install with Brew:
brew install --cask nolight132/tap/sonoraAfter installing (thanks Apple):
xattr -dr com.apple.quarantine /Applications/Sonora.appInstall from the AUR with your AUR helper of choice:
yay -S sonora-binsonora-bin installs the prebuilt release binary. sonora builds the same version from source
instead, which takes a while on a Rust and GPUI tree but links against your own system libraries:
yay -S sonoraEither pipewire-alsa or pulseaudio-alsa is required, matching your sound server.
Add the Sonora repository (updates with flatpak update):
flatpak install --user https://sonorahq.github.io/sonora/sonora.flatpakrefDownload the x86_64 AppImage from the
latest release, make it executable and run
it:
chmod +x sonora-*.AppImage
./sonora-*.AppImageAn aarch64 build is published beside it. The AppImage carries no Vulkan driver and no ALSA
bridge, so both still come from your system. It does not update itself, but it carries its update
information, so AppImageUpdate or an
AppImage manager such as AppManager can fetch a new release
for you.
The flake packages the latest tagged release binary or builds from source if unavailable for your platform.
inputs.sonora.url = "github:sonorahq/sonora";inputs.sonora.packages.${system}.default
inputs.sonora.packages.${system}.sonora (build from source)
inputs.sonora.packages.${system}.sonora-bin (prebuilt, if available)
You can set configuration options via the included Home Manager module under programs.sonora:
{
imports = [ inputs.sonora.homeManagerModules.default ];
programs.sonora = {
enable = true;
settings = {
provider = "youtube";
appearance.theme = "dark";
};
};
}Download and run the installer, or the ARM installer on Windows on ARM.
Download the latest windows-msvc.exe for your architecture from Releases.
Feel free to join our Discord server and Matrix space. Discord is the primary one, but we do have a Matrix bridge.
We have nothing against the usage of LLMs in the project — in fact, we use them ourselves. We believe that AI can speed up development in a lot of meaningful ways and be a useful tool for learning new concepts. We have also found it particularly helpful for contributing to substantial codebases such as GPUI and librespot, where it has helped us quickly locate the relevant parts of the code.
However, using AI cannot act as an excuse for failing to understand, review, and test the changes proposed. Furthermore, we expect communication with a real person, not a computer. This includes but is not limited to PR/issue text generation, comments in discussions, etc. A short summary of minor changes can be generated and does not need to be disclosed explicitly, but the reasoning and motivation behind a change must come from the contributor and reflect their own understanding.
Note that PRs that fail to adhere to these requirements may be rejected without further notice.
AI-assisted proofreading and translation of human-written text are permitted.
| Language | Translated | Coverage |
|---|---|---|
English (en-US) |
695/695 | 100% |
Deutsch (de) |
632/695 | 91% |
Español (es) |
610/695 | 88% |
Français (fr) |
632/695 | 91% |
Italiano (it) |
610/695 | 88% |
Bahasa Indonesia (id) |
610/695 | 88% |
日本語 (ja) |
610/695 | 88% |
Русский (ru) |
690/695 | 99% |
Українська (uk) |
690/695 | 99% |
Polski (pl) |
690/695 | 99% |
Português (Brasil) (pt-BR) |
610/695 | 88% |
简体中文 (zh-CN) |
610/695 | 88% |
Türkçe (tr) |
610/695 | 88% |
Sonora is built with the help of some incredible open-source projects, including:
- Zed — a wonderful editor (
ab)used by all core team members. Conveniently providesgpui— their native Rust rendering stack. - librespot — Spotify playback and library integration.
- yt-dlp — certain YouTube ideas implemented in ytmusic-rs :)
Sonora has applied for code signing through SignPath Foundation. Current releases are not yet signed through SignPath Foundation. If approved, signed releases will use free code signing provided by SignPath.io, with a certificate by SignPath Foundation.
Copyright (C) 2026 Sonora Contributors.
Sonora is free software, released under the GNU General Public License version 3 or later.
Sonora is an unofficial client and is not affiliated with, endorsed by, or sponsored by Spotify AB.
The binary also embeds the Inter typeface (SIL
Open Font License 1.1) and four interchangeable icon sets:
Lucide (ISC), Iconoir (MIT),
Remix Icon 4.8.0 (Apache 2.0) and the
Solar Linear set
(CC BY 4.0, by 480 Design). Each pack keeps its licence beside its files in
assets/icons. THIRD-PARTY.md lists every bundled dependency.


