xng documentation
xng is one native SDR decoder for the whole aviation and maritime radio stack — a single Rust binary that decodes ACARS, VDL2, HFDL, satcom, Iridium, AIS, ADS-B and more, and feeds it all to Airframes.
What xng is
Historically, monitoring the airwaves meant stitching together a dozen single-purpose decoders — acarsdec, dumpvdl2, dumphfdl, JAERO,gr-iridium, AIS-catcher, dump1090 — each running as its own process, consuming its own SDR dongle, and emitting its own incompatible output format.
xng collapses that whole zoo into one application. A single capture can feed many channels at once; every mode produces the same normalized message; and every output — console, JSON, Airframes, Prometheus, live maps — works identically across all of them. It is dual-licensed MIT or Apache-2.0, where most of the tools it replaces are GPL.
New here? Jump straight to the Quickstart — you can go from a plugged-in RTL-SDR to streaming decoded traffic in about five minutes, or try the whole pipeline on a recorded IQ file with no hardware at all.
The shape of it
One binary, xng, with a handful of subcommands and a clear pipeline:
SDR / file / stdin
→ channelizer (one capture, many channels)
→ demod → frame → application layer
→ normalized message → message bus
→ outputs: Airframes · JSON · maps · Prometheus · SBS/Beast · NMEA · MQTT · gRPC/QUICBecause the message model is shared, adding a mode does not mean learning a new tool — the runtime, outputs, stats, TUI, and feeding all keep working unchanged.
Where to go next
The docs follow the path most people take:
InstallationPrebuilt binaries, the Debian package, the Docker image, and building from source.
QuickstartDiscover your radio, find receivable signals, and watch them decode live.
ConfigurationThe station TOML file: sessions, outputs, and per-mode Airframes feeding.
Modes & decodersEvery signal xng speaks, with bands, hardware, and maturity.
CLI referenceEvery subcommand and the flags that matter.
RecipesCopy-paste setups for common stations and modes.
Project status
xng is at v0.21.0 — pre-1.0 but actively developed and already feeding production Airframes from live stations. The VHF ACARS chain is validated end-to-end; VDL2, HFDL, AIS, Mode S/ADS-B, STD-C, Aero, Iridium and several others are validated against real off-air recordings and fenced by CI regression gates. A handful of newer cores are spec-anchored with synthetic demod and climbing the same ladder — the modes page is honest about exactly where each one stands.