Methodology
Every number on this site is computed from the sources below by our own code. This page explains each step and shows how well it holds up against independent figures.
Sources and licences
| Data | Source | Licence |
|---|---|---|
| Airports, runways, frequencies, countries, regions | OurAirports (refreshed weekly) | Public domain |
| Land outlines for maps | Natural Earth 1:50m and 1:110m land | Public domain |
| Time-zone rules | IANA tz database (via Python’s zoneinfo and the browser) | Public domain |
| Time-zone boundaries | timezone-boundary-builder via the timezonefinder package | ODbL; © OpenStreetMap contributors |
| Choosing which airports get guides | Wikidata annual passenger counts (P3872); used for ranking only, not published | CC0 |
| Airport photos | Wikimedia Commons; author and licence on each photo | CC BY, CC BY-SA, CC0 or public domain |
| Model calibration | Typical scheduled durations listed on flightsfrom.com route pages, read October 2026 (facts used to fit and test the model; not republished beyond the table below) | — |
Distance
Distances are great circles — the shortest path along the surface — between the airports’ reference points, using the haversine formula on a sphere of radius 6,371.0088 km (the IUGG mean radius). The true ellipsoidal distance differs by at most about 0.5%, a few dozen kilometres on the longest routes. Miles are statute miles (1.609344 km); nautical miles are 1.852 km. Initial headings are true (not magnetic) courses at departure; along a great circle the heading keeps changing.
The maps use the Natural Earth projection, centred on each route, with land from Natural Earth. A great circle generally looks curved on a flat map; that curve is the straight line on the globe.
Flight-time model
We estimate the scheduled gate-to-gate (block) time — what an airline timetable shows — not the time in the air. The route is split into 48 segments along the great circle, and each is flown at a typical airspeed plus a wind that depends on latitude:
time = a + Σ segment length ÷ (v + W(φ) · sin θ)
W(φ) = W₀ · exp(−((|φ| − φ₀) ÷ σ)²)
θ is the segment’s course (sin θ = 1 due east, −1 due west), so an eastbound segment gains the wind and a westbound one loses it, while north–south segments are unaffected. W(φ) is a band of westerly wind centred on latitude φ₀ in both hemispheres — a smooth stand-in for the subtropical and polar jet streams. The fixed term a covers taxiing, climb, descent, approach and the padding airlines build into schedules.
| a (fixed overhead) | 63.2 minutes |
|---|---|
| v (typical speed) | 881 km/h |
| W₀ (peak mean westerly) | 95 km/h |
| φ₀ (latitude of peak) | 41.1° |
| σ (band width) | 23.4° |
The five parameters were fitted by least squares (Nelder–Mead) to 109 published typical scheduled durations on 55 routes, from 300 km (Boston–New York) to 15,300 km (Singapore–New York). The fitted values are physically sensible: a jet’s cruise ground speed in still air is around 850–900 km/h, and the mean westerly at cruise height peaks around 30–45° latitude.
What it can’t know: seasonal winds (the jet stream is stronger in winter, so real eastbound times vary through the year), airspace closures and detours, aircraft type, airport congestion, and each airline’s own padding. It estimates a nonstop flight; we don’t know whether one operates.
Validation
Errors are leave-one-route-out: for each route, the model was refitted without both of its directions and then asked to predict them, so no route helps predict itself. (Fitted on all routes at once, the mean error is 12.5 minutes.) The average bias is 0.1 minutes. The largest misses are LAX→PEK (-93 min), LHR→SIN (-62 min), PEK→LAX (-53 min), SYD→DFW (+51 min), SYD→DXB (+56 min): seasonal winds, real routings and airline padding the model doesn’t capture. We left 4 directions between London and Tokyo or Hong Kong out of the fit because airlines have flown long detours around Russian airspace since 2022; on those, our great-circle estimate is 1 h 17 to 2 h 40 shorter than the timetable, which is roughly the detour. Two Perth–London directions were left out as low-confidence references.
| Direction | Distance | Published | Our estimate | Error | Note |
|---|---|---|---|---|---|
| BOS→JFK | 300 km186 mi | 1 h 25 | 1 h 25 | 0 min | |
| JFK→BOS | 300 km186 mi | 1 h 23 | 1 h 22 | -1 min | |
| LHR→CDG | 348 km216 mi | 1 h 20 | 1 h 26 | +6 min | |
| CDG→LHR | 348 km216 mi | 1 h 25 | 1 h 28 | +3 min | |
| LHR→AMS | 370 km230 mi | 1 h 25 | 1 h 27 | +2 min | |
| AMS→LHR | 370 km230 mi | 1 h 20 | 1 h 31 | +11 min | |
| LHR→DUB | 449 km279 mi | 1 h 30 | 1 h 37 | +7 min | |
| DUB→LHR | 449 km279 mi | 1 h 25 | 1 h 32 | +7 min | |
| SFO→LAX | 543 km337 mi | 1 h 35 | 1 h 38 | +3 min | |
| LAX→SFO | 543 km337 mi | 1 h 30 | 1 h 43 | +13 min | |
| LHR→FRA | 654 km406 mi | 1 h 40 | 1 h 44 | +4 min | |
| FRA→LHR | 654 km406 mi | 1 h 40 | 1 h 52 | +12 min | |
| SYD→MEL | 706 km439 mi | 1 h 35 | 1 h 56 | +21 min | |
| MEL→SYD | 706 km439 mi | 1 h 25 | 1 h 48 | +23 min | |
| HND→CTS | 820 km510 mi | 1 h 35 | 1 h 59 | +24 min | |
| CTS→HND | 820 km510 mi | 1 h 40 | 2 h 01 | +21 min | |
| DEL→BOM | 1,137 km706 mi | 2 h 25 | 2 h 23 | -2 min | |
| BOM→DEL | 1,137 km706 mi | 2 h 15 | 2 h 19 | +4 min | |
| LHR→MAD | 1,244 km773 mi | 2 h 30 | 2 h 30 | 0 min | |
| MAD→LHR | 1,244 km773 mi | 2 h 25 | 2 h 26 | +1 min | |
| ICN→NRT | 1,257 km781 mi | 2 h 30 | 2 h 21 | -9 min | |
| NRT→ICN | 1,257 km781 mi | 2 h 40 | 2 h 39 | -1 min | |
| CPT→JNB | 1,272 km790 mi | 2 h 00 | 2 h 25 | +25 min | |
| JNB→CPT | 1,272 km790 mi | 2 h 15 | 2 h 36 | +21 min | |
| SIN→BKK | 1,417 km880 mi | 2 h 35 | 2 h 40 | +5 min | |
| BKK→SIN | 1,417 km880 mi | 2 h 35 | 2 h 40 | +5 min | |
| ORD→DEN | 1,426 km886 mi | 2 h 50 | 2 h 52 | +2 min | |
| DEN→ORD | 1,426 km886 mi | 2 h 38 | 2 h 31 | -7 min | |
| GRU→EZE | 1,723 km1,071 mi | 3 h 00 | 3 h 08 | +8 min | |
| EZE→GRU | 1,723 km1,071 mi | 2 h 45 | 2 h 55 | +10 min | |
| JFK→MIA | 1,757 km1,092 mi | 3 h 17 | 3 h 07 | -10 min | |
| MIA→JFK | 1,757 km1,092 mi | 3 h 08 | 2 h 59 | -9 min | |
| DXB→BOM | 1,925 km1,196 mi | 3 h 15 | 3 h 08 | -7 min | |
| BOM→DXB | 1,925 km1,196 mi | 3 h 05 | 3 h 22 | +17 min | |
| SYD→AKL | 2,159 km1,342 mi | 3 h 10 | 3 h 17 | +7 min | |
| AKL→SYD | 2,159 km1,342 mi | 3 h 40 | 3 h 47 | +7 min | |
| SEA→ANC | 2,326 km1,445 mi | 3 h 48 | 3 h 51 | +3 min | |
| ANC→SEA | 2,326 km1,445 mi | 3 h 35 | 3 h 33 | -2 min | |
| LHR→ATH | 2,427 km1,508 mi | 3 h 45 | 3 h 36 | -9 min | |
| ATH→LHR | 2,427 km1,508 mi | 4 h 00 | 4 h 03 | +3 min | |
| LHR→IST | 2,487 km1,545 mi | 3 h 55 | 3 h 39 | -16 min | |
| IST→LHR | 2,487 km1,545 mi | 4 h 00 | 4 h 09 | +9 min | |
| HKG→SIN | 2,566 km1,594 mi | 4 h 00 | 4 h 00 | 0 min | |
| SIN→HKG | 2,566 km1,594 mi | 4 h 05 | 3 h 56 | -9 min | |
| HND→HKG | 2,903 km1,804 mi | 4 h 50 | 4 h 36 | -14 min | |
| HKG→HND | 2,903 km1,804 mi | 4 h 15 | 4 h 08 | -7 min | |
| ATL→LAX | 3,126 km1,942 mi | 4 h 58 | 5 h 00 | +2 min | |
| LAX→ATL | 3,126 km1,942 mi | 4 h 17 | 4 h 17 | 0 min | |
| SYD→PER | 3,277 km2,036 mi | 5 h 05 | 5 h 11 | +6 min | |
| PER→SYD | 3,277 km2,036 mi | 4 h 15 | 4 h 27 | +12 min | |
| YYZ→YVR | 3,346 km2,079 mi | 5 h 15 | 5 h 15 | 0 min | |
| YVR→YYZ | 3,346 km2,079 mi | 4 h 35 | 4 h 31 | -4 min | |
| MEX→JFK | 3,365 km2,091 mi | 5 h 00 | 4 h 39 | -21 min | |
| JFK→MEX | 3,365 km2,091 mi | 5 h 45 | 5 h 07 | -38 min | |
| JFK→LAX | 3,974 km2,469 mi | 6 h 19 | 6 h 05 | -14 min | |
| LAX→JFK | 3,974 km2,469 mi | 5 h 23 | 5 h 08 | -15 min | |
| LAX→HNL | 4,108 km2,553 mi | 6 h 00 | 6 h 06 | +6 min | |
| HNL→LAX | 4,108 km2,553 mi | 5 h 28 | 5 h 23 | -5 min | |
| JFK→SFO | 4,152 km2,580 mi | 6 h 37 | 6 h 19 | -18 min | |
| SFO→JFK | 4,152 km2,580 mi | 5 h 34 | 5 h 19 | -15 min | |
| BOS→LHR | 5,240 km3,256 mi | 6 h 45 | 6 h 32 | -13 min | |
| LHR→BOS | 5,240 km3,256 mi | 7 h 40 | 7 h 33 | -7 min | |
| DOH→LHR | 5,241 km3,257 mi | 7 h 25 | 7 h 31 | +6 min | |
| LHR→DOH | 5,241 km3,257 mi | 6 h 45 | 6 h 34 | -11 min | |
| DXB→LHR | 5,498 km3,416 mi | 7 h 55 | 7 h 51 | -4 min | |
| LHR→DXB | 5,498 km3,416 mi | 7 h 05 | 6 h 49 | -16 min | |
| JFK→LHR | 5,540 km3,442 mi | 7 h 05 | 6 h 51 | -14 min | |
| LHR→JFK | 5,540 km3,442 mi | 8 h 05 | 7 h 55 | -10 min | |
| JFK→CDG | 5,834 km3,625 mi | 7 h 25 | 7 h 08 | -17 min | |
| CDG→JFK | 5,834 km3,625 mi | 8 h 25 | 8 h 19 | -6 min | |
| AMS→JFK | 5,848 km3,634 mi | 8 h 15 | 8 h 17 | +2 min | |
| JFK→AMS | 5,848 km3,634 mi | 7 h 15 | 7 h 12 | -3 min | |
| FRA→JFK | 6,189 km3,846 mi | 8 h 45 | 8 h 43 | -2 min | |
| JFK→FRA | 6,189 km3,846 mi | 7 h 40 | 7 h 32 | -8 min | |
| SIN→SYD | 6,293 km3,910 mi | 7 h 45 | 7 h 58 | +13 min | |
| SYD→SIN | 6,293 km3,910 mi | 8 h 25 | 8 h 28 | +3 min | |
| ORD→LHR | 6,344 km3,942 mi | 7 h 50 | 7 h 45 | -5 min | |
| LHR→ORD | 6,344 km3,942 mi | 9 h 00 | 8 h 50 | -10 min | |
| MIA→MAD | 7,106 km4,415 mi | 8 h 35 | 8 h 26 | -9 min | |
| MAD→MIA | 7,106 km4,415 mi | 10 h 15 | 9 h 58 | -17 min | |
| GRU→JFK | 7,664 km4,762 mi | 9 h 55 | 9 h 54 | -1 min | |
| JFK→GRU | 7,664 km4,762 mi | 9 h 50 | 9 h 36 | -14 min | |
| SEA→ICN | 8,373 km5,203 mi | 11 h 55 | 11 h 12 | -43 min | |
| ICN→SEA | 8,373 km5,203 mi | 10 h 05 | 9 h 59 | -6 min | |
| LAX→LHR | 8,760 km5,443 mi | 10 h 30 | 10 h 25 | -5 min | |
| LHR→LAX | 8,760 km5,443 mi | 11 h 20 | 11 h 41 | +21 min | |
| LAX→HND | 8,812 km5,476 mi | 12 h 05 | 12 h 07 | +2 min | |
| HND→LAX | 8,812 km5,476 mi | 10 h 00 | 10 h 11 | +11 min | |
| JNB→LHR | 9,075 km5,639 mi | 11 h 25 | 11 h 33 | +8 min | |
| LHR→JNB | 9,075 km5,639 mi | 11 h 10 | 11 h 11 | +1 min | Low-confidence reference (service suspended or value uncertain) |
| GRU→LHR | 9,460 km5,878 mi | 11 h 20 | 11 h 32 | +12 min | |
| LHR→GRU | 9,460 km5,878 mi | 11 h 40 | 12 h 07 | +27 min | |
| LHR→HND | 9,592 km5,960 mi | 13 h 25 | 11 h 35 | -110 min | Real routing avoids Russian airspace (since 2022) |
| HND→LHR | 9,592 km5,960 mi | 15 h 00 | 12 h 20 | -160 min | Real routing avoids Russian airspace (since 2022) |
| HKG→LHR | 9,630 km5,984 mi | 14 h 35 | 12 h 46 | -109 min | Real routing avoids Russian airspace (since 2022) |
| LHR→HKG | 9,630 km5,984 mi | 12 h 35 | 11 h 18 | -77 min | Real routing avoids Russian airspace (since 2022) |
| PEK→LAX | 10,037 km6,237 mi | 12 h 35 | 11 h 42 | -53 min | |
| LAX→PEK | 10,037 km6,237 mi | 14 h 45 | 13 h 12 | -93 min | |
| SIN→LHR | 10,883 km6,762 mi | 13 h 55 | 14 h 16 | +21 min | |
| LHR→SIN | 10,883 km6,762 mi | 13 h 40 | 12 h 38 | -62 min | |
| DXB→JFK | 11,002 km6,836 mi | 14 h 15 | 14 h 33 | +18 min | |
| JFK→DXB | 11,002 km6,836 mi | 12 h 45 | 12 h 42 | -3 min | |
| SFO→HKG | 11,128 km6,915 mi | 15 h 00 | 14 h 49 | -11 min | |
| HKG→SFO | 11,128 km6,915 mi | 12 h 30 | 12 h 45 | +15 min | |
| SFO→SYD | 11,950 km7,425 mi | 15 h 00 | 15 h 10 | +10 min | |
| SYD→SFO | 11,950 km7,425 mi | 13 h 33 | 14 h 12 | +39 min | |
| DXB→SYD | 12,043 km7,483 mi | 13 h 50 | 14 h 16 | +26 min | |
| SYD→DXB | 12,043 km7,483 mi | 14 h 25 | 15 h 21 | +56 min | |
| LAX→SYD | 12,061 km7,494 mi | 15 h 10 | 15 h 17 | +7 min | |
| SYD→LAX | 12,061 km7,494 mi | 13 h 48 | 14 h 20 | +32 min | |
| DFW→SYD | 13,808 km8,580 mi | 17 h 10 | 17 h 23 | +13 min | |
| SYD→DFW | 13,808 km8,580 mi | 15 h 25 | 16 h 16 | +51 min | |
| PER→LHR | 14,508 km9,015 mi | 17 h 30 | 18 h 23 | +53 min | Low-confidence reference (service suspended or value uncertain) |
| LHR→PER | 14,508 km9,015 mi | 16 h 50 | 16 h 47 | -3 min | Low-confidence reference (service suspended or value uncertain) |
| SIN→JFK | 15,341 km9,532 mi | 18 h 15 | 18 h 31 | +16 min | |
| JFK→SIN | 15,341 km9,532 mi | 18 h 55 | 18 h 23 | -32 min |
“Published” is the typical all-carrier scheduled duration listed for that direction; individual flights vary by roughly ±10–20 minutes. Estimates on route pages are rounded to the nearest 5 minutes.
Time zones
Each airport’s IANA time zone comes from its coordinates, looked up in the timezone-boundary-builder polygons (via timezonefinder). Clock offsets, daylight saving dates and arrival times are then computed with the IANA rules for the actual date — on the server for the page text, and in your browser for the calculator.
Check: we compared the UTC offset in January and July 2026 against an independent airport time-zone list (OpenFlights). Of 3,035 airports in both, 3,011 agree (99.2%), including all 259 airports with guides on this site. We looked at every disagreement:
- Two corrections were applied to our lookup: Gold Coast (OOL), whose runway straddles the Queensland–New South Wales border, runs on Queensland time; and airports in Xinjiang (Ürümqi and others) use Beijing time, the official time used by airlines and airports, rather than the unofficial local Xinjiang time that the zone polygons give.
- The remaining 24 are mostly the reference being out of date (Mexico ended daylight saving in 2022; Yukon kept summer time permanently from 2020; southern Chile) or having a wrong zone for a small airport.
All 24 remaining disagreements
| Airport | Our zone | Reference | Our reading |
|---|---|---|---|
| AAP Aji Pangeran Tumenggung Pranoto International Airport | Asia/Makassar | America/Chicago | Reference coordinates or zone are wrong for this airport |
| AVR Amravati Airport | Asia/Kolkata | Europe/Lisbon | Reference coordinates or zone are wrong for this airport |
| AWK Wake Island Airfield | Pacific/Wake | Pacific/Johnston | Reference coordinates or zone are wrong for this airport |
| BBA Balmaceda Airport | America/Coyhaique | America/Santiago | Reference out of date: the zone's rules changed after the reference was compiled (Magallanes keeps UTC−3 all year since 2016; Aysén since 2025) |
| BOR Bokeo International Airport | Asia/Vientiane | Europe/Paris | Reference coordinates or zone are wrong for this airport |
| BUA Buka Airport | Pacific/Bougainville | Pacific/Port_Moresby | Ours is right: Bougainville keeps UTC+11 |
| BWO Balakovo Airport | Europe/Saratov | Europe/Moscow | Ours is right: Saratov region moved to UTC+4 in 2016 |
| CJS Abraham González International Airport | America/Ciudad_Juarez | America/Mazatlan | Reference out of date: the zone's rules changed after the reference was compiled (Mexico ended DST in 2022; border cities follow US DST) |
| CUU General Roberto Fierro Villalobos International Airport | America/Chihuahua | America/Mazatlan | Reference out of date: the zone's rules changed after the reference was compiled (Mexico ended DST in 2022; border cities follow US DST) |
| FEN Fernando de Noronha Airport | America/Noronha | America/Fortaleza | Ours is right: Fernando de Noronha keeps UTC−2 |
| MAM General Servando Canales International Airport | America/Matamoros | America/Mexico_City | Reference out of date: the zone's rules changed after the reference was compiled (Mexico ended DST in 2022; border cities follow US DST) |
| NLD Quetzalcóatl International Airport | America/Matamoros | America/Mexico_City | Reference out of date: the zone's rules changed after the reference was compiled (Mexico ended DST in 2022; border cities follow US DST) |
| PDS Piedras Negras International Airport | America/Matamoros | America/Mexico_City | Reference out of date: the zone's rules changed after the reference was compiled (Mexico ended DST in 2022; border cities follow US DST) |
| PNT Lieutenant Julio Gallardo Airport | America/Punta_Arenas | America/Santiago | Reference out of date: the zone's rules changed after the reference was compiled (Magallanes keeps UTC−3 all year since 2016; Aysén since 2025) |
| PUQ President Carlos Ibáñez International Airport | America/Punta_Arenas | America/Santiago | Reference out of date: the zone's rules changed after the reference was compiled (Magallanes keeps UTC−3 all year since 2016; Aysén since 2025) |
| REX General Lucio Blanco International Airport | America/Matamoros | America/Mexico_City | Reference out of date: the zone's rules changed after the reference was compiled (Mexico ended DST in 2022; border cities follow US DST) |
| TBT Tabatinga International Airport | America/Eirunepe | America/Boa_Vista | Ours follows the zone polygons (Amazonas west, UTC−5); uncertain |
| XKS Kasabonika Airport | America/Winnipeg | America/Toronto | Uncertain: small Ontario community on the zone boundary |
| YDA Dawson City Airport | America/Dawson | America/Vancouver | Reference out of date: the zone's rules changed after the reference was compiled (Yukon and Fort Nelson keep UTC−7 all year since 2020) |
| YGR Îles-de-la-Madeleine Airport | America/Halifax | America/Toronto | Ours is right: Magdalen Islands use Atlantic time |
| YNA Natashquan Airport | America/Blanc-Sablon | America/Toronto | Ours is right: eastern Côte-Nord keeps Atlantic time |
| YQH Watson Lake Airport | America/Whitehorse | America/Vancouver | Reference out of date: the zone's rules changed after the reference was compiled (Yukon and Fort Nelson keep UTC−7 all year since 2020) |
| YXY Whitehorse / Erik Nielsen International Airport | America/Whitehorse | America/Vancouver | Reference out of date: the zone's rules changed after the reference was compiled (Yukon and Fort Nelson keep UTC−7 all year since 2020) |
| YYE Fort Nelson Airport | America/Fort_Nelson | America/Vancouver | Reference out of date: the zone's rules changed after the reference was compiled (Yukon and Fort Nelson keep UTC−7 all year since 2020) |
Runway diagrams
Each diagram is drawn by this site from the latitude and longitude of both runway ends in OurAirports, projected to metres around the airport and drawn to scale, with the runway width from the same record (exaggerated slightly at large airports so narrow runways stay visible). A runway is left out of the drawing if its end coordinates are missing or disagree badly with its published length. Taxiways, aprons and buildings are not shown, and the diagrams are not for navigation.
Which airports and routes get pages
The calculator covers every airport that OurAirports lists as large or medium, with scheduled passenger service and an IATA code: 3,245 airports.
Airport guides (265) cover the busiest airports by annual passengers (best recent year in Wikidata, used only for choosing), plus every airport at the end of a route guide.
Route guides (591) are a curated list, not every combination: trunk routes between the busiest hubs, the main domestic corridors, and well-known leisure and long-haul pairs. A route guide does not mean the route is flown nonstop today.
Lists are computed over all 3,245 airports; each list page states what it measures.
Refresh: OurAirports data is re-downloaded and the whole site rebuilt every week; time-zone offsets and the arrival examples are recomputed at each build. Last build: 31 October 2026.