OpenFlights is a tool that lets you map your flights around the world, search and filter them in all sorts of interesting ways, calculate statistics automatically, and share your flights and trips with friends and the entire world (if you wish). It's also the name of the open-source project to build the tool. Read more about it in the FAQ.

Having completed its Alpha, Beta and Gamma test phases, OpenFlights is now in its Delta phase: all core functionality is implemented, but development on new features continues. If you'd like to be informed about major updates to the site, subscribe to our blog or follow us on your favorite social networking/microblogging site:


Bug reports and feature requests should be filed on GitHub.

To get in touch with the team behind OpenFlights, send mail to info at openflights dot org or info at contentshare dot sg.

OpenFlights is brought to you by Jani Patokallio and Contentshare.

Site statistics

Generated on
2016-02-12 12:01:19

Registered users 36779 Total flights 2981797 Flights added yesterday 0
Top 10 users by flights
All time
98424 Sep1AllFlights 65549 pedro.m.capelo 40490 naisoild 40303 allflights 34147 Up In The Air 11789 askalin 10634 finnair 9388 buslai 7874 qpeng 7179 millotrv

Last week
761 Travellingalf 220 jcadavid 189 joko 135 Larryebaum 127 Dennybob 127 bpcarolan 121 SecretaryOfState 109 Spiridonov 108 GlobalOne 82 sumaru
Top 10 users by miles
All time
76995481 Sep1AllFlights 75803326 pedro.m.capelo 48237668 finnair 46662011 naisoild 43809906 allflights 39387448 Up In The Air 17485258 askalin 12883853 buslai 9549565 pokesalad 8410018 danielhauenstein

Last week
412399 jcadavid 385586 Travellingalf 379718 ExtremeFlights 348682 SecretaryOfState 275948 Dennybob 254544 bpcarolan 205537 joel.berman@gmail.com 202741 joko 168812 wayne329 125762 Larryebaum
Top 10 users by popularity
All time
14540 ichliebefliegen 12265 scom 10528 hs 10185 jpatokal 8978 micheletrn 8825 puerrtto 8405 FlyerChrisK 7914 jms_uk 7169 brab 6607 loukanine
Top 10 routes		
MEL ↔	SYD	 13031
GKA ↔	GKA	 11754
SFO ↔	LAX	  8629
SFO ↔	ORD	  6681
BNE ↔	SYD	  6448
SFO ↔	JFK	  5969
LAX ↔	JFK	  5684
HKG ↔	SIN	  5667
LHR ↔	JFK	  5461
SFO ↔	SEA	  5174
Top 10 airlines	
United Airlines     	197491
Delta Air Lines     	159281
Lufthansa           	157517
American Airlines   	131764
British Airways     	 75890
US Airways          	 68956
Air France          	 63340
Ryanair             	 61008
Scandinavian Airline	 54001
Qantas              	 49117
Top 10 airports		
Heathrow            	LHR	147438
Frankfurt Main      	FRA	140461
Chicago Ohare Intl  	ORD	128187
Los Angeles Intl    	LAX	100857
Hartsfield Jackson A	ATL	 97453
San Francisco Intl  	SFO	 96924
Franz Josef Strauss 	MUC	 92802
Charles De Gaulle   	CDG	 92548
Schiphol            	AMS	 84138
John F Kennedy Intl 	JFK	 78917

Recent changes


* Bugfix: Fix CSS for layer switcher


* Switch map projection to from plate carree to Web Mercator
* Migrate to new tile servers using MapBox, MapQuest, Stamen

--discontinuity --


* Bugfix: Miles in table sort incorrectly (2053276)


* Support for Italian, Korean added


* TripIt: Better handle trips with no flight segments
* TripIt: Fix the duration calculation; indicate when picking up/losing a day (or two)
* TripIt: Fix per-segment radio buttons when clicking on text instead of button.
* TripIt: Use actual flight arrival/departure times, if available.


* TripIt: Improve messaging for logging in with a partner account.


* Bugfix: TripIt: Do not attempt to resolve IATA airport and airline codes if not passed in
  (input validation)


* Bugfix: Add a proper background behind the layer selector and expand based on text contents.
* Change the font color on the map to white when using the blue marble map layer.


* Render badge with anti-aliased font.  Remove extra space between days and hours if <10 hours.
* First pass at TripIt integration.


* Tech: Add PDO-based database handle.  Update submit.php and helper.php#gcDistance() to
  use PDO-based dbh.
* Bugfix: Check userid when editing a flight.


* Tech: Dynamically generate URLs that contain file mtimes.


* Add ellipsis to truncated notes in flight list.
* Make Class and Reason radio button names clickable to improve flight entry usability.


* Bugfix: Add some margin above/below the Analyze charts to accommodate mouseover highlight.


* Update OpenLayers to 2.11.  Fixes Android compatibility.


* Bugfix: Can't export airline maps to CSV 


* Change charts on analysis page to JavaScript-based charts.
* Show counts for each pie chart entry.


* Bugfix: Unable to login after session expiry (2915135)
* Tech: Airport search migrated to JSON, cleaned up

* Bugfix: Adding new flights after screen reload fixed
* Tech: Login migrated to JSON


* Add exports to GCMap (courtesy of Andrew Chen)
* Add "Class by distance" pie chart to stats (courtest of Andrew Chen)


* Add /query/X URLs for direct access to airport, airline route maps


* Allow users to submit corrections to airports they do not own (3178838,3107183)


* Bugfix: Block export of demo data when not logged in


* Bugfix: Facebook updates should work again (thanks Niko!)


* Optimized/compressed images, JavaScript, CSS with Zoompf for faster loading


* Bugfix: FlightMemory import check for non-IATA airlines broken
* Bugfix: Some FlightMemory dates incorrectly parsed to include 00:00:00 timestamps


* Migrated FlightMemory import code to phpQuery
* Bugfix: FlightMemory imports with non-ASCII characters fail (2824341) 
* Bugfix: Use correct UTF-8 byte order mark in CSV exports
* Bugfix: CSV imports handled middle seats incorrectly sometimes


* New "All" option in Top X, implements More than Top 50 in "Top 10" section (3089206)
* Bugfix: Banner in miles instead of kilometers (3091634)


* Dates and times can now be entered without separators (3074343)
* Bugfix: Error after connecting to facebook app (with different user) (3084823)


* Bugfix: Password sometimes exposed in URL after login (2915139)
* SQL optimization for banner generation, user status up/downgrades


* Facebook app reworked to use application tab instead of profile box


* Bugfix: E-mail address validation is too strict (3026793)


* Bugfix: Facebook fatal error when adding app (3014614)
* Bugfix: BHD (Belfast City Airport) won't display (3015921)


* Feature: Automated password resets (2915137)
* Bugfix: Unable to change password (2918400)


* Bugfix: Wrong airport listed in Analyze -> Airport Records (2982048)
* Bugfix: Arrival time overwritten if airports entered afterwards (2986989)
* YYYY-MM-DD format now used consistently for dates
* Test cases updated


* Bugfix: Flight duration shown as NaN and won't allow saving the flt (2986974)


* Bugfix: Trip edit/delete broken (2823849)
* Bugfix: DST computed correctly for first day


* Fixes to SQL schema creation, data loader
* PHP backend revised to use $_GET/POST instead of $HTTP_GET/POST_VARS
* Updated OpenFlights widget documentation


* Soft launch of OpenFlights widget


* "Reset" tab added to Facebook app
* Bugfix: Facebook app now requires offline_access, stores session correctly
* Bugfix: Facebook should display distances based on user preferences (2931556)


* Update and cleanup sql directory
* Remove GAD from distribution


* Bugfix: Distance/duration display not getting cleared when exiting edit mode
* Bugfix: Facebook app "View map" link broken


* Clean up GC rendering code a bit
* Bugfix: Loading selected airport actually works now
* Bugfix: Flights rendered by reported distance, not actual distance (2911041)
* Feature: Keep private trips really private (2924818)


* Add airport search button to airport popups
* Selected airport loaded into search when clicking plane icon
* Allow prev/next through airport query results until user actually initiates a new search
* Cleaner handling of edit/non-edit mode for airport selection
* Unit test cases for PHP helper functions
* Bugfix: Airline editor bugs for user-entered airlines (2921315)


* Facebook app migrated from template bundles to stream publishing
* Bugfix: Facebook caching buggy (2924046)


* Assume two-char tabbed quick searches are airlines
* Added favicons for About, Donate, FAQ
* Bugfix: Completely reworked handling of tabs before autocompletion (2921386)
* Bugfix: Do not return airlines after a successful airport match in limit-1 quicksearch (2921386)
* Bugfix: Fix tabbed quick searches for airlines (2920325)


* December route map update
* News separated from index.php


* Bugfix: Fixed geographical (NASA) map layer


* Bugfix: Tabs (and other whitespace) trimmed from flight number, seat, reg


* Bugfix: Editing corrupted flight distances in km
* Bugfix: Around the world distance computed incorrectly for km (2826981)


* Optimized 'main airport in cluster' algorithm (last is always largest)
* Add cluster mark, fix airport order in cluster tooltips


* Upgraded to OpenLayers 2.8 RC5
* Added labels and tooltips to airports (2515935)
* Implemented clustering strategy
* Replaced NavToolbar control with Navigation control
* Bugfix: Ghosted airports show up funny in IE (2529004)


* Updated route map database


* Editing of existing airlines implemented
* Display whether or not airline is active in search
* Filter out non-active airlines from IATA searches
* Bugfix: Pre-entering airline, mode into "New airline" dialog fixed


* Bugfix: Debugging alertbox removed from Trip editor


* Bugfix: Future flights imported correctly from FlightMemory


* Bugfix: Decimal timezones accidentally truncated in duration calculations


* Bugfix: Correct nasty bug in handling km conversions in some locales (1.6 was turning into 1,6)


* Launched Spanish (es) and Portuguese (pt)
* Bugfix: Correct airport dialog popped up when autocompleting preexisting airport
* Bugfix: Default to codeshares off when first showing airline map
* Bugfix: Tab indexes for main screen (first username block, only then quicksearch)
* Bugfix: mi/km indicated for Longest/Shortest flight in "Analyze"


* Plane name added to registration automatically for FlightMemory imports
* Add byte-order mark to CSV exports so Excel understands that they're UTF-8
* Workaround: Non-ASCII characters stripped from FM imports before parsing (2824341)
* Bugfix: Suppress PHP warnings for missing airports/airlines


* Bugfix: Trip edit/delete broken (2823849)


* Airline maps default to direct only, codeshares can be enabled in filter
* Non-IATA airlines now filtered out from quicksearch
* Inactive airlines now filtered out from quicksearch
* No map resizing when routemap airline filter is changed
* Bugfix: Airport location shown even when there are no routes


* Lithuanian updated
* Bugfix: Airline maps gray out all airports with codeshares (2822898)


* Quick search now supports airlines
* Airline filter can now be used for airport route maps
* Codeshare flights now shown as dotted lines
* Distances can be shown in mi or km
* Statsbox not shown in route map mode
* Purged unused strings from localizations
* Bugfix: Gap between world halves on some resolutions should be eliminated now
* Bugfix: Refresh forced when changing language on logging in


* Bugfix: Airport add from Import now works (2820603)


* Launched German (de), Lithuanian (lt), Polish (pl), Swedish (sv)
* New icons for layer switcher, minimap
* Fix tab index bug for search


* Airport route maps added (courtesy of Airline Route Mapper)
* Quick search widget added
* Autocomplete functionality changed, with fast delete (reset) of previously autocompleted entries
* DB licenses changed to Open Database License


* Duplicate IATA codes no longer allowed


* Language selector available for profile, trip display
* Switch UI language to user preference on login
* Bugfix: Facebook "Sign up" link was broken
* Additional translation for Finnish (fi)


* Top 10 Airports generation sped up 100x
* Bugfix: __FLIGHTS__ raw string popping up in English


* Fixes for Basic editor in non-English languages
* Minor UI tweaks for localization
* Updated Japanese strings


* Launched French (fr), Russian (ru)


* Localization implemented
* Launched Finnish (fi), Japanese (ja)
* Started French (fr)
* Most HTML pages changed to PHP
* URL rewriting so ".php" tag not needed
* Database converted to UTF-8
* JS/PHP data input/output UTF-8 proofed (knock knock)


* Bugfix: Flights now sorted by time as well as date
* Bugfix: Facebook app now handles case where user denies app access
* Cleaner logging for FB app


* Bugfix: URL parsing for IE broken, now fixed


* Banner images added, with caching system
* Automatic generation of HTML, phpBB banner code in Settings


* Bugfix: Loop flights (same source and dest airport) now work in "Basic" mode
* Test cases for multi, loop flights added


* Bugfix: Links from Facebook with "?ref=nf" added to end now work


* Segments by train, road or sea added (2509953)
* Extra filter option "mode" added
* Added pie chart of travel modes to Analyze
* Unknown airlines and other carriers can now pop up Add New dialog
* KML now implements directory hierarchy and color-codes segments based on mode
* Replaced clunky JS pie chart code with Google Charts API
* Airline search test cases added
* Autocomplete airline test cases added
* Bugfix: Better handling of blanked airport, airline names
* Bugfix: Adding airlines with long names now updates select
* Bugfix: Duration of "0:60" now rendered correctly as "1:00"


* Bugfix: Restore textbox class correctly after hint text restoration


* Top 10 allows sorting by flight count or distance (2168185)
* Top 10 can also show top 20, 50 flights (2495106)
* Top 10 CSS rewritten (use padding instead of border-spacing), works better on IE
* Top 10 test cases added


* Facebook: "Today" flights posted earlier, at 01:00 EST
* Facebook: Multiple "today" flights can be posted


* Facebook app can now post update on flight day
* Preferences added to Facebook app
* Tooltips added to OpenLayers map controls
* Bugfix: Flight edits no longer show up on Facebook, stats


* Bugfix: Calculate PHP GC distance correctly for flights where src==dest


* KML exports (Google Earth etc) added!
* Wrote 3D path code in php/greatcircle.php
* Bugfix: Filters for CSV exports fixed


* "Analyze" now includes count of countries, avg length, duration
* php/stats.php partly JSON-ified
* "Trip" filter prominence reduced
* Clearer "Help" icons
* "X" icon now OpenFlights Purple(tm)


* Facebook app now includes a map of flights
* Bugfix: Facebook updates show airports in correct order


* GAD replaced with OurAirports
* Over 1000 new airports imported from OurAirports
* Added DB index to IATA column for faster searching
* Require at least four digits of precision for new airports


* Cleaner appearance for statsbox, AJAX icon when loading
* Login form only shown after loading complete
* Bugfix: "Analyze" works again on IE7
* Bugfix: Popups work again on IE7 (bug in Prototype?)
* Bugfix: Syntax error fixed, importing works again


* Airport/airline databases released
* Airport/airline search now usable without logging in
* Bugfix: Duplicated airlines when importing


* Departure time and arrival time now supported
* Timezones and daylight savings time (DST) added to airport database/search
* Distance, duration, date, departure time, arrival time kept synced to each other
* Distance, duration validated before saving
* FlightMemory import now supports arrival times
* CSV format imports and exports departure times
* CSV spec updated to 0.4 (optional departure time added)
* Bugfix: Can now export the flights of a single airport


* Airline always shown (if possible) in "List flights" view
* Airline autocompleted from flight number only if it looks like IATA/ICAO code
* Bugfix: Popup toolbar manipulation no longer attempted unless logged in


* Upgraded to OpenLayers 2.7
* Enabled mod_deflate in Apache
* Future flights shown with dotted lines and ghosted airports
* Future flights in italics in flight listings


* Facebook application released
* Facebook link status visible in Settings
* Bugfix: Don't blank stats on automatic relogin after page reload


* Pressing "ENTER" after password submits log in form.
* Stats cleared out ("Loading...") during login/logout process.


* Username lowercased before password hashing.  "Legacy" passwords still recognized.


* Challenge-handshake authentication now implemented (password no longer sent in clear)
* Move to top of settings/signup screen on any error
* Bugfix: Linefeed, carriage return, tab now filtered out from flight notes
* Bugfix: Do not accept empty as new password


* "Keep historical airline names?" now preserves FlightMemory airline names as is
* scriptaculous loading optimized (6 HTTP requests less)
* blank.gif added for OpenLayers 
* Bugfix: Multiple matches for airline names now processed correctly


* Bugfix: Blank class, reason no longer assigned defaults when edited
* Bugfix: Autocompletion of airline in Detailed editor fixed


* OpenFlights Delta released!
* OpenFlights blog and "Elite" donation/level system launched
* New, large, user-friendly settings screen, with Elite Gold options implemented
* Password-protected private profiles implemented
* Adjustments to button layout for Basic editor
* Bugfix: Fixes to Top 10 stats formatting (2484923)
* Bugfix: Trip filter works again
* Bugfix: Advanced airline search for Basic editor fixed
* Bugfix: Callsigns now work in advanced airline search
* Bugfix: Help button no longer displayed when not available



OpenFlights is brought to you by Contentshare.

1 Pearl Bank #12-07
169016 Singapore

Open-source packages used to create this software include OpenLayers, Prototype, script.aculo.us, WiseGuysOnly Autocompletion, Sortable Table, Simple Calendar Widget, Movable Type Scripts (Great Circle), MD5 and PHP Simple HTML DOM Parser.

Special thanks to the OpenFlights beta testing team of FlyerTalk users FCYTravis, marc, sbm12 and trsqr.