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.
RDS Surveyor comes in two flavors:
- RDS Surveyor 2 is the newer version: it is 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.
- RDS Surveyor 1 is the older, Java-based version. 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.
RDS Surveyor 2 is currently in beta and it lacks some of RDS Surveyor 1's features. However, as of March 2025, development is active and we expect the missing features to be added in the coming weeks or months.
Supported RDS data sources and hardware
RDS Surveyor can use diverse data sources:
Source | Support in v1 | Support in v2 |
---|---|---|
RTL-SDR USB dongles | ✓ | ✓ |
Si470x-based USB FM tuners (e.g. Silicon Lab's USBFMRADIO) | ✓ | ✓ |
GNS FM9 TMC receiver | ✓ | |
RDS-compatible Video4Linux receivers (on Linux) | ✓ | |
Data and clock signals via sound card (e.g. output of TDA 7330) | ✓ | planned |
Log files from itself or RDS Spy (both synchronized group data or unsynchronized bitstreams) | ✓ | ✓ |
Recorded samples of the multiplex (MPX) signal | ✓ | ✓ |
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) | ✓ | in progress |
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 and ODAs | planned |
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. RDS Surveyor is open source; see the respective Github pages for the licenses.
How to help?
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.