Air Miles Calculator logo

How far is Cape Town from Miami, FL?

The distance between Miami (Miami International Airport) and Cape Town (Cape Town International Airport) is 7667 miles / 12339 kilometers / 6663 nautical miles.

Miami International Airport – Cape Town International Airport

Distance arrow
7667
Miles
Distance arrow
12339
Kilometers
Distance arrow
6663
Nautical miles

Search flights

Distance from Miami to Cape Town

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

Vincenty's formula (applied above)
  • 7667.293 miles
  • 12339.312 kilometers
  • 6662.696 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
  • 7670.047 miles
  • 12343.744 kilometers
  • 6665.088 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 Miami to Cape Town?

The estimated flight time from Miami International Airport to Cape Town International Airport is 15 hours and 1 minutes.

Flight carbon footprint between Miami International Airport (MIA) and Cape Town International Airport (CPT)

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

Map of flight path from Miami to Cape Town

See the map of the shortest flight path between Miami International Airport (MIA) and Cape Town International Airport (CPT).

Airport information

Origin Miami International Airport
City: Miami, FL
Country: United States Flag of United States
IATA Code: MIA
ICAO Code: KMIA
Coordinates: 25°47′35″N, 80°17′26″W
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