Air Miles Calculator logo

How far is Shanghai from Barcelona?

The distance between Barcelona (Barcelona–El Prat Airport) and Shanghai (Shanghai Pudong International Airport) is 6143 miles / 9885 kilometers / 5338 nautical miles.

Barcelona–El Prat Airport – Shanghai Pudong International Airport

Distance arrow
6143
Miles
Distance arrow
9885
Kilometers
Distance arrow
5338
Nautical miles

Search flights

Distance from Barcelona to Shanghai

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

Vincenty's formula (applied above)
  • 6142.504 miles
  • 9885.401 kilometers
  • 5337.690 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
  • 6129.431 miles
  • 9864.363 kilometers
  • 5326.330 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 Barcelona to Shanghai?

The estimated flight time from Barcelona–El Prat Airport to Shanghai Pudong International Airport is 12 hours and 7 minutes.

Flight carbon footprint between Barcelona–El Prat Airport (BCN) and Shanghai Pudong International Airport (PVG)

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

Map of flight path from Barcelona to Shanghai

See the map of the shortest flight path between Barcelona–El Prat Airport (BCN) and Shanghai Pudong International Airport (PVG).

Airport information

Origin Barcelona–El Prat Airport
City: Barcelona
Country: Spain Flag of Spain
IATA Code: BCN
ICAO Code: LEBL
Coordinates: 41°17′49″N, 2°4′42″E
Destination Shanghai Pudong International Airport
City: Shanghai
Country: China Flag of China
IATA Code: PVG
ICAO Code: ZSPD
Coordinates: 31°8′36″N, 121°48′18″E