Tooling

Marine AIS Decoders

AIS-catcher, rtl-ais, OpenCPN — decode ship AIS broadcasts and plot them on charts.

AIS (Automatic Identification System) is the marine equivalent of ADS-B: every ship over 300 GT broadcasts position, course, speed, and identity on 161.975 / 162.025 MHz. With an RTL-SDR and a VHF antenna near the coast, you can paint every ship within ~50 NM onto a chart. Cross-link with SDR Receivers, Aviation Decoders for the parallel ADS-B workflow, and Pi Classic Projects.

Decoders

  • AIS-catcher — modern, fast, cross-platform AIS decoder. Reads from RTL-SDR / Airspy / SDRplay / HackRF / SoapySDR / file. Outputs NMEA-0183 / JSON / web UI / database. Built-in web frontend with ship tracking map. GPL. The 2026 default.
  • rtl-ais — older RTL-SDR-only AIS decoder; lightweight; outputs NMEA over UDP. Still in active distros. GPLv2.
  • gnuais / aisdecoder — older C decoders; obsolete for new installs.
  • AISHub Dispatcher — closed; for forwarding AIS streams to AISHub network.

Chart plotters / map UIs

  • OpenCPN — open-source chart plotter (the marine equivalent of Foreflight / Navionics for non-commercial use). Reads AIS via NMEA-0183 / NMEA-2000 / TCP. Plugin ecosystem — AISradar plugin, OcpnChartTool, GRIB weather plugin. Cross-platform. GPLv2.
  • AIS-catcher built-in web UI — the simplest "open browser, see ships" path; no OpenCPN install needed.
  • MarineTraffic web client — closed cloud; aggregates feeders.
  • VesselFinder web client — same niche as MarineTraffic.

Feeder networks

  • MarineTraffic — the dominant aggregator; feed your station and get a free premium account. Closed feeder ('feeder app' or via direct NMEA forwarding from AIS-catcher).
  • AISHub — open-philosophy network; share ⇌ get aggregated data.
  • VesselFinder — accepts feeders; closed.
  • Sailwx / shiptrak — older / sunset.
  • AISStream.io — newer 2025-launched API-first AIS aggregator; pay per query.

Hardware

  • RTL-SDR Blog v4 — works fine; but you need a real VHF marine-band antenna (162 MHz, λ/4 ≈ 18 inches). The bundled stub antenna is useless for AIS.
  • Dual-channel AIS receivers (Quark-Elec QK-A026, dAISy 2+, Comar SLR350N) — purpose-built receivers that decode both A (161.975) and B (162.025) channels simultaneously without an SDR. ~$150–250. The NMEA over USB variants drop straight into OpenCPN. Better sensitivity than RTL-SDR for AIS specifically.
  • Marine VHF antenna — Shakespeare 5215 / Metz Manta-6 / boat-mounted 4 ft VHF. Higher = much more range.
  • Class A vs Class B ships — Class A (cargo / tanker) transmits at 12.5 W, Class B (yacht) at 2 W. Range depends entirely on antenna height for both.

Practical guidance

  • Antenna at the coast. AIS is line-of-sight; 50 NM is realistic from a hilltop or coastal high-rise. Inland is hopeless.
  • Filter the FM band. A ~150 MHz high-pass or AIS notch filter ahead of the SDR helps in cities.
  • Channel A and Channel B together. AIS-catcher decodes both at once from a single RTL-SDR; rtl-ais is also dual-channel. Don't tune one channel only.
  • MMSI lookups. AIS messages identify ships by 9-digit MMSI; ITU's MMSI database is public. AIS-catcher's web UI cross-references it.
  • Class A vs Class B reporting rate. Class A ships report position every 2–10 seconds; Class B reports every 30 seconds. Class B will look "jumpy" on the map; that's normal.
  • Boat use: aboard, you typically want a dedicated dAISy 2+ or Quark QK-A026 wired into OpenCPN over USB; an SDR is overkill and a power hog.

License / pricing notes

  • AIS-catcher / rtl-ais / OpenCPN — all FOSS (GPL).
  • MarineTraffic / VesselFinder — closed networks; free feeder accounts in exchange for sharing.
  • AISHub — open philosophy; data shared back as bulk feeds.
  • dAISy 2+ / Quark-Elec / Comar — closed-firmware hardware receivers; NMEA output is open standard so your data is portable.
  • AISStream.io — paid API for live AIS data; useful if you don't have antenna access.

Pick this if…

  • Default 2026 land-station AIS: AIS-catcher + RTL-SDR Blog v4 + a marine VHF antenna on the roof.
  • Onboard yacht AIS: dAISy 2+ or Quark QK-A026, into OpenCPN.
  • Default chart plotter: OpenCPN.
  • Just want a webpage with ships: AIS-catcher's built-in web UI.
  • Feed a public network: MarineTraffic (best coverage) or AISHub (most open).
  • No antenna access, just want data: AISStream.io API.

On this page