OPEN-SOURCE · NATIVE MAC · NAVIDROME & SUBSONIC

The native Mac player your self-hosted music deserves.

EKO plays your Navidrome, Subsonic and local library through a real native engine — no Electron lag, no OS resampling — in an interface you'll actually want to live in. Bit-perfect, and it shows you so.

Download for macOS Star on GitHub

Free & open source · Native macOS · Navidrome / Subsonic / local files · Apple Silicon & Intel

NOW PLAYING
Half-Light
Kessler · Slow Aperture
FORMAT
FLAC 44.1k
16-BIT
SOURCEFLAC · 44.1 kHz · 16-bit
OUTPUT ▾Chord Mojo 2 · 44.1 kHz
BIT-PERFECT
WHAT'S INSIDE

Native. Beautiful. Honest.

Everything a self-hosted listener wants on the Mac — a real native engine (no Electron lag), an interface designed to be lived in, and a signal path that can't lie. These are the real components. Try them.

HONESTY, VISUALISED

A signal path that can't lie.

See exactly what happens between the file and your DAC. The seal lights only when the path is genuinely untouched — the moment EQ or volume shapes the sound, it tells you.

TOGGLE EQ / VOLUME BELOW →
SOURCEFLAC · 44.1 kHz · 24-bit
OUTPUTChord Mojo 2 · 44.1 kHz
BIT-PERFECT
REAL DSP

A 10-band EQ you can feel.

True biquad filters in the Rust engine — not a cosmetic slider. Pick a preset and watch the bands respond. Set it flat and EQ is bypassed entirely, so bit-perfect stays bit-perfect.

TAP A PRESET →
LIVE FROM THE ENGINE

A real-time spectrum.

An FFT computed in Rust, drawn as a delicate segmented display — the same one in the deck and the mini player. Calm when paused, alive when playing.

PLAY / PAUSE →
YOUR HARDWARE, YOUR RATE

Send it to any DAC.

Pick an output device and EKO sets its hardware sample rate to match the music — no OS resampling in between. The thing Apple Music simply can't do.

CHOOSE A DEVICE →
Chord Mojo 2
RME ADI-2 DAC FS
MacBook Pro Speakers
AirPods Max

● device matched to 44.1 kHz — bit-perfect

Built for self-hosted

Your Navidrome / Subsonic library and local files — both through one native engine. Connect multiple servers, scrobble, synced lyrics, sleep timer.

Always-on mini player

A compact, dockable window that reads live engine state — stays put while you work.

Light & dark

A neumorphic, Braun-inspired interface in light (Porcelain) or dark (Graphite), with a user-selectable accent.

WHAT BIT-PERFECT MEANS

No resample. No mixer. Just your bits.

Most players — Apple Music included — quietly resample everything to one system rate before it reaches your DAC. EKO sends the file's exact samples at the file's exact rate and switches the device to match. The seal proves your files reach your DAC untouched — no faith required.

A 32-bit float volume stage and an opt-in EQ are there when you want them — and the seal tells you the moment the signal is no longer pristine.

EKOFLAC 96/24 → 96 kHz to your DAC
device set to 96 kHz · untouched
VS
Typical playerFLAC 96/24
→ resampled to 48 kHz by the OS mixer
GET STARTED

Clone, build, listen.

EKO is open source under the MIT license. Built with Tauri, Rust and React — a ~15 MB native app.

# grab it
$ git clone https://github.com/reactivepixels/eko.git && cd eko
$ npm install
# run it
$ npm run tauri dev
# or ship a .app
$ npm run tauri build
Requires Rust + Node Apple Silicon & Intel FLAC · ALAC · WAV · AIFF · MP3 · AAC MIT licensed