CLI v—  ·  Linux + macOS  ·  Android beta  ·  MIT

The whole planet's radio, from your terminal.

World Radio is a fast, keyboard-driven internet-radio player that lives in your shell. Browse 56,000+ live stations, watch a real-time spectrum analyzer drawn in pure text, and tune the whole thing to one of 14 hand-built retro palettes — no browser, no Electron, no mouse required.

$ curl -fsSL r4dio.net/install | sh
↓ Download ★ Star on GitHub
~6 MB static binary <30 MB idle RAM 0 config to start built with Rust + Ratatui
world-radio — 118×34
 ▌WR · WORLD RADIO       LIVE   Smooth Jazz Café  🇲🇽 MX · AAC 48k     ██████████░░░░░░  60%    ▁▃▅▇█▆▄▂▃▅▇▆▄▂
  Chuck Wayne — What A Difference A Day Made
───────────────┬────────────────────────────────────────────────────────────────────────────
FILTERS             Smooth Jazz Café        🇲🇽 MX  AAC 48k   jazz · lounge  live
                   BBC Radio 6 Music       🇬🇧 GB  MP3 192k  jazz · smooth
STATUS           ·  Pure Lounge Radio       🇫🇷 FR  OGG 320k  lounge · funk
all            ·  FIP                     🇫🇷 FR  MP3 192k  eclectic
favorites      ·   Radio Swiss Jazz        🇨🇭 CH  MP3 192k  jazz
recent         ·   TSF Jazz                🇫🇷 FR  MP3 128k  jazz
blocked        ·  Jazz24                  🇺🇸 US  AAC 128k  jazz
                 ·   Linn Jazz               🇬🇧 GB  AAC 320k  jazz · audiophile
COUNTRY          ·   WBGO Newark             🇺🇸 US  MP3 128k  jazz
all               Nova Lounge             🇫🇷 FR  MP3 256k  lounge  buffering…
GB (47)        ·   KKJZ 88.1               🇺🇸 US  MP3 128k  jazz
DE (39)        ·   Couleur 3 Jazz          🇨🇭 CH  MP3 192k  jazz · alt
FR (31)        ·   Berlin Jazz Radio       🇩🇪 DE  MP3 128k  jazz
                 ·   Radio Capital Jazz      🇮🇹 IT  MP3 128k  jazz · classics
TAG              ·   Jazz Groove             🇦🇺 AU  AAC 128k  jazz
all               Sapporo Jazz            🇯🇵 JP  MP3 96k   jazz  dead
jazz (88)      ·  NTS · Jazz              🇬🇧 GB  MP3 192k  eclectic
ambient (54)   ·   Soma FM · Sonic         🇺🇸 US  MP3 128k  ambient · jazz
lounge (33)    ·  KEXP 90.3               🇺🇸 US  AAC 128k  indie · jazz
───────────────┴────────────────────────────────────────────────────────────────────────────
 ↑↓ select    play   f fav   B block   F filters   / search   , settings   ? help   q quit

Live preview · click a theme to recolor — all 14 ship in-app and switch without a restart.

On your phone

The same radio, from the notification shade.

The Android app runs headless — no screen to open. It launches, starts playing, and lives entirely in your notification and media controls. Shuffle, favourite, sync, or stop without ever leaving the shade.

r4dio media notification on Android — SomaFM Drone Zone playing, with shuffle, favourite, sync and stop controls

media controls · Android 8+ · debug-signed beta

  • Shufflejump to a random station from the full catalog, one tap.
  • Favouritestar what you love — it syncs to your other devices.
  • Syncpair with a key or QR to share favourites and hidden countries.
  • Stopkill playback and the service from the same controls.

What it does

A full radio rig that fits in a single pane.

Everything is one keystroke away. No menus to dig through, no settings you need to find before you can hear something — press enter on any station and it plays.

56,000+ stations

Backed by the community radio-browser database. Search by name or filter live by country, language, genre, codec and bitrate.

▁▃▅▇

Real-time spectrum

The signature moment — a live FFT analyzer rendered in block glyphs, all in text. Four styles — bars, mirror, dots and wave — with logarithmic frequency bins.

Favorites & history

Star stations, browse what you played recently, and block dead or unwanted streams — all as filters, never separate screens.

◉○

14 retro themes

Amber CRT, Tube Glow, Hi-Fi Paper, Shortwave Green, Cyber Neon, Atomic Terminal, Mainframe Blue, Nord, Gruvbox, Dracula, Solarized, Catppuccin, Rosé Pine and Monokai — swapped live, no restart.

Keyboard-driven

Vim-style and arrow navigation, paged scrolling, instant search, and a built-in help overlay. No mouse assumed, ever. Remap any action from an in-app keybindings overlay.

Terminal-native

Truecolor, 256 and 16-color fallbacks, optional ASCII / no-emoji mode, and clean reflow from 118 cols down to 80×24.

Get it

Download.

Prebuilt binaries — unpack and run, no dependencies to install. Each download shows its SHA256 below; verify it against the file you downloaded before running.

x86_64
Linux · glibc v—
r4dio-—-x86_64-unknown-linux-gnu.tar.gz
SHA256: —
↓ tar.gz
arm64
macOS · Apple Silicon v—
r4dio-—-aarch64-apple-darwin.tar.gz
SHA256: —
↓ tar.gz
x86_64
macOS · Intel v—
r4dio-—-x86_64-apple-darwin.tar.gz
SHA256: —
↓ tar.gz
android
Android beta
shuffle player · background media-tray controls · sync favourites across devices · mirror playback
SHA256: —
↓ apk
Build from source
$ cargo build --release -p radio-tui
Coming soon: musl (static) aarch64 .deb Windows

Release history

What changed, version by version.

Releases move fast — patch versions ship often. Every release includes prebuilt Linux and macOS binaries plus the Android APK; grab any past version from its assets below.

v1.1.0
first public release
latest

First public release

  • 56,000+ stations from radio-browser with a local SQLite + FTS cache and multi-select country / tag / codec / bitrate filters.
  • Real-time FFT spectrum with four styles — bars, mirror, dots, wave.
  • Crossfade between stations: the previous keeps playing until the next buffers.
  • 14 retro themes switched live; configurable keybindings with an in-app overlay.
  • Favorites, history and blocklist as filters; shuffle, sort, autoplay last station; session persistence.
  • Link devices by key (with QR) — favourites and blocklist stay in sync; switch station on one, the rest follow.
copied