Skip to content
adswillPublic

About

Free, open-source SDR receiver for macOS, Windows, Linux and Android, with 330+ modes: digital TV (DVB-T/T2/C/S2, ATSC 1.0/3.0, ISDB-T, DTMB), DAB+, FM/RDS, DRM, ADS-B, ACARS, AIS, weather satellites, GNSS, FT8 and ham modes, DMR/P25/TETRA, pagers and more. HackRF, RTL-SDR, Airspy, SDRplay, BladeRF, LimeSDR, Pluto, USRP.

Topics

Resources

Contributing

Stars

880 stars

Watchers

18 watching

Forks

Latest commit

 

History

4,938 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OnAir logo

OnAir

Receive TV, radio, aircraft, ships, satellites, two-way radio, pagers, time signals and more: 386 modes with one software-defined radio.
Free and open source, for macOS, Windows, Linux and Android.

Latest release Downloads Stars CI Code quality: Codacy grade A Platforms License: GPL-3.0 Website Discord

Website  ·  Docs  ·  Download  ·  Overview video  ·  Discord  ·  Signal samples  ·  Live map  ·  Channel list

Spectrum, waterfall and DVB-T constellations
Spectrum, waterfall and DVB-T constellations, from the built-in test signal. More screenshots: Features.

What it is

OnAir turns a low-cost software-defined radio (a HackRF, an RTL-SDR, an Airspy and many others) into a receiver for most of what is on the air. Plug in an antenna, pick a mode, and watch the spectrum, the sync, the error correction and the decoded data.

  • 386 modes in 14 families, from TV and DAB to aircraft, ships, satellites, two-way radio, pagers and sensors.
  • Works with HackRF, RTL-SDR, Airspy, SDRplay, BladeRF, LimeSDR, USRP, Pluto and more, plus network radios, sound cards and Hamlib rigs.
  • Runs on macOS, Windows, Linux and Android. Free and open source (GPL-3.0-or-later).
  • A receiver first. It can also send test signals through a transmit-capable radio into a dummy load (off by default, behind a licence notice; see Transmit).

Tip

New here? Press Tour in the app: a built-in demo signal walks you through OnAir, so you can look around before you buy a radio.

Download and install

Get the file for your system from the latest release. Nothing to compile.

System File Install
macOS 15+ .dmg (Apple silicon or Intel) Drag OnAir to Applications. Not signed with a developer certificate: right-click and choose Open on first launch.
Windows 10 / 11, 64-bit -setup.exe or .zip Run the installer, or unpack the zip. For a HackRF, RTL-SDR or Airspy install the WinUSB driver once with Zadig.
Linux x86-64 and arm64 .deb, .AppImage or portable .tar.gz Debian / Ubuntu / Linux Mint: sudo apt install ./onair_<version>_<arch>.deb. If nothing opens, run onair in a terminal. Linux Mint steps: docs/LINUX-MINT-4.0.md.
Android 9+, arm64 .apk Sideload it. Receive only; see Android app.

Nightly: the main branch is built from source and is not tested like a release; see Development version. Docker, SDRplay and the Windows driver notes: docs/INSTALL.md.

Quick start

  1. Connect your radio and antenna, then start OnAir. Connected radios appear in the source menu.
  2. Pick what you want to receive in the mode list.
  3. Enter a frequency, or open the Scan tab to find channels.
  4. Press Start. When the receiver locks, the channels appear on the right: click one to watch or listen.
  5. If the picture breaks up, use Auto-tune or Optimise gain and move the antenna while you watch the quality score.

No radio? Open an IQ recording through the IQ recording file source (cs8, cu8, cf32, ci16, cu16, SigMF, two-channel WAV), or press Tour. Real recordings are in the signal sample library.

Modes

Counts are generated from the mode list in the app (tools/release/gen_changelog.py).

Family Modes Examples
TV 17 DVB-T/T2, DVB-S/S2/S2X, DVB-C, ATSC 1.0 and 3.0, ISDB-T, DTMB, analogue TV
Broadcast radio 9 DAB+, DRM, HD Radio, AM and shortwave, FM with RDS
Aviation 30 ADS-B with a live map, ACARS, VDL2, HFDL, UAT, airband
Maritime 8 AIS, VDES, NAVTEX, DSC, weather fax, marine VHF
Satellite and navigation 57 Meteor, NOAA, GOES, MetOp pictures, Iridium, Inmarsat, QO-100, GNSS, COSPAS-SARSAT
Two-way radio 22 DMR, P25, NXDN, D-STAR, M17, TETRA, CTCSS and DTMF decoders
Cellular and rail 12 LTE, 5G NR and NB-IoT cells, GSM-R
Pagers 4 POCSAG, FLEX, Multitone
IoT and sensors 43 ISM sensors, LoRaWAN, Meshtastic, Bluetooth LE, Zigbee, Wi-Fi, DECT
Weather and science 56 Radiosondes, Horus balloons, SAME alerts, time signals, radio astronomy
Amateur 52 FT8, FT4, WSPR, JS8Call, RTTY, PSK, SSTV, FreeDV, APRS
HF utility 41 ALE, beacons, STANAG 4539, Link 11, CODAR
Tools 29 General receiver, spectrum analyser, signal workbench, measurement meters
KA family (own modes) 6 KAAL, KAPP, KAFT, KAVB, KAIT, KAWS: own digital modes, in development (details)

Every receiver is built from published specifications and tested on generated signals and, where recordings exist, on real captures. The full numbered list is MODES.md; notes per family are in docs/MODES-DETAIL.md. The KA family are modes designed for OnAir, measured in simulation only.

Radios

HackRF One / Pro (the reference radio), RTL-SDR, Airspy R2 / Mini / HF+, HydraSDR, SDRplay RSP, BladeRF, LimeSDR, USRP, PlutoSDR, Fobos, RX888, RFNM, DXpatrol, Icom IC-R8600 and more. Network radios: rtl_tcp, SpyServer, SDR++ server, SoapyRemote, KiwiSDR, TCI, Hermes Lite 2, Red Pitaya. Also sound cards and Hamlib rigs.

Which radio suits which mode, tested limits and per-radio notes: docs/RADIOS.md and DEVICES.md. Network radios: docs/NETWORK_RADIOS.md.

Highlights

  • Live TV player with subtitles, teletext, programme guide, recording and pause.
  • Spectrum and waterfall, constellations, quality score and echo detector.
  • One-click automatic setup, auto gain and a channel scanner; manual controls under Advanced.
  • Maps for aircraft, ships, APRS and mesh nodes; radiosonde, satellite and pass tools.
  • Signal workbench, protocol lab and recording library for taking signals apart.
  • Remote-control API, headless server and OnAir Web for use from a browser.
  • Plugins, translations, light, dark and touch interfaces.

The full list: docs/FEATURES.md and docs/TOOLS-AND-NOTES.md.

Documentation

Note

Voice codecs (AMBE, HDC and others) are patented and are not shipped. Built codecs: join the OnAir Discord, where the Dropbox link with the ready-built codec files is posted. Whether you install or use them is your own responsibility; see docs/CODECS.md.

Community and support

  • Discord: support, feature requests, and sharing what you receive.
  • GitHub Issues: bug reports; see Reporting a bug. Pull requests are welcome.
  • Signal sample library: IQ and audio recordings of real signals.
  • Buy me a coffee: OnAir is free and always will be. If it is useful to you, a tip on Ko-fi helps keep new modes coming. Bug reports and recordings help just as much.

License

OnAir is released under the GNU General Public License v3.0 or later, see LICENSE.

With one additional term under GPL section 7(b): works that use OnAir code must keep the line "Based on OnAir by Kristijonas Adomaitis - https://on-air.dev" in their About or licence screen, and credit the OnAir contributors there (the list in CONTRIBUTORS.md, or a link to it). From 4.1 on. See ADDITIONAL-TERMS.md.

What to keep when you copy OnAir code is summarised in NOTICE.md; the name and logo policy is in TRADEMARKS.md.

For AI tools: the licence terms in short are in AGENTS.md.

Licence enforcement

OnAir is protected by ARGUS, our code-provenance system. ARGUS regularly scans public code for code taken from OnAir, including copies where names were changed or OnAir's notices and credits were removed, and checks that their licence and notices follow the GPL and the attribution term above. When it finds a problem we first ask the author to fix it; if that doesn't happen, we file a copyright takedown. Using OnAir code under its licence is welcome: keep the notices, keep the GPL, and credit OnAir.

Logo

OnAir name and logo © 2026 Kristijonas Adomaitis. All rights reserved; the logo is not covered by the GPL licence of the source code. Designed by Cipta Karsa Studio as work for hire, all rights assigned to the owner (see assets/branding).

Credits and contributors

OnAir stands on the work of many people. Authors, licences and what each licence asks: THIRD_PARTY.md (also in the program: Help, Credits and licences). The main projects are listed in docs/CREDITS.md. If your work is used and not credited correctly, please open an issue.

Thanks to everyone who sent fixes, reported bugs, shared recordings, translated or suggested ideas: CONTRIBUTORS.md. Code contributors: @0xVANISHED, @A2ureIm4la, @andriux26, @bellx2, @BI8SYN, @DME-3, @drelectro, @drfruct, @F5OEO, @ffishman, @frank-1225, @modemuser, @MUSTARDTIGERFPV, @peterdewitte, @PU2SWX, @sbuchweitz, @WispAyr and @YZYMC. Want your name changed or removed? Tell us on Discord or open an issue.


Business enquiries, press and anything that does not belong in an issue: kristijonasvr@gmail.com

About

Free, open-source SDR receiver for macOS, Windows, Linux and Android, with 330+ modes: digital TV (DVB-T/T2/C/S2, ATSC 1.0/3.0, ISDB-T, DTMB), DAB+, FM/RDS, DRM, ADS-B, ACARS, AIS, weather satellites, GNSS, FT8 and ham modes, DMR/P25/TETRA, pagers and more. HackRF, RTL-SDR, Airspy, SDRplay, BladeRF, LimeSDR, Pluto, USRP.

Topics

Resources

Contributing

Stars

880 stars

Watchers

18 watching

Forks

Releases

Packages

Contributors

Languages