The airports layer

Airports, heliports and seaplane bases from a community-maintained public domain directory, with runway geometry when you zoom in far enough. It is the layer that gives every other track a destination.

Source: OurAirports, public domain, rebuilt nightly · Updates: Nightly upstream rebuild · Coverage: Worldwide, including the long tail other databases drop

Open it on the live map All map layers

Where the data comes from

OurAirports is a community-edited global airport directory, running since 2007. Anyone can register and correct or add a record, and the result is published as plain CSV files rebuilt every night. That model is exactly why it is useful here: it covers the long tail commercial databases skip, including heliports, seaplane bases, private strips and closed fields.

It is also why individual records vary in quality. The data is released into the public domain with no guarantee of accuracy or fitness for use. Attribution is not required; we credit it anyway.

What this layer loads is a filtered subset. Large, medium and small airports are kept, and within small airports only those with scheduled service, an IATA code or a well-formed four-letter ICAO code. Tens of thousands of farm strips and private fields are dropped, because nothing on this platform searches for them. Airports appear from zoom 5, more as you zoom in, and runway geometry from zoom 11. That progressive disclosure is about label collision and payload size, not data availability.

What large, medium and small actually mean

The dataset's type column takes exactly these values: large_airport, medium_airport, small_airport, heliport, seaplane_base, balloonport and closed_airport.

Here is the honest part. OurAirports defines the allowed values but publishes no quantitative definition of the size classes, pointing instead at its own map legend. The large, medium and small distinction is an editorial classification applied by contributors, broadly tracking commercial significance rather than any threshold on runway length, movements or passengers. Anyone telling you that large means a runway over 8,000 ft has invented that rule.

The non-airport classes are unambiguous. A heliport serves rotary-wing operations with no conventional runway, from a hospital rooftop to an offshore platform deck. A seaplane base is a water operating area, where the "runway" in the data is a water lane with surface code WATER. A balloonport is a launch site. A closed airport is retained deliberately, because it still appears on old charts and in historical data.

ICAO, IATA, and airports with neither

Four identifier columns exist and they are not interchangeable.

  • ICAO code, four letters, assigned under ICAO Doc 7910 and structured regionally (E for northern Europe, K for the contiguous US, Z for China, O for the Middle East and Pakistan). This is what appears in flight plans, NOTAMs, METAR and TAF bulletins and ATC systems.
  • IATA code, three letters, for commercial passenger purposes: tickets, baggage tags, timetables. Assigned to places served by commercial air transport, and not unique to aerodromes in the same way, since a metropolitan code can cover several airports.
  • ident, the dataset's own primary key. It is the ICAO code when one exists, otherwise a local code, otherwise a generated label of the form US-0123. Anything of that shape is an internal identifier and must never be shown as though it were an official code.
  • local code, a national identifier used where it differs, most often for US airports.

These are independent registries with different purposes, so the mapping is messy in all directions. Heathrow is EGLL and LHR, the normal commercial case. Thousands of general aviation, military and cargo-only aerodromes have an ICAO code but no IATA code, because no airline sells seats there. Some commercially served facilities have an IATA code but no ICAO indicator, which is common in the US where an FAA local identifier is used instead. And the large majority of records in the full dataset have neither: private strips, heliports, seaplane bases and closed fields. That is normal, not a data defect.

One trap worth knowing: codes are reused over time, and a decommissioned code can be reassigned elsewhere, so an identifier is not a stable key for historical data.

What the runway records contain

One row is one physical runway, described from both ends. The fields that matter, with the traps:

  • Length is the full runway surface, including displaced thresholds and overrun areas. It is not a declared distance. It is not TORA, TODA, ASDA or LDA and must never be presented as a usable takeoff or landing distance.
  • Heading is true, not magnetic. The runway designator (09, 27L) comes from magnetic heading rounded to the nearest 10 degrees, so designator and true heading diverge by local magnetic variation, and designators get renumbered as variation drifts. This layer draws with the true heading and labels with the designator, and does not try to compute one from the other.
  • Surface is an uncontrolled vocabulary. ASP, CON, TURF, GRS, GRE, WATER and UNK are common, but spelling and case variants exist and have to be normalized by the consumer.
  • Lighted is a single boolean. It cannot distinguish high intensity runway lighting from a row of edge lights, and says nothing about approach lighting or PAPI.
  • End coordinates are frequently missing in community data. Where they are, a runway is drawn from the airport reference point along the true heading for the stated length, which makes it schematic rather than surveyed.

What the data does not contain, and no amount of rendering can add: declared distances, slope, bearing strength, threshold crossing height, approach lighting configuration, instrument approach minima, arresting systems, or any NOTAMed temporary closure. For those, the AIP of the relevant state is the authority.

What this layer does not tell you

Every data source has an edge. These are the ones that matter for reading this layer correctly.

  • The data is community edited and public domain, with no guarantee of accuracy. Individual records vary in quality and currency.
  • Large, medium and small are editorial classifications by contributors, not thresholds on runway length, movements or passengers.
  • Runway length is the full surface including displaced thresholds and overruns, not a declared distance usable for performance calculation.
  • Runway end coordinates are often missing, in which case the geometry drawn is schematic rather than surveyed.
  • Nothing here reflects NOTAMs. A runway shown open may be closed today.
  • Small airports without scheduled service, an IATA code or a well-formed ICAO code are deliberately not loaded.

AeroScope is an situational awareness and research tool. Nothing here is approved for air traffic control, navigation, flight planning or collision avoidance. For operational decisions, use the authoritative source named above.

Questions

Why does this airport have no IATA code?
Because no airline sells seats there. ICAO and IATA are independent registries with different purposes: ICAO codes exist for aerodromes that appear in flight plans and aeronautical publications, IATA codes exist for places served by commercial air transport. Thousands of general aviation, military and cargo-only fields have one and not the other, and most records in the full dataset have neither.
What is the difference between a large and a medium airport here?
Less than you would hope. OurAirports defines the allowed values but publishes no quantitative rule, so the size class is an editorial judgment by contributors that broadly tracks commercial significance. It is not a threshold on runway length or traffic.
Can I use the runway length for performance planning?
No. The length field is the full runway surface including displaced thresholds and overrun areas, which is not the same as the declared distances used for performance. Those come from the state's AIP.
Why do runways only appear when I zoom in?
Runway geometry is drawn from zoom 11 because labels collide and payload grows quickly at lower zooms. The data is present at all zooms, it is the display that is progressive.