Xyset is a directory of publicly broadcast internet radio streams. When a station puts a stream URL on the open web, we index it, check that it actually plays, record what format it is in, and give it a page with a player that works in the browser. No account, no app, no download. Press play and it plays.
We do not host audio and we do not re-encode anything. The stream you hear on a station page is the station's own feed, exactly as the broadcaster publishes it. If a station asks us to remove its listing we remove it, same day. That request goes to the address on our contact page.
Every station with a written profile on this site has had its stream opened and read, not just copied from
another listing. We request the stream the way a player does, with an Icy-MetaData header, and read
what the server sends back: the broadcaster's own station name, the codec, the advertised bitrate, and the
station's official website where the server declares one. Those figures are what appear in the
stream details table on each station page, alongside the date we read them.
A stream fails the check if the hostname no longer resolves, the server refuses the connection, the URL redirects in a loop, the response is a web page dressed up as audio, or the connection opens and then never delivers a byte. All five happen constantly, because streams rot: broadcasters move hosts, licences lapse, and a URL that worked last year quietly stops working without anyone announcing it.
The most recent sweep ran on 20 September 2026. Of 96 streams tested, 69 played and 27 did not. The ones that failed have been pulled out of the browse grids and their pages now carry a notice saying what went wrong and when we found it, rather than a player that silently does nothing.
Two stations playing the same song can sound noticeably different, and the reason is usually on the station page rather than in the studio. Internet radio is compressed twice over: once by the codec, and again by how many bits per second the broadcaster is willing to pay for.
Codec. Most stations send MP3 or AAC. AAC and its low-bitrate variant AAC+ (also written HE-AAC) hold up far better when bits are scarce. An AAC+ stream at 48 kbps is roughly comparable to an MP3 at 96 kbps, which is why so many broadcasters use it for their mobile feed. If a station page here says 48 kbps and it still sounds clean, AAC+ is the reason.
Bitrate. Below about 64 kbps in MP3 you will hear it: cymbals turn to hiss and reverb tails smear. Above 128 kbps most listeners on laptop speakers or earbuds stop being able to tell. Classical and jazz stations tend to broadcast higher because the music punishes compression; talk and news stations sit low because speech does not need the headroom, which is why a 32 kbps news stream sounds perfectly fine while a 32 kbps rock stream does not.
Bitrate is also the number that matters if you are listening on a metered connection. The arithmetic is fixed: one hour at a given bitrate always costs the same amount of data, whatever the station is playing. We list the bitrate on every station page we have verified, so you can work it out before you press play.
| Stream bitrate | Per hour | Per 8-hour day | Typically used for |
|---|---|---|---|
| 32 kbps | 14 MB | 110 MB | Talk, news, sport commentary |
| 48 kbps AAC+ | 21 MB | 169 MB | Mobile music feeds |
| 64 kbps | 28 MB | 225 MB | General music, low-data mode |
| 96 kbps | 42 MB | 338 MB | Common MP3 default |
| 128 kbps | 56 MB | 450 MB | Standard music quality |
| 192 kbps | 84 MB | 675 MB | Jazz, classical, specialist |
| 320 kbps | 141 MB | 1.1 GB | Audiophile and hi-fi feeds |
A three-hour work session on a 128 kbps stream is about 170 MB. The same session on a 48 kbps AAC+ feed is about 63 MB. If you listen all day on a capped plan, choosing the lower-bitrate version of the same station is the single change that makes the most difference. The verified streams list can be sorted by data cost for exactly this.