Every range ring, runway limit and fuel figure on PlaneRange comes from one model, fitted to the payload-range charts Boeing and Airbus publish for airport planners. This page covers where the data comes from, how I turned the charts into numbers, the equations, and how far off the result is for each aircraft. If something here is wrong, I want to know.
I'm Daniel Gauthier, and PlaneRange is a one-person project. I've worked as a software engineer for five years and have a Master's in Computer Science, focused on CS education and cybersecurity. I've run an ADS-B receiver since 2018, feeding FlightAware, Flightradar24 and adsb.lol, and I upload aircraft photos to FlightAware. The aircraft photos on this site are mine.
Boeing calls them Airplane Characteristics for Airport Planning (ACAP). Airbus calls them Aircraft Characteristics. Airports use them to plan gates, taxiways and runways, and I use two sections of each:
The first version of PlaneRange started from brochure ranges instead, and that was a mistake. A brochure range is quoted for a typical cabin, but the old model treated it as the range at maximum payload. For the Boeing 737 MAX 8 it used 3,550 nm where the ACAP chart shows about 2,500 nm at MZFW, so a full aircraft could reach up to 40% farther on the map than it really can.
The charts are pictures in a PDF, so the first job is turning lines back into numbers. There are two kinds of page:
Boeing plots zero fuel weight directly. Airbus plots payload, so I convert it using the chart's own empty weight: MZFW from the weight table minus the chart's maximum payload.
I trace the reduced takeoff weight lines as well as the outer envelope. On the envelope alone, a more efficient aircraft and one with smaller fuel reserves push the curve out by about the same amount, so the fit can't tell them apart. The reduced-weight lines separate the two, and they are also what a departure from a short runway uses.
So far that is 42 charts, 143 lines and 11,445 points. Some types have one chart per engine.
Specific range, the distance an aircraft flies per kilogram of fuel, falls as the aircraft gets heavier. I model it as:
W is the current weight and Wref is the chart's MTOW. With n = 1 this is the Breguet range equation. The charts don't follow Breguet exactly, so n is fitted as well. For the 787-9 it comes out at 0.92.
Range is the distance flown while the weight falls from takeoff to landing:
Reserves follow the chart's own rules. I model them as a distance flown at landing weight (the diversion, hold and approach allowance) plus contingency fuel of 5% of trip fuel that is carried but not burned. The 747-400 chart uses FAR international rules, so its contingency is 10%.
That leaves three constants per chart: K, n and the reserve distance. I fit them by least squares across every traced point on the chart. Points more than four times the RMS error off the curve (100 nm at minimum) are dropped once and the fit is run again. Those are tracing mistakes, usually a trace that snapped onto a label.
The fit runs in Python. The map runs the same equations in TypeScript, and the test suite replays every traced point through the TypeScript version, so a data change that moves an aircraft off its chart fails the tests. Because it is one model, passengers, bags, cargo, fuel capacity and runway length always trade against each other the same way, and flying the ring's full range burns exactly the fuel that fits in the tanks.
RMS is the typical miss across all of a chart's points, and "worst" is the single biggest miss. 31 of the 42 fits below are within 30 nm RMS, and all are within 59 nm. The A330 family and the A340-600 are the loosest. Their charts have a kink near maximum payload, where the initial cruise altitude limit takes over, and a smooth curve can't follow it. That costs up to about 3% of range right at MZFW. The biggest single misses are mostly at the ends of a line, where the curve turns sharply.
| Aircraft | ACAP chart | RMS | Worst |
|---|---|---|---|
| Airbus A220-100 | Figure 1 Zero Fuel Weight (ZFW) vs Range ISA (A220-100), p. 161 | 19 nm | 58 nm |
| Airbus A220-300 | Figure 1 Zero Fuel Weight (ZFW) vs Range ISA (A220-300), p. 175 | 16 nm | 66 nm |
| Airbus A319-100 | Payload/Range - ISA Conditions (A319-100), p. 148 | 6 nm | 15 nm |
| Airbus A320-200 | Payload/Range - ISA Conditions (A320-200), p. 161 | 6 nm | 22 nm |
| Airbus A320neo | Payload/Range - ISA Conditions (A320neo), p. 163 | 23 nm | 88 nm |
| Airbus A321-200 | Payload/Range - ISA Conditions (A321-100/-200), p. 172 | 5 nm | 17 nm |
| Airbus A321neo | Payload/Range - ISA Conditions (A321neo), p. 174 | 35 nm | 90 nm |
| Airbus A330-200 (CF6-80E1) | Payload / Range - ISA Conditions, GE CF6-80E1 (A330-200), p. 266 | 40 nm | 145 nm |
| Airbus A330-200 (PW4000) | Payload / Range - ISA Conditions, PW 4000 (A330-200), p. 264 | 44 nm | 174 nm |
| Airbus A330-200 (Trent 700) | Payload / Range - ISA Conditions, RR Trent 700 (A330-200), p. 265 | 41 nm | 146 nm |
| Airbus A330-300 (CF6-80E1) | Payload / Range - ISA Conditions, GE CF6-80E1 (A330-300), p. 271 | 59 nm | 172 nm |
| Airbus A330-300 (PW4000) | Payload / Range - ISA Conditions, PW 4000 (A330-300), p. 269 | 56 nm | 168 nm |
| Airbus A330-300 (Trent 700) | Payload / Range - ISA Conditions, RR Trent 700 (A330-300), p. 270 | 56 nm | 170 nm |
| Airbus A330-900 | Payload / Range - ISA Conditions, RR Trent 7000 (A330-900), p. 273 | 46 nm | 174 nm |
| Airbus A340-300 | Payload / Range - ISA Conditions, CFM56-5C4, 257 t MTOW (A340-300), p. 168 | 28 nm | 73 nm |
| Airbus A340-600 | Payload / Range - ISA Conditions, RB211 Trent 556 (A340-600), p. 175 | 57 nm | 103 nm |
| Airbus A350-900 | Payload/Range - ISA Conditions (A350-900), p. 228 | 40 nm | 134 nm |
| Airbus A350-1000 | Payload/Range - ISA Conditions (A350-1000), p. 229 | 36 nm | 93 nm |
| Airbus A380-800 (GP7200) | Payload/Range - ISA Conditions, GP7200 (A380-800), p. 127 | 22 nm | 65 nm |
| Airbus A380-800 (Trent 900) | Payload/Range - ISA Conditions, Trent 900 (A380-800), p. 126 | 20 nm | 63 nm |
| Boeing 717-200 | payload-range capability, p. 7 | 14 nm | 36 nm |
| Boeing 737-700 | Payload/Range for Long Range Cruise: Model 737-700, -700W, p. 63 | 12 nm | 50 nm |
| Boeing 737-800 | Payload/Range for Long Range Cruise: Model 737-800, -800W, p. 65 | 12 nm | 86 nm |
| Boeing 737-900 | Payload/Range for Long Range Cruise: Model 737-900, -900W, p. 66 | 9 nm | 46 nm |
| Boeing 737-900ER | Payload/Range for Long Range Cruise: Model 737-900ER, -900ERW, p. 67 | 9 nm | 64 nm |
| Boeing 737 MAX 8 | Payload/Range for Long Range Cruise: Model 737-8, p. 41 | 13 nm | 82 nm |
| Boeing 737 MAX 9 | Payload/Range for Long Range Cruise: Model 737-9, p. 43 | 10 nm | 61 nm |
| Boeing 757-200 (PW2037/PW2040) | Payload/Range for Long-Range Cruise: Model 757-200 (PW2037, PW2040), p. 40 | 29 nm | 228 nm |
| Boeing 757-200 (RB211-535E4/E4B) | Payload/Range for Long-Range Cruise: Model 757-200 (RB211-535E4, -535E4B), p. 39 | 29 nm | 130 nm |
| Boeing 757-300 | Payload/Range for 0.80 Mach Cruise: Model 757-300 (PW2040, PW2043), p. 42 | 10 nm | 28 nm |
| Boeing 767-300ER (CF6-80C2B7F1) | Payload/Range: Model 767-300ER, Long-Range Cruise (CF6-80C2B7F1), p. 61 | 20 nm | 86 nm |
| Boeing 767-300ER (PW4060/PW4062) | Payload/Range: Model 767-300ER, Long-Range Cruise (PW4062), p. 62 | 23 nm | 84 nm |
| Boeing 767-400ER | Payload/Range: Model 767-400ER, Long-Range Cruise (CF6-80C2B8), p. 65 | 16 nm | 69 nm |
| Boeing 777-200ER | Payload/Range for 0.84 Mach Cruise: Model 777-200 (High Gross Weight), p. 45 | 13 nm | 69 nm |
| Boeing 777-200LR | Payload/Range for 0.84 Mach Cruise: Model 777-200LR, p. 43 | 14 nm | 91 nm |
| Boeing 777-300ER | Payload/Range for 0.84 Mach Cruise: Model 777-300ER, p. 44 | 12 nm | 77 nm |
| Boeing 787-8 | Payload/Range for Long-Range Cruise: Model 787-8, p. 36 | 17 nm | 40 nm |
| Boeing 787-9 | Payload/Range for Long-Range Cruise: Model 787-9, p. 37 | 29 nm | 58 nm |
| Boeing 787-10 | Payload/Range for Long-Range Cruise: Model 787-10, p. 38 | 11 nm | 48 nm |
| Boeing 747-400 (CF6-80C2B1F) | Payload/Range: Model 747-400, 0.85 Mach Cruise (CF6-80C2B1F), p. 63 | 19 nm | 55 nm |
| Boeing 747-400 (RB211-524G/H) | Payload/Range: Model 747-400, 0.85 Mach Cruise (RB211-524G), p. 65 | 10 nm | 50 nm |
| Boeing 747-8 Intercontinental | Payload/Range: Model 747-8, p. 35 | 22 nm | 87 nm |
These aircraft have no chart of their own but share a wing and engines with one that does. They use that aircraft's fitted constants with their own weights.
| Aircraft | Uses the chart of |
|---|---|
| Airbus A321neo LR | Airbus A321neo |
| Airbus A321XLR | Airbus A321neo |
| Boeing 737 MAX 7 | Boeing 737 MAX 8 |
| Boeing 737 MAX 10 | Boeing 737 MAX 9 |
I don't have a payload-range chart for these aircraft yet: Boeing 727-200, Boeing 707-120B, Douglas DC-8-63, McDonnell Douglas MD-80, Boeing 777X-9, Embraer E170, Embraer E175, Embraer E175-E2, Embraer E190, Embraer E195, Embraer E190-E2, Embraer E195-E2, Bombardier CRJ-700, Bombardier CRJ-900, ATR 72-600, Fokker 70, Fokker 100, Gulfstream G280, Gulfstream G650ER, Bombardier Challenger 650, Bombardier Global 7500, Cessna Citation XLS+, Embraer Phenom 300E, Dassault Falcon 8X, Aérospatiale/BAC Concorde, Ryan Aircraft Spirit of St. Louis, Douglas DC-3, Boeing 314 Clipper. They are calibrated on their published range figures, using the median exponent and reserve distance from the charted fleet. Treat their numbers as less certain than the ones above.
The general aviation aircraft (Cessna 172 Skyhawk, Cessna 208B Grand Caravan, Piper PA-28 Cherokee, Cirrus SR22, Beechcraft Bonanza G36) are calibrated on the full-fuel range from their Pilot's Operating Handbook, with n = 1 and no contingency. They have no zero fuel weight limit, so payload trades directly against fuel up to MTOW.
A few novelty entries have no weight data at all and use a simple curve through their published ranges: Wright Brothers Wright Flyer, Wright Brothers Wright Flyer III, Blériot XI, Goodyear GZ-20A Blimp, Boeing / NASA 747 Shuttle Carrier, Boeing VC-25A (Air Force One), Apple MacBook Neo, Aero Spacelines Super Guppy Turbine.
PlaneRange is for exploring how aircraft performance works. It is not a flight planning or dispatch tool.
If you have an ACAP chart or POH page I'm missing, or a number here looks wrong, email me at [email protected]. The aircraft in the "no chart available" list are the ones I'd most like to move onto real charts.