News from OpenFlights, the site for flight logging, mapping, stats and sharing


Fixing plane autocomplete and releasing aircraft data

OpenFlights has always had a very liberal policy when it comes to entering planes for your flights: be it Boeing 737 or Santa’s Sleighanything goes, just type in the box and it’ll be accepted.  Over the years, this has led to over 70,000 different names being entered, most reasonable if occasionally misspelled (there are 28 different Beoings in there).  However, since OpenFlights will also create new planes from CSV imports, this has led to a lot of completely random cruft including large chunks of raw XML and one particularly misguided user uploading over 10,000 strings of gibberish.  And because OpenFlights used to match against the whole lot when typing in planes, this made it harder and harder to find the needles in the haystack.

So I’m glad to announce that the plane autocomplete results have been given a long-overdue reworking.   There is now a canonical list of 160-odd planes that will always show first, so entering 747 will default to Boeing 747, and common three-letter IATA codes like 772 for Boeing 777-200 are also understood.  For everything else, results are ordered by frequency of usage, so entering Tupolev now defaults to the fairly common Tu-154 (~2600 flights), not the hypersonic Tu-144 “Concordski” which hasn’t flown since 1978 and which only 3 Openflyers claim to have boarded.

What’s more, the canonical plane data is now released as open source, so you can use it to demystify the IATA and ICAO codes often found in schedules and more.

This is only the first stage in a data scrub that will next move onto airlines and finally finish off with airports, which were already given a quiet but incomplete reboot last year.  Stay tuned for more!

Plane simple,


Airport edit review now through Github

Last month, OpenFlights moved to Github, and today we’re rolling out the first new feature enabled by this: airport edits on Github.

Until now, any edits to airports not submitted by yourself were sent by e-mail to a perennially backlogged review queue, which at time of writing has some 200+ edits waiting for review.  The downsides to this were legion: aside from the wait, there was no sensible way to distribute the load, no visibility into the status, and no way to prevent duplicate copies of exactly the same edit piling up in the queue.

Effective immediately, edits are instead posted as issues on Github, like this. This means they’re visible, so you can search and see if anybody else has reported the same thing; they’re automatically deduped, so that edits to the same airport (as determined by ICAO code) get added as comments to the existing issue; and they support “subscribing”, so you can get notified when it’s commented on, accepted or rejected.

And what’s more, you can now help.  Head over to, “Watch” the repository, and configure how you’d like to be notified for new issues.  You can then review any edits and tell us if you think they should be accepted or rejected, making our job that much easier.

For time being, the autogenerated issues are pretty crude, you’re offered a chunk of SQL that you need to eyeball against any potential dupes.  We’re planning to upgrade this to a cleaner diff soon, and expand this to cover airline edits as well.

Gitting better every day,


1 Comment

OpenFlights rolls out new maps, moves to GitHub

It’s been a long time coming, but I’m delighted to announce three fairly fundamental upgrades to OpenFlights: one obvious, the other two less so, but no less important.

The first change is that OpenFlights has new maps, more specifically three of them!  They are…

The “Positron” political map tiles from CartoDB, now the new default map:

Political map

The “Open Aerial” satellite map tiles from MapQuest:

Satellite map

And an entirely new style of map, the “Watercolor” artistic map tiles from Stamen:

Artistic map

You can choose your favorite tiles by clicking on the little globe icon in the top right corner. And in addition to being pretty, all three providers should be much more reliable than our previous servers.

The reason this switchover took so long is that until now, OpenFlights was using an equirectangular (plate carrée) projection to display its maps, which is computationally very simple but doesn’t have a whole lot of other benefits, and is not very popular with modern mapping software.

The second change was thus adopting a new map projection: Web Mercator, which has become the de facto standard for online maps.  This is not a perfect solution, since Mercator maps are distorted around the poles and regions north/south of 85°N/S are clipped off entirely, but the vast majority of flight routes display fine and almost all the world’s airports can squeeze into the top level zoom without scrolling.  (Sorry, Longyearbyen!)

The third change is that OpenFlights has switched from SVN to Git, and now has a new home on Github.  Back when OpenFlights launched in 2008, Sourceforge & SVN was the standard place to way open source projects, but GitHub has long since taken over that mantle.  What’s worse, Sourceforge continues to engage in increasingly worrisome behavior, bundling malware with downloads and taking over repositories.  So long, Sourceforge; and contributors past, present and future, welcome!

It’s about forking time,

1 Comment

Survey: Do you want airline schedule/timetable data?

Everybody loves free OpenFlights airport, airline and route data, but the single most common request made to OpenFlights is, “Do you have airline schedule data?”  Or airline timetables, flight times, frequencies, or anything else you could derive from a full schedule.  Our answer remains “Sorry, no” — but that may soon change!

So if you would like to see OpenFlights offer schedule data and possibly join our beta test program, please help us out by filling out this short survey:

OpenFlights Airline Schedule Data Survey

All answers will be kept strictly confidential.   Thank you for your continued support!

Scheduling some future excitement,


OpenFlights migrated to new production server

OpenFlights has been successfully moved to a new production server today.  While there shouldn’t be much in the way of user-visible changes, the new server is twice as fast as the old one, which should provide a bit of a boost for some operations.  The long-broken blog navigation has also been repaired, and as a cherry on top, a bunch of bugs involving Tripit imports, most notably timezones, have been fixed.  That said, the upgrade involved moving to a new version of Ubuntu, Apache, PHP, MySQL and even WordPress, so there may be gremlins lurking in the machine.  Please report any bugs or oddities!

Also, if you’ve ever thought about setting up your own little copy of OpenFlights (you did know it’s open source, right?), there’s now a completely rewritten installation guide that walks you through getting it up and running on Ubuntu 12.04 LTS.

New and improved,



Import flights from TripIt

It’s been a long time coming, but I am tickled pink to announce the release of a long-awaited feature: integration of with online trip planning tool extraordinaire, which lets you create travel itineraries for flights, hotels and more automatically simply by forwarding them your reservation emails.  Here’s how it works:

  1. Log in to your OpenFlights account and select Import.
  2. In the Import dialog, choose the newly minted Import from TripIt up top.
  3. The first time only, you’ll be requested to authorize read-only access to TripIt.

You’ll then be presented with a list of your Tripit itineraries, newest first, with a separate tab for future flights.  Flights already in your OpenFlights record (same date, airports and direction) are automatically filtered out, and you can then choose Import for single flights or Import All for an entire trip.  Once done, click Close, and your newly imported flights will now be on your map.

As this is a new feature, bug reports, feedback and suggestions for improvement are very welcome.  And a big shout out to Andrew Chen for contributing virtually all the code for this!

Tripping it,

Leave a comment

OpenFlights now in Chinese! 欢迎光临OpenFlights中文版!

OpenFlights has just added over one billion potential users, thanks to a Chinese translation by sscat.  This means that OpenFlights is now available in 12 different languages, and we’re still looking for more — if you can help, take a look at the instructions!  It’s easy and no programming skills are needed.  You can also use the same instructions to edit existing translations if you find something that looks a bit funny.

And if you’re curious, here’s a breakdown of the current user base by language, with an estimate of the language’s share of Internet users in 2011 in parentheses:

  • English 75.7% (26.8%)
  • German 8.1% (3.6%)
  • Russian 8.0% (3.0%)
  • French 3.4% (3.0%)
  • Portuguese 1.1% (3.9%)
  • Spanish 0.9% (7.8%)
  • Finnish 0.9% (n/a)
  • Swedish 0.4% (n/a)
  • Japanese 0.2% (4.7%)
  • Chinese 0.1% (24.2%) — but hey, it’s only been a few days!
  • Lithuanian 0.03% (n/a)

As it turns out, the only top 10 languages not supported by OpenFlights yet are Arabic (#7) and Korean (#10).  Help us fill these gaps!

Polyglottally yours,

Leave a comment

Great Circle meets OpenFlights

Many aviation enthusiasts will be familiar with the Great Circle Mapper, a handy website that does just what it says on the box: maps great circle routes on top of a world map.  And now, thanks to a patch contributed by an OpenFlights user, you can get your OpenFlights maps up on GCM as well: just choose List flights and then click the shiny new GCMap button, which will open up GCM in another tab with a map that looks something like this:

Since the GCMap export is based on the currently shown list of flights, you can apply filters before listing and thus control the output of the map quite precisely.  And since GCM generates its maps as flat images, you can save them locally and reuse them as you wish — although it’s worth bearing in mind that GCM, an external service not affiliated with OpenFlights, retains the copyright to anything you create there.

The same kind contributor also provided the new Class by distance piechart for Analyze, which shows how much time/distance you’ve spent in each class of seat, whereas the existing Class chart just showed number of flights.  As frequent flyers will know, while short hops are quite tolerable even in steerage, it’s the long flights where those lie-flat business seats really make a difference.

In new circles,


Quick and easy URLs for airport and airline route maps

Today’s feature is a new trick by an old pony — now, you can finally open up (or link directly to) airline and airport route maps, instead of needing to go to the main page, type in your search, select the correct choice and load up the map you actually wanted.  Observe:


Alice Springs:

Singapore Changi:

In other words, take, add any of /airline/, /airport/ or /query/, and plug in either a two-letter airline IATA code (eg. AY for Finnair), a three-letter airport IATA code (ASP) or a four-letter airport ICAO code (WSSS), and you’ll get a link to a map of the airline or airport’s routes.  At the moment, it doesn’t matter which form of the URL you use, but the long-term plan is to make query behave in exactly the same way as the  search on the main page, so using the airport/airline forms is preferable if you expect the results to stay the same.

Alternatively, if you’d like to find out which airports and airlines are covered by OpenFlights, check out this page for a full listing.  As always, a tip of the hat to Airport Route Mapper for providing our data.

Maptastically yours,


Facebook updates back online, for now

A few weeks back Facebook once again broke the OpenFlights app, this time in style: by deprecating a critical API call, status updates started to aborted halfway through, causing some people to get an incessant stream of spam since the status went through, but the fact that it went through wasn’t recorded.  Gar!  My patience with Facebook long since exhausted, I simply disabled the updater for time being, but fortunately Niko was kind enough to send us a patch that seems to fix the problem and adds in country names to your updates as a bonus.

So, long story short, if you disabled your app because of this problem, you can turn it on again.  But it’s only a matter of time until Facebook breaks it again.