Music deserves better than interruptions.
A modern, open-source music player built with Flutter. Built on the radical idea that pressing ▶ Play shouldn't require a subscription.
Play With Euphony Right Here
Test out our custom Neo-Brutalist design tokens (`#121218` ink, `#6A4BE8` accent, `#FFEB3B` highlight). Click Play to hear live Web Audio API ambient chords and watch the real-time waveform visualizer!
Queue • Quick Picks
4 TRACKSWhy Euphony Exists
Somewhere along the way, music players became subscription services, shuffle became a premium feature, and ads started interrupting your playlists. Euphony is a music player that simply gets out of your way.
Subscription Music Apps
Modern proprietary services
- ✕ Monthly subscription fees required just to play music without ads
- ✕ Basic features like Shuffle locked behind a premium paywall
- ✕ Constant upsell banners interrupting your favorite albums
- ✕ Mandatory cloud accounts and invasive telemetry tracking
- ✕ Your offline library can be removed by licensing disputes
Euphony Open Source
Music respects its listeners
- ✓ 100% Free & Open Source under the GNU General Public License v3.0
- ✓ Every feature unlocked forever — Shuffle, Repeat, Sleep Timer, & Queue
- ✓ Zero advertisements and zero interruptions guaranteed
- ✓ No account needed. Offline local music and smart caching by default
- ✓ Transparent code crafted by music lovers, for music lovers
Everything You Need, Nothing You Don't
Built with Flutter, Riverpod, Drift SQLite, and Just Audio for lightning-fast playback across platforms.
Material 3 & Neo-Brutalist UI
Beautiful Material 3 experience with bold typography, crisp hard shadows (`4px 4px 0px`), and an intentional 3-accent palette designed for WCAG AA readability.
Offline & Local Library
Full support for local music files, offline downloads, smart audio caching, and persistent playback state powered by Drift SQLite.
3-Way Adaptive Theme
Switch seamlessly between warm Light Paper, deep Slate Dark, and true OLED/AMOLED Pure Black themes.
Fast Search & Queue
Fast search across tracks, albums, artists & playlists with full queue management, shuffle, and repeat without UI lag.
Background Playback
Background playback with native media notification controls, lock screen artwork, and playback speed controls with sleep timer.
Privacy & Zero Telemetry
We don't track your listening habits. No analytics scripts, no phone-home telemetry, no third-party SDKs.
Get Euphony For Your Platform
Release v0.2.11 • Free forever • Now on Android, iOS, Windows, macOS & Linux.
Android
Standalone APK for Android 8.0+. Background playback, media notifications and offline caching.
iOS
Unsigned build — sideload with AltStore, Sideloadly or TrollStore. No App Store account needed.
Windows
One-click installer for Windows 10 & 11 — no admin needed, adds Start-menu & desktop shortcuts.
macOS
Native macOS app. Open the disk image and drag Euphony to Applications.
Linux
Single-file AppImage — make it executable and run. Requires libmpv.
Frequently Asked Questions
Everything you need to know about Euphony, our Neo-Brutalist design, and open-source license.
Because we believe software should respect its users. Somewhere along the way, playing your own music became a subscription service where basic features like shuffle are locked behind paywalls. Euphony was built as a radical alternative: open source, ad-free, and forever free.
Euphony uses high-performance Drift SQLite for local database caching and `just_audio` for playback. You can easily import your existing offline music collection or listen to your cached library without an internet connection.
Neo-Brutalism is a modern design philosophy featuring bold typography, high-contrast borders (`2.5px solid #121218`), hard offset shadows (`4px 4px 0px`), and intentional color accents. Unlike generic glassmorphic UI, every element in Euphony is tactile and clear.
Whether you want to fix a typo, add a new theme, or optimize performance — contributions are always welcome! Visit our official GitHub repository to fork the codebase, open an issue, or submit a Pull Request.