RDS Surveyor is being developed by Christophe Jacquet, a radio ehtusiast.
Run RDS Surveyor 2 now in your browser!
Project links:
RDS Surveyor is a complete open-source tool for decoding and analyzing Radio Data System (RDS) data. RDS (also known as RBDS in North America) is a communication protocol for embedding streams of digital information in FM radio broadcasts.
The currently actively developed version of RDS Surveyor is version 2, a web application that runs in the browser and can be optionally installed as a standalone app. It is currently compatible with the Chrome and Edge web browsers, on all platforms, including mobile devices (smartphones, tablets).
RDS Surveyor 1 is the older, Java-based version, now considered "legacy". It can run on all platforms supported by Java, but requires the Java runtime to be present. It has been successfully used on Linux, MacOS and Windows. The main reason to use RDS Surveyor 1 in 2026 would be to use its TMC decoder, which has not yet been ported to version 2.
Supported RDS data sources and hardware
RDS Surveyor 2 can use diverse data sources:
- "Live" sources:
- RTL-SDR USB dongles.
- Si470x-based USB FM tuners (e.g. Silicon Lab's USBFMRADIO).
- Data and clock signals via sound card (e.g. output of TDA 7330).
- MPX signal via sound card, including "bride" audio interfaces, allowing to use the output from SDR programs such as SDR++.
- Recordings:
- Recorded baseband I/Q samples (in WAVE or FLAC formats).
- Recorded MPX (in WAVE or FLAC formats).
- Group streams, from RDS Surveyor itself or RDS Spy.
- Unsynchronized bit streams.
Supported RDS features
RDS Surveyor implements all basic RDS features, as well as a number of common Open Data Applications (ODAs):
| RDS feature | Support in v1 | Support in v2 |
|---|---|---|
| Basic program identification: PI, PTY, TP/TA | ✓ | ✓ |
| Program service name (PS), including intelligent handling of scrolling PS | ✓ | ✓ |
| Long program service name (LPS) defined in RDS2 | ✓ | ✓ |
| Alternative frequencies (AF) | ✓ | ✓ |
| Clock time (CT) | ✓ | ✓ |
| Radiotext (RT) with RadiotextPlus (RT+) ODA | ✓ | ✓ |
| Enhanced Radiotext (eRT) ODA | ✓ | |
| Cross-referencing of other networks (EON) | ✓ | ✓ |
| Radio paging (RP) and other historical features | ✓ | ✓ |
| Traffic Message Channel (TMC) ODA | ✓ | planned |
| EN301700 ODA (cross-referencing of DAB from RDS) | ✓ | ✓ |
| RBDS-specific features, e.g. PI-code to callsign decoding | ✓ | ✓ |
| RDS 2 upper streams decoding on compatible hardware | ✓ | |
| RDS 2 ODA support | ✓ | |
| RDS 2 station logo ODA | ✓ | |
| RDS 2 Internet connection ODA | ✓ |
Advanced RDS analysis
Contrary to off-the-shelf radio sets that give access to only a subset of RDS features, RDS Surveyor enables the user to analyze all RDS data, at various protocol levels. RDS does not discard groups with errors, instead it tries to interpret groups even when some blocks are missing. This enables RDS Surveyor to decode RDS data very quickly, even with poor reception.
The itended audience for RDS Surveyor is both end users (radio enthusiasts and professionals) who wish to get full access to RDS data, and developers who wish to re-use an RDS decoder as a library (see Github projects for licencing).
RDS Surveyor performs diagnostics of a station's use of RDS, making recommendation where it deviates from the standard or makes suboptimal use of transmission capacity.
Getting involved
Please try and use RDS Surveyor. Then you may:
- report bugs (and successes too!),
- record RDS data streams (in any format), and send them to me (especially if they contain oddities), so that I can improve RDS Surveyor.