dataairportsresourcesguide

The best free airport databases to download in 2026 (CSV)

Where to download free airport data as CSV, and which source to actually trust. We compare OurAirports, OpenFlights, GeoNames, Wikidata, and the FAA, with formats, licenses, and how current each one really is.

7 min read
Aerial view of Teterboro Airport in New Jersey, showing runways and taxiways from above.
Aerial view of Teterboro Airport in New Jersey, showing runways and taxiways from above.

If you have ever searched for something like "openflights airports database download csv", you already know the problem: there are a handful of free airport datasets floating around, they all look similar, and it is hard to tell which one is current, which one you are allowed to use, and which one will still be maintained next year.

We deal with this every day. YourFlights maps and analyzes real flights, so the airport data underneath the app has to be accurate, global, and openly licensed. This is the guide we wish we had found first.

The short answer

If you just want a free, current, global list of airports as CSV, download it from OurAirports. It is public domain, refreshed every night, and covers over 80,000 airports, including runways, frequencies, and navaids in separate files.

The famous "OpenFlights airports database" that dominates search results is still useful, but its data is a snapshot from the mid-2010s and its route data has been frozen since 2014. If you found OpenFlights first, OurAirports is almost certainly the upgrade you actually wanted.

The rest of this post explains why, and covers the other sources worth knowing about.

What "airport data" actually contains

"Airport data" is a loose term. Depending on the source, a download can include:

  • Airports: name, city, country, coordinates, elevation, and the codes below.
  • Runways: length, width, surface, lighting, and per-end headings and coordinates.
  • Frequencies: tower, ground, ATIS, and other radio frequencies.
  • Navaids: VORs, NDBs, and other radio navigation aids.
  • Airlines and routes: carriers and the city pairs they fly (this is where most free datasets are weakest and most out of date).

Most projects only need the airports table. The rest is a bonus when you want it.

IATA codes vs ICAO codes

Almost every airport dataset is keyed on two different code systems, and mixing them up is the most common mistake:

  • IATA codes are 3 letters, assigned by the International Air Transport Association, and used for passenger-facing things like tickets and baggage tags. Example: JFK. Only airports with scheduled commercial service get one, and the letters follow no geographic logic.
  • ICAO codes are 4 letters, assigned by the International Civil Aviation Organization, and used for flight operations and air traffic control. They use a geographic prefix system, so JFK becomes KJFK (K for the contiguous United States). ICAO codes cover far more airfields, including general aviation strips that never get an IATA code.

One catch worth knowing: the official IATA and ICAO code lists are commercial, licensed products, not free bulk downloads. The free datasets below aggregate those codes from public sources, which is why they are wonderfully convenient but not legally authoritative.

OurAirports: the best free airport database

OurAirports is a community-edited site that publishes its entire database as plain CSV files, regenerated every night from member contributions.

What you get (one CSV per table):

  • airports.csv: over 80,000 airports, heliports, and seaplane bases, including closed ones.
  • runways.csv: tens of thousands of runway records.
  • airport-frequencies.csv: communication frequencies in MHz.
  • navaids.csv: worldwide radio navaids.
  • countries.csv and regions.csv: lookup tables to decode the iso_country and iso_region columns.

The columns in airports.csv, in order, are:

id, ident, type, name, latitude_deg, longitude_deg, elevation_ft,
continent, iso_country, iso_region, municipality, scheduled_service,
gps_code, icao_code, iata_code, local_code, home_link,
wikipedia_link, keywords

A few notes: type tells you the size class (from small_airport up to large_airport, plus heliport, seaplane_base, and closed), scheduled_service is a simple yes/no, and ident is the stable primary key you should join on rather than assuming every row has an IATA code.

How to download it:

  • The whole set lives at ourairports.com/data. The nightly CSVs are mirrored on GitHub, for example https://davidmegginson.github.io/ourairports-data/airports.csv.
  • You can also grab a single country. For US airports only, use https://ourairports.com/countries/US/airports.csv.
  • The full data dictionary documents every column.

The license is the best part. OurAirports releases its data into the public domain (the GitHub mirror uses The Unlicense). You can use it commercially, ship it in a product, and modify it, with no attribution required. Attribution is polite, but it is not a legal obligation. The only caveat the site makes is the usual one: no guarantee of accuracy or fitness for a particular use.

This is the same open dataset YourFlights builds on, which is exactly why we recommend it: it is current, it is global, and there are no licensing strings attached.

OpenFlights: the classic, but check the date

OpenFlights is the dataset most people find first, because it has been linked from tutorials and Stack Overflow answers for over a decade. It ships three .dat files (comma separated, so they open like CSV):

  • airports.dat: around 10,000 airports. The project itself describes it as a sporadically updated static snapshot, and the primary snapshot dates to 2017.
  • airlines.dat: 5,888 airlines, last meaningfully updated around 2012. The project warns that the "active" flag is not reliable.
  • routes.dat: 67,663 routes, but the third party that supplied this data stopped updating it in June 2014. OpenFlights itself notes the route data is now "of historical value only".

We can confirm the staleness from experience: the airline table in particular has drifted badly, with codes that resolve to defunct or wrong carriers. If you need airline or route reference data, treat OpenFlights as a historical artifact, not a live source.

One more difference: OpenFlights is licensed under the Open Database License (ODbL), which requires attribution and is share-alike. That is materially more restrictive than OurAirports' public domain, and it matters if you plan to redistribute the data.

If you specifically searched for the OpenFlights CSV, here is the honest summary: for airports, OurAirports holds roughly eight times as many records, updates nightly instead of once every few years, and comes with a cleaner license. For routes and airlines, no free bulk dataset is truly current, so plan accordingly.

Other free sources worth knowing

  • GeoNames: a giant global gazetteer where airports are a subset filtered by feature codes (AIRP, AIRH, AIRF, AIRB). It is actively maintained and great for place names and coordinates, but it has no runways, frequencies, or routes. License is CC BY 4.0, so attribution is required.
  • Wikidata: airports modeled as structured items with IATA, ICAO, and coordinate properties, queryable with SPARQL and exportable to CSV or JSON. It is CC0 (public domain), but coverage and consistency vary because it is community curated.
  • FAA NASR: the authoritative United States dataset, on a 28-day update cycle, in the public domain. Extremely accurate, but US only.
  • Free-tier APIs like aviationstack and OpenSky Network exist too, but those are request-based APIs for live data, not bulk files you download once. Reach for them when you need real-time positions or flight status, not a static reference table.

Side by side

SourceAirportsExtra tablesFormatFreshnessLicenseStatus
OurAirports80,000+runways, frequencies, navaidsCSVNightlyPublic domainActive
OpenFlights~10,000 (2017)airlines, routes (frozen 2014).dat / SQLStaleODbLFrozen
GeoNamessubsetnone aviation-specificTSVFrequentCC BY 4.0Active
WikidatapartialnoneSPARQL / CSVLiveCC0Active (uneven)
FAA NASRUS onlyrunways, frequencies, navaidsCSV / AIXM28 daysPublic domainActive (US)

How to actually use the data

Once you have airports.csv, the workflow is usually the same:

  1. Load it into a spreadsheet, a database, or a dataframe (pandas reads it in one line).
  2. Filter to what you care about. For scheduled commercial airports, keep rows where scheduled_service = yes and iata_code is not empty.
  3. Join on codes. Match your own records to the dataset on iata_code or ident, and pull in the name and coordinates.
  4. Map it. The latitude_deg and longitude_deg columns drop straight into any mapping library.

Just need one airport's code?

If you landed here because you were looking up a single code (the classic "what is the code for airport X" search), you do not need the whole database. Search OurAirports directly by city or name, or look the airport up on Wikipedia, which lists both the IATA and ICAO codes near the top of every airport article.

Or skip the spreadsheet entirely

Downloading a CSV makes sense when you are building something. But if what you actually want is to see your own flying on a map, with the airports, distances, and routes already resolved for you, you do not need to touch a database at all.

That is what YourFlights is for. It runs on the same open airport data described above, so when you log or import your flights, every airport code is instantly turned into a real place with coordinates. From there you get flight statistics for distance, airlines, and aircraft, and an interactive 3D route globe of everywhere you have been.

You can bring your history in from a CSV, from OpenFlights, or from another tracker, and let the app do the joining. Download YourFlights on the App Store or open yourflights.net to try it.

Either way, now you know where the good, free airport data lives. Happy mapping.