OSW
Open source · Local · No cloud

Your music.
In the browser. Calm and clear.

OSW – Open Sonos Web is a clean, open-source web interface for every room – with Spotify browsing, synced lyrics and a full-screen stage view. In white or in black.

Now playing – light theme Now playing – dark theme
Features

Everything you use the Sonos app for, day to day.

It talks directly to your speakers on the home network – no account, no cloud, no tracking.

Playback

Play/pause, seek, shuffle, repeat, crossfade, sleep timer, TV and line-in.

Rooms & groups

Group and ungroup rooms, party mode, group and per-room volume.

Music services

Browse Spotify and more – a home page with reorderable rows, your library, search.

Queue & playlists

Drag & drop reordering, save the queue as a playlist, playlists with cover mosaics.

Alarms

Create and edit alarms – specific weekdays, favorites as wake-up music, volume, duration.

Sound & device

Bass, treble, balance, loudness, night mode, speech enhancement, sub, surround, LED, button lock.

Stage view

Less menu.
More music.

An alternative now-playing view for a tablet, a TV or a second screen.

  • Large cover art, background tinted with the album's colors
  • Time-synced lyrics (LRCLIB)
  • Artist info with photo (Wikipedia)
  • Muted, synced music video – blurred in the background or up front
  • Controls fade away, full screen with one click
Stage view with lyrics, light Stage view with lyrics, dark
Music services

Your services,
row by row.

Link once, then browse Spotify right in the interface. Every row scrolls sideways – and you decide the order, synced across all devices.

Music service home page, light Music service home page, dark
More views

Quiet, clear, black and white.

No colors except your music. The theme follows your system – or switch it yourself.

Around the house

Made for your phone.

Room picker as a bottom sheet, swipeable rows, large controls.

Now playing on a phone
Stage view on a phone
Music service on a phone
Installation

Up and running in two minutes.

Runs wherever Python 3.10+ or Docker runs – ideally on a device on the same network as your speakers (Raspberry Pi, NAS, PC).

Download

Clone the repository.

git clone https://github.com/mupf-dev/open-sonos-web
cd open-sonos-web

Start

With Python (sets up its own environment) or Docker:

./run.sh
# or
docker compose up -d

Open

Open it in your browser. If discovery finds nothing, enter the IP address of one speaker.

http://localhost:8080

Just want to look around? ./run.sh --demo starts a simulated system with four rooms – exactly like on this page.

Good to know

The fine print.

Local, no login

Anyone who can reach the page on your network can control the speakers – just like the Sonos app. Do not expose it to the internet.

External services

For lyrics, artist info and videos, artist and title are sent to LRCLIB, Wikipedia and YouTube – only in the stage view.

Music services

To browse, the interface links itself to the service once. Your speakers' own sign-in stays untouched.

Your language

English and German are built in and follow your browser. Another language is just one JSON file – see TRANSLATING.md.

Open source

MIT-licensed, no build step: Python (FastAPI + SoCo) and plain HTML, CSS and JavaScript.

Still a job for the Sonos app

Setting up speakers, firmware updates, Trueplay tuning and voice assistants still happen there.