Discover and listen to 50,000+ internet radio stations worldwide.
The all-in-one radio player for community radio, indie stations, and live streams.
Works on every device — no ads, no sign-up, completely free.
50,000+ stations from a community-curated global directory
Works on all platforms: Web, Windows, macOS, Linux, iOS, Android, Chrome Extension
Community radio, indie stations, talk shows, live streams — all genres
Free and open source — no ads, no tracking, no account required
No station selected
Loading stations…
NTS Radio 1
GB
Radio 80000
DE
Kiosk Radio
BE
Callshop Radio
DE
dublab DE
DE
Netil Radio
GB
Mutant Radio
GE
Cashmere Radio
DE
Refuge Worldwide
DE
Operator Radio
NL
Stegi Radio
GR
LYL Radio
FR
NTS Radio 2
GB
The Lot Radio
US
Rinse UK
GB
Subtle Radio
GB
Noods
GB
Radio Relativa
ES
RES.RADIO
AT
Radio Raheem
IT
Radio alHara
PS
Radio Sofa
FR
dublab
US
Pan African Space Station
ZA
Do You Radio
GB
Mad Radio Barcelona
ES
ROVR
GB
THF Radio
DE
HKCR
HK
Chunt FM
GB
Worldwide FM
GB
Voices Radio
GB
Soho Radio London
GB
Radio Flouka
FR
Datafruits
Lahmacun Radio
HU
Resonance 104.4 FM
GB
Resonance Extra
GB
WFMU
US
Reprezent Radio
GB
BFF.fm
US
HydeFM
eist
IE
Parea Radio
KWSX
US
maracutaia.fm
BR
Gatekeeper Radio
DE
Dublin Digital Radio
IE
KUSF
Oroko Radio
GH
Palanga Street Radio
LT
Egregore Radio
FR
Retreat Radio
SE
Real roots radio
GB
NARR Radio
GB
Rukh Radio
We Are Various
BE
Radio grenouille
FR
Alto Jalon Radio
ES
IDA
EE
Monotonic Radio
CKUT 90.3 FM
CA
Skylab Radio
AU
Club Radio
RO
Reform Radio
GB
Aaja Radio | Channel 1
GB
Tsugi
FR
EHFM
GB
Seyðisfjörður Community Radio
Searching stations…
Error loading stations. Please try again.
Create New Station List
v1.0.0
Open Source internet-radio app for discovering, playing, organising and sharing stations from around the world.
Features
50,000+ stations from a community-curated global directory
Favourites & custom lists — saved locally on your device, never sent anywhere
Share lists via private link — recipient imports with one click, no account needed
Live now-playing info for stations that publish it
Install on phone, desktop, or as a browser extension
Background playback with lock-screen and Bluetooth-headphone controls
Installs like a native app — opens instantly from your home screen or dock
No ads, no cookies, no tracking beyond opt-out-able anonymous usage counts
Station directory
Station data comes from RadioDock's own curated database (stations.radiodock.app) — de-duplicated, with corrected logos and hand-fixes layered on top of the community-run Radio Browser directory it is built from. If our server is unreachable the app automatically falls back to Radio Browser directly, so search never depends on us. Queries aren't stored; results aren't retained.
Station logos are served only from our own origin (stations.radiodock.app/logos/…), looked up by station ID. The app never loads favicons from third-party websites, so opening it doesn't leak your IP to dozens of external hosts before you press play — logos degrade to a plain initials chip if unavailable.
"Now Playing" metadata
Most radio servers don't send a CORS header, so a browser can't read their stream metadata directly. RadioDock routes only the stream URL through a small open-source proxy (source) which:
parses the inline ICY metadata blocks Shoutcast / Icecast servers embed between audio frames,
or hits the station's JSON status endpoint (Airtime Pro, Radio King, NTS, etc.) where applicable,
and returns artist + title as JSON, cached for ~15 s.
For HLS streams the parsing happens client-side: hls.js exposes ID3 frames as the stream plays, no proxy involved.
Share-link encoding
When you share a list, the stations are serialised to JSON, gzipped, and base64url-encoded into the URL fragment (the bit after #). Fragments are never sent to the server by browsers, so neither GitHub Pages logs nor any analytics ever see the payload. The recipient's browser decodes and imports locally.
Tech stack
Vanilla JS + Vite — no framework, ~50 KB gzipped main bundle
IndexedDB for favourites, custom lists, prefs (everything stays on your device)
hls.js for HLS streams, native <audio> for ICY/MP3/AAC
MediaSession API for lock-screen controls + Bluetooth headphone buttons
Service Worker for instant repeat loads + PWA install
RadioDock Stations API + logo CDN (self-hosted, Hetzner) — curated data source and single-origin station logos, with Radio Browser as an automatic fallback
Self-hosted Umami for anonymous, cookieless usage analytics — opt-out toggle on legal page
Hosted on GitHub Pages · Stations API on Hetzner · metadata proxy on Hetzner + Render (fallback)
Data source beta
Where station search & info are fetched from. Auto uses the RadioDock Stations API with Radio Browser as an automatic fallback — leave it there unless you're debugging.