Air Miles Calculator logo

How far is Cape Town from Barcelona?

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

Barcelona–El Prat Airport – Cape Town International Airport

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

Search flights

Distance from Barcelona to Cape Town

There are several ways to calculate the distance from Barcelona to Cape Town. 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 Barcelona to Cape Town?

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

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

On average, flying from Barcelona to Cape Town 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 Barcelona to Cape Town

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

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 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