Air Miles Calculator logo

How far is Porto from Madrid?

The distance between Madrid (Adolfo Suárez Madrid–Barajas Airport) and Porto (Porto Airport) is 273 miles / 439 kilometers / 237 nautical miles.

The driving distance from Madrid (MAD) to Porto (OPO) is 355 miles / 572 kilometers, and travel time by car is about 6 hours 25 minutes.

Adolfo Suárez Madrid–Barajas Airport – Porto Airport

Distance arrow
273
Miles
Distance arrow
439
Kilometers
Distance arrow
237
Nautical miles

Search flights

Distance from Madrid to Porto

There are several ways to calculate the distance from Madrid to Porto. Here are two standard methods:

Vincenty's formula (applied above)
  • 272.878 miles
  • 439.155 kilometers
  • 237.125 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
  • 272.221 miles
  • 438.097 kilometers
  • 236.553 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 Madrid to Porto?

The estimated flight time from Adolfo Suárez Madrid–Barajas Airport to Porto Airport is 1 hour and 0 minutes.

Flight carbon footprint between Adolfo Suárez Madrid–Barajas Airport (MAD) and Porto Airport (OPO)

On average, flying from Madrid to Porto generates about 65 kg of CO2 per passenger, and 65 kilograms equals 144 pounds (lbs). The figures are estimates and include only the CO2 generated by burning jet fuel.

Map of flight path and driving directions from Madrid to Porto

See the map of the shortest flight path between Adolfo Suárez Madrid–Barajas Airport (MAD) and Porto Airport (OPO).

Airport information

Origin Adolfo Suárez Madrid–Barajas Airport
City: Madrid
Country: Spain Flag of Spain
IATA Code: MAD
ICAO Code: LEMD
Coordinates: 40°29′36″N, 3°34′0″W
Destination Porto Airport
City: Porto
Country: Portugal Flag of Portugal
IATA Code: OPO
ICAO Code: LPPR
Coordinates: 41°14′53″N, 8°40′53″W