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

Leave a comment

Airline editing implemented

Things have been a little quiet in OpenFlightsLand lately — this doesn’t mean we haven’t been doing anything, it’s just that it’s mostly been unglamourous bugfixing that doesn’t really warrant blog updates.

But we do have a small new feature today: in addition to our existing airport editor, we have now enabled editing for airlines as well.  The same restriction applies, namely that you have to be logged in and can only edit airlines you have added yourself.  We’ve also made public a previous hidden field that reveals whether or not the airline is considered “active”, active airlines being those that either have published routes or flights recorded within the last year in OpenFlights.  Inactive airlines will not be offered by autocompletion.

What would you like to see next?  Let us know at OpenFlights’ Feature Request Tracker.



Airline route maps launched, metric distances available

Our recently released airport route maps have been a huge hit, so we’ve now followed through on our promise and released airline route maps as well: just enter your favorite airline’s name or IATA code in the Quick Search to get their route map. As an example, here’s Slovene national airline Adria Airways (JP):

But there’s more!

  • Filters are now implemented for airport route maps, so you can see where a given airline flies to from a given airport.  Just search for an airport, then choose Carrier from the Filter menu on the right.
  • If you choose an airline map, or an airport-filtered-by-airline map, codeshare flights are now indicated with dotted lines to show that the airline does not “really” fly on that route.  (Still on the to-do list: the ability to hide codeshare destinations.)

The second new feature launched today has been our most requested feature for a while now: the ability to display distances in kilometers as well as miles.  New users can select their preference when creating an account, while existing users can go to Settings to change to kilometers if they wish.  If enabled, the main map statistics, the “Analyze” and “Top 10” statistics and “List flights” all display kilometers; however, flight distances in the flight editor are still always in miles.

With this, OpenFlights will now be entering a feature freeze in preparation for the OpenFlights Epsilon release targeted for the end of August.  The goals of Epsilon are:

  1. Shake out bugs and usability quirks to create a solid, reliable, and easy-to-use website
  2. Improve airport, airline and route database quality
  3. Make installing your own copy of OpenFlights easier by modularizing and documenting the OpenFlights software base

You can do your part by reporting any bugs you encounter.  Translators, we’ve added some new strings to OpenFlights, so your assistance in updating them would be appreciated.

Onward to the Epsilon,


Route mapping the world

So far OpenFlights has been all about mapping your own travels and seeing where others have been to, but today, we’ve taken a big step in making it your tool of choice for travel planning as well.   Now, you can click on any airport and see every single scheduled flight:

OpenFlights route map

For easy access to this, we’ve added a Quick search widget, shown expanded above but normally hiding in the bottom-right corner under the icon.  Here’s how to use it, in two easy steps:

  1. Enter the airport name, city or IATA code in the box.  OpenFlights will automatically suggest matches as you type, and if the airport is already shown on the map, OpenFlights will pop it up.
  2. Once you’ve entered a valid name, the Search button becomes active.  If you click on this, OpenFlights will load a route map showing all flights from that airport.

But there’s more!  In the popup for every airport, there’s now a Routes button, which you can also use to see the map.  If you click on the List button for the mapped airport (via popup or the top left corner), you’ll get a list of all flights operating from there; if you click on that button for another airport, you’ll get a list of all airlines connecting the two, even including codeshares.

In these route listings, you’ll see little buttons, which will take you to flight booking site with a preloaded search for the airports and airline that you have selected.  Buy your ticket from here, and OpenFlights get a little commission; just another little way to help support the site.

So, with the good stuff out of the way, it’s time to confess to a few things that we can’t do, at least not yet.

  • The route map covers routes, not schedules.  We don’t know exact flight days, times or route numbers; however, click through to Kayak, and it can usually tell you.
  • The route map covers non-stop flights only.  Singapore Airlines flies SIN-ICN-SFO, but if you click on SIN, you’ll only see the first leg.
  • The route map does not support route finding.  If there’s no direct connection, we can’t find it for you… yet.
  • Route maps are offered per airport, not per airline (although this is on the to-do list).
  • Filters, Analyze, Top 10 etc don’t work on route maps (yet?).  If you try to use them, it will just show you the data for your flights.

Last but by no means least, our thanks to our colleagues at Airline Route Mapper; without their amazing 53,000-route data file, this would never have been possible.

Routing for victory,

1 Comment

Think global, act localized

After tonight’s upgrade, OpenFlights can now support languages other than English, and we’re starting off with two: Finnish (suomi) and Japanese (日本語).  French, German and Russian are also coming soon, and we’re looking for people to help us translate other languages (more on that below).

To try out a different language, simply select it from the Language pulldown before logging in.  All existing users are still set to default to English; if you want to change this, just browse to your Settings and change the language there.

And a disclaimer: this upgrade entailed changing, quite literally, every single part of OpenFlights, so please let us know immediately if you run into any sort of error, garbage string or mistranslation.

How you can help

Creating a translated version of OpenFlights does not require any special technical skills: you just need to translate about 400 strings, mostly short but some long. You do not need to translate everything, and translating even a small part would be very helpful; somebody else can easily continue from where you left off.  All users who help will get free elite level access for a year!  Here is how you can do it:

0) Mail info at and let us know you’re interested in translating; this will help avoid duplicated effort.

1) Download and edit POEdit, a specialized editor for translation. It’s free, and versions are available for Windows, Linux and Mac.

2a) To create a new language, download a copy of this blank template:

2b) To edit an existing language, browse the “locale” directory here and find the “messages.po” file for it:

For example, English is under “en_US/LC_MESSAGES/messages.po”.
3) Load the .po file in POEdit.

4) From the “View” menu, activate “Show comments window“, so you can see comments about what strings mean.

5) Translate! Just Press CTRL-Arrow Up/Down to move between entries.

Style pointers

– Especially for short entries, try to roughly match the length of the existing string. If the English uses an abbreviation (“Reg.”), keep the translation short.

– The special strings %s, %1, %2, %3 etc are automatically filled in by OpenFlights. Keep them in the translated string, but you can change the order if you want:

"Results %1 to %2 of %3" --> "Total %3 hits, last result %2, first result %1"

– HTML markup like <tag>text</tag> or <%s>link</a> is used in some entries. Do not change content between < and >, but do translate everything else, including text inside tags. Again, you can change the order:

"<font>Blue</font> is a delicious cheese" --> "Un fromage delicieux, c'est <font>Bleu</font>"
"Look, <%s>my favorite site</a>!" --> "<%s>Lempisaittini</a>, katso!"

– If you get a “Fatal error” when saving, don’t worry, it’s not fatal at all, you’ve just typed an extra ” or % character somewhere and your changes have been saved just fine.  We can easily fix these for you.

When finished, or just tired, mail the revised .po file back and we’ll put it up for your review.

Speaking your language,


Banners, blog badges and forum signatures

Some of our users have been asking for a way to add OpenFlights stats to their websites, blogs or forum signatures.  Wait no longer, banners are now here!  Here’s mine:

Banner contents update automatically every hour.  They can be used with HTML markup (used by web and blog pages):

<a href='' target='_blank'><img src='' width=400 height=70></a>

With PHPbb markup (for bulletin boards):


Or as a simple hotlinked image:

In all the three cases above, substitute in your OpenFlights username for “yourname”.  Easier yet, just login to your OpenFlights account and click Settings, and it will generate the markup for you.

Anything else you’d like to see in a banner?  Smaller, larger, more data?  Let us know.

Flying the flag,

Leave a comment

Trains, planes and automobiles

To date, OpenFlights has been all about flying — too bad if you occasionally used other modes of transport as well. But today, a major new feature has been rolled out: instead of just flights, you can enter train, road or ship journeys as well.  This introduces a large number of other changes, some obvious, some subtle:

  • Travel is now color-coded: flights are still the familiar orange, but trains are red, trips by car brown and ships a light blue.
  • Handy icons (shown to the right) quickly tell you which mode you’ve selected.
  • For 3D Google Earth (KML) exports, land and sea journeys stay firmly anchored to the ground instead of soaring in the skies, and they’re color-coded as well.
  • A new “Mode” filter lets you filter your journeys by transportation mode.
  • Estimated travel durations are adjusted for mode, from a zippy 500 mph for flights to 100 mph for trains, 60 mph for cars and down to 40 mph for ferries.

Now, rest assured the focus of OpenFlights is and will remain on flying.  The primary purpose of allowing more than just flights is to “fill in the gaps” between those flights, which is why all journeys still have to start or end at airports.  Take a look at a sample trip that shows how this works:

The Serpent Across the Mekong

To add your own train, car and ship journeys, just switch into the Detailed editor (or pull up an airline search dialog in Basic) and choose your mode from the Flight pulldown.  We’ve also made it a little easier to enter new railway/bus/shipping companies, since there aren’t too many in the database at the moment: just hit Save after entering an unknown carrier, and you’ll be asked if you want to add it.

Last but not least, OpenFlights has switched to the Google Charts API, so those little pie charts under Analyze now look a whole lot nicer.

Find any bugs, or something simply not working the way you expect?  Let us know.

By sea, air and land,


Give your flights a spin in 3D on Google Earth

Today I’m delighted to announce OpenFlights‘ coolest feature yet: KML exports.  KML, or “Keyhole Markup Language“, is the data format used by Google Earth and many other 3D visualization programs, so now you can turn your OpenFlights maps into this:

Exporting from OpenFlights couldn’t be much easier, just click on List flights and then hit the new KML button up top.  Load the resulting file in Google Earth — just double-clicking should do the trick — and there’s your map, in glorious 3D!    And if your planet looks a little too busy, you can tweak your OpenFlights filter and export, say, only one airline’s flights or only this year’s flights.

Airports are sized and color-coded, from big and yellow (busiest) to small and green (least visited), and you can click on them for more information.  Flight routes take into account the airport’s altitude and even approximate takeoff and landing paths, although runways and actual approach paths are not accounted for.

If you want to give 3D maps a shot before you start entering your own, download this sample (337 KB) and load it in Google Earth.  Tip: zoom into an airport and “tilt” the view with your middle button/scroll wheel to see the flight paths!

Anything else you’d like to see in your KML exports?  Let us know.

Going for a spin,