# How far is Shanghai from Macau?

The distance between Macau (Macau International Airport) and Shanghai (Shanghai Hongqiao International Airport) is 785 miles / 1264 kilometers / 682 nautical miles.

The driving distance from Macau (MFM) to Shanghai (SHA) is 952 miles / 1532 kilometers, and travel time by car is about 17 hours 22 minutes.

785
Miles
1264
Kilometers
682
Nautical miles
1 h 59 min
133 kg

## Distance from Macau to Shanghai

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

Vincenty's formula (applied above)
• 785.227 miles
• 1263.701 kilometers
• 682.344 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
• 786.471 miles
• 1265.703 kilometers
• 683.425 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 Macau to Shanghai?

The estimated flight time from Macau International Airport to Shanghai Hongqiao International Airport is 1 hour and 59 minutes.

## Flight carbon footprint between Macau International Airport (MFM) and Shanghai Hongqiao International Airport (SHA)

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

## Map of flight path and driving directions from Macau to Shanghai

See the map of the shortest flight path between Macau International Airport (MFM) and Shanghai Hongqiao International Airport (SHA).

## Airport information

Origin Macau International Airport
City: Macau
Country: Macau
IATA Code: MFM
ICAO Code: VMMC
Coordinates: 22°8′58″N, 113°35′31″E
Destination Shanghai Hongqiao International Airport
City: Shanghai
Country: China
IATA Code: SHA
ICAO Code: ZSSS
Coordinates: 31°11′52″N, 121°20′9″E