Air Miles Calculator logo

How far is Shanghai from Frankfurt?

The distance between Frankfurt (Frankfurt Airport) and Shanghai (Shanghai Hongqiao International Airport) is 5498 miles / 8848 kilometers / 4777 nautical miles.

Frankfurt Airport – Shanghai Hongqiao International Airport

Distance arrow
5498
Miles
Distance arrow
8848
Kilometers
Distance arrow
4777
Nautical miles

Search flights

Distance from Frankfurt to Shanghai

There are several ways to calculate the distance from Frankfurt to Shanghai. Here are two standard methods:

Vincenty's formula (applied above)
  • 5497.810 miles
  • 8847.867 kilometers
  • 4777.466 nautical miles

Vincenty's formula calculates the distance between latitude/longitude points on the earth's surface using an ellipsoidal model of the planet.

Haversine formula
  • 5485.525 miles
  • 8828.097 kilometers
  • 4766.791 nautical miles

The haversine formula calculates the distance between latitude/longitude points assuming a spherical earth (great-circle distance – the shortest distance between two points).

How long does it take to fly from Frankfurt to Shanghai?

The estimated flight time from Frankfurt Airport to Shanghai Hongqiao International Airport is 10 hours and 54 minutes.

Flight carbon footprint between Frankfurt Airport (FRA) and Shanghai Hongqiao International Airport (SHA)

On average, flying from Frankfurt to Shanghai generates about 649 kg of CO2 per passenger, and 649 kilograms equals 1 431 pounds (lbs). The figures are estimates and include only the CO2 generated by burning jet fuel.

Map of flight path from Frankfurt to Shanghai

See the map of the shortest flight path between Frankfurt Airport (FRA) and Shanghai Hongqiao International Airport (SHA).

Airport information

Origin Frankfurt Airport
City: Frankfurt
Country: Germany Flag of Germany
IATA Code: FRA
ICAO Code: EDDF
Coordinates: 50°1′35″N, 8°32′35″E
Destination Shanghai Hongqiao International Airport
City: Shanghai
Country: China Flag of China
IATA Code: SHA
ICAO Code: ZSSS
Coordinates: 31°11′52″N, 121°20′9″E