Air Miles Calculator logo

How far is Barcelona from Cape Town?

The distance between Cape Town (Cape Town International Airport) and Barcelona (Barcelona–El Prat Airport) is 5284 miles / 8503 kilometers / 4592 nautical miles.

Cape Town International Airport – Barcelona–El Prat Airport

Distance arrow
5284
Miles
Distance arrow
8503
Kilometers
Distance arrow
4592
Nautical miles

Search flights

Distance from Cape Town to Barcelona

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

Vincenty's formula (applied above)
  • 5283.825 miles
  • 8503.492 kilometers
  • 4591.518 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
  • 5305.080 miles
  • 8537.698 kilometers
  • 4609.988 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 Cape Town to Barcelona?

The estimated flight time from Cape Town International Airport to Barcelona–El Prat Airport is 10 hours and 30 minutes.

Flight carbon footprint between Cape Town International Airport (CPT) and Barcelona–El Prat Airport (BCN)

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

Map of flight path from Cape Town to Barcelona

See the map of the shortest flight path between Cape Town International Airport (CPT) and Barcelona–El Prat Airport (BCN).

Airport information

Origin Cape Town International Airport
City: Cape Town
Country: South Africa Flag of South Africa
IATA Code: CPT
ICAO Code: FACT
Coordinates: 33°57′53″S, 18°36′6″E
Destination 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