Better radio quality · No subscription · No tracking

High Fidelity
Radio Player

Real expander, harmonic exciter, AutoEQ and a transparent limiter — studio-grade processing that makes ordinary radio streams sound cleaner, fuller and less compressed, right in your browser.

A privacy-first alternative to music-streaming subscriptions: no account, no tracking, no monthly bill. Radio is already funded by taxes, licence fees and advertising — this player just makes it sound the way it should.

It's like listening with cotton wool in your ears. Lossy codecs and broadcast compression muffle the music before it ever reaches you. This player takes the cotton wool out — dynamics, air and clarity come back.

No server · no accounts No cookies · no tracking Presets stay on your device MP3 · AAC · OGG · HLS EU-hosted · GDPR-friendly
HF·RADIO PLAYER
IDLE LIM --:--:-- @---
Album art
No stream loaded
Stereo level
Dynamics (K-12)
Frequency response (solid = OUT, dashed = IN)
Processing impact
Coloured bars = OUT (processed), cyan needle = IN (raw stream). Cyan/white marker on K-12 = input, white = output. The impact meter shows what the chain adds or removes in dB.
Presets — click to play, save current stream to a slot
85%

Use this stream on your hi-fi or TV

Sonos · HEOS · Bluesound · webOS · Tizen

Play a station, then copy its direct stream URL and add it to your system: BluOS → Radio → Custom Radio, HEOSheos://player/play_stream?pid=<id>&url=…, or Home Assistant media_player.play_media. Sonos S2 has no custom-URL field — use AirPlay 2 from your phone or Home Assistant. LG webOS / Samsung Tizen / Titan OS: open this page in the TV browser; the remote's arrow keys and Enter drive the player.

Tip: use the direct URL, not a web page. Some older hardware only accepts HTTP, and HLS (.m3u8) support varies between devices.

Anonymous advertising by Advertise here
Why it sounds better

Studio-grade processing

Six stages of signal restoration, tuned for the way radio mangles music.

Bring your own AutoEQ

Any headphone, any room: import an AutoEQ ParametricEQ, GraphicEQ or CSV profile and it is applied to the 10-band EQ — stored only in your browser.

Optional spatial mode

Crossfeed plus adjustable stereo width for a speaker-like, more immersive headphone image — off by default and fully transparent when disabled.

Real Expander

FM and internet radio crush dynamics. A true AudioWorklet expander pushes quiet passages back down and lets loud ones breathe.

Harmonic Exciter

Lossy codecs chop the highs. The exciter regenerates musical harmonics while an air shelf restores lost sparkle.

AutoEQ

23 headphone and earbud correction profiles — Sennheiser, Sony, Beyerdynamic, AirPods and more — in ten bands.

Commercial Ducking

Optional auto-mute for compressed ad blocks, with sensitivity control, a manual duck button and a clear legal disclaimer.

6 Presets

Save your favourite stations with one tap. Presets and settings live only in your browser's local storage — never uploaded.

Any Stream

MP3, AAC, OGG, Opus, FLAC and HLS. Built-in station search plus a CORS proxy fallback for streams that block direct playback.

Under the hood

The audio signal flow

Every stage runs locally in your browser with the Web Audio API. Two analyser taps let you compare the raw stream with the fully processed output.

Radio vs streaming

Already paid for. No new subscription.

Radio reaches you through taxes (public broadcasting), music-licence fees and advertising. You have already paid for it — this app just gives it back to you with privacy and better sound.

The same or better quality, without the account. A good web-radio stream uses the same codecs as streaming services. On top of that, this player restores dynamics with an expander and adds perceived sparkle with an exciter and air shelf — so a well-encoded station can hold its own against a standard subscription, while you keep your data.

Typical audio specs at 44.1 kHz stereo. Frequency ceiling is encoder-dependent; loudness and mastering matter as much as bitrate.
Source Codec Bitrate Typical frequency ceiling Cost Account & tracking
Web radio — common MP3 128 kbps ≈ 16 kHz Free — already funded by taxes, licence fees and ads None
Web radio — best AAC · MP3 · FLAC 256–320 kbps · FLAC lossless ≈ 20 kHz – full Nyquist (22.05 kHz) Free None
Spotify Free Ogg Vorbis up to ≈ 160 kbps ≈ 19 kHz Free with ads Account + profiling
Spotify Premium Ogg Vorbis · FLAC (lossless tier) ≈ 320 kbps · lossless ≈ 20 kHz – 22.05 kHz ≈ €11/month Account + profiling
Apple Music AAC · ALAC (lossless tier) 256 kbps · lossless ≈ 20 kHz – 22.05 kHz ≈ €11/month Account + profiling
Deezer Free / Premium MP3 128 kbps · 320 kbps ≈ 16 kHz · ≈ 20 kHz Free with ads · ≈ €11/month Account + profiling

What our processing can and cannot do. The expander brings back dynamics that broadcast compression flattened, the exciter and air shelf add harmonics so lossy highs feel restored, and the limiter keeps peaks clean. What no processor can do is recover frequencies the codec already deleted: a 320 kbps or FLAC station will always carry more real detail than a 128 kbps one. Pick the best stream your favourite station offers.

Specs and prices are approximate and vary by provider, plan, country and encoder; figures reflect published provider tiers as of 2026. This comparison is editorial, not legal or financial advice.

European by design

EU-hosted, privacy-first

Built and hosted in Europe, with European privacy rules as the default rather than an afterthought.

Hosted in the EU

This site is served by Codeberg Pages from Berlin, Germany. Codeberg is a volunteer-run non-profit that operates its own hardware and avoids large cloud providers where possible.

GDPR-friendly by design

No accounts, no cookies, no analytics, no personal data processed by us. Settings stay in your browser and the ads are anonymous. The only external requests are the stream you choose, the station search API, optional CORS proxies and the ad iframe.

Honest about "green"

We will not claim a green-hosting label we cannot verify. The site is a static build (no per-request server computing) hosted in the EU, and Codeberg does not publish a verifiable renewable-energy figure for its Berlin facility.

Works everywhere

Your hi-fi, your TV, no app store

The player runs in any modern browser — including TV browsers — and hands the direct stream URL to your existing multi-room system.

Sonos, HEOS & Bluesound

Copy the direct stream URL and add it as Custom Radio on BluOS, as a play_stream URL on HEOS, or via Home Assistant. Sonos S2 has no custom-URL field, so use AirPlay 2 from your phone.

webOS, Tizen & Titan OS

Open the site in your TV browser and use the remote: arrow keys move through every control, Enter activates, Escape closes. Large-screen mode kicks in automatically (or add ?tv=1).

Venues & bars (B2B)

The Venue Hi-Fi edition does the same for royalty-free music, local files and your house system — with processing, metering and the same anonymous ad support.

On older TVs, Web Audio is limited: playback still works and the app tells you when enhancement falls back to basic mode. Native TV packages (.ipk/.wgt) are on the roadmap — the web app needs no store approval.

Good to know

Questions, answered

Is this really privacy-first? +

Yes. The site is a fully static page with no backend, no accounts, no cookies and no analytics. Audio processing runs entirely in your browser via the Web Audio API. Presets are saved in localStorage on your device. The only external connections are the radio stream you choose, the station search API (radio-browser.info), optional CORS proxies and anonymous A-ads ad iframes.

Why use this instead of a music-streaming subscription? +

Because radio is already paid for: public broadcasters are funded from taxes, commercial stations from advertising and music-licence fees. This player adds studio-grade processing to those free streams, so you can skip another monthly bill, avoid an account and keep your listening habits private. A well-encoded station (256–320 kbps AAC/MP3 or FLAC) matches a standard subscription stream, and the expander/exciter restore much of what broadcast compression removes.

Can processing make a 128 kbps stream sound lossless? +

No. Processing cannot recover frequencies the codec already discarded. The expander restores dynamics that broadcast compression flattened and the exciter/air shelf add harmonics so lossy highs feel restored, but a 320 kbps or FLAC stream always carries more real detail than 128 kbps. For best results choose the highest-quality stream a station offers.

Is muting commercials (ducking) allowed? +

Probably not everywhere, which is why it is off by default. Muting or altering advertising can breach a broadcaster's terms of use, may be unlawful in some countries, and removes the ad revenue that funds free radio. The detector is a heuristic and can also duck music by mistake. You decide whether to use it and you are responsible for complying with the terms and the law. This is not legal advice.

Where is my data stored? +

Only on your device. Settings, presets, the last station and any imported AutoEQ profiles live in your browser's localStorage. There is no account, no cookie, no analytics and nothing is uploaded or synced. Clearing site data removes everything, and the privacy policy lists every external request the player can make.

Can I use this in my café, bar or shop? +

Not this edition. Playing radio or licensed music in a business generally needs a licence from your local collecting society (Buma/Stemra, SABAM/PlayRight, GEMA or the equivalent) and unlicensed public performance can be fined. Use the Venue Hi-Fi (B2B) edition, which is built around royalty-free music, and still verify each source's licence. See terms & disclaimers.

Why doesn't every stream play directly? +

Browsers enforce CORS: a stream server must explicitly allow web pages to play it. If it doesn't, the player automatically retries through a CORS proxy (you can disable this in settings). Some streams are geo-blocked or offline and cannot be played at all.

How does commercial ducking work? +

It watches loudness and dynamic range in real time. Commercial blocks are usually louder and heavily compressed (low dynamic range). When that pattern holds for a few seconds the player ducks the audio, then restores it when dynamics return. It is heuristic and off by default — turn it on at your own discretion and respect your broadcaster's terms.

Where is this hosted, and is it green? +

The site is served from Berlin, Germany (EU) by Codeberg Pages, a volunteer-run non-profit that runs its own hardware and avoids large cloud providers where possible. The build is fully static, so no server processes your requests. Codeberg does not publish a verifiable renewable-energy figure for its facility, so we do not claim to be 100% green. The radio streams are hosted by third-party broadcasters and CDNs that may be outside the EU and may not use renewable energy — we cannot verify or control that. See the hosting & privacy section.

Does the player collect my data? +

No. Nothing you do is sent to us because there is no "us" — there is no server. Your stream URL, presets and settings never leave your device (except stream URLs sent to a proxy if you enable proxy fallback, and search queries sent to radio-browser.info).