Distance from Shanghai to Rio de Janeiro

The distance between Shanghai, China and Rio de Janeiro, Brazil is 18,237 km (11,332 miles) in a straight line. If a road route exists, expect roughly 22797 km (14165 miles) by car — around 284 h 58 min of driving.

Measure Value
Straight-line distance 18,237 km / 11,332 mi
Road distance (estimate) ≈ 22797 km / 14165 mi
Driving time (estimate) ≈ 284 h 58 min
Flight time (estimate) ≈ 21 h 57 min

Road distance and travel times are estimates based on the straight-line distance (road factor 1.25, average speed 80 km/h) — actual routes vary.

Place Latitude Longitude
Shanghai, China 31.22222 121.45806
Rio de Janeiro, Brazil -22.9014475 -43.1789159

Frequently asked questions

How far is Rio de Janeiro from Shanghai?

The straight-line (air) distance from Shanghai, China to Rio de Janeiro, Brazil is 18,237 km (11,332 miles). By road it is roughly 22797 km (14165 miles), depending on the route.

How long does it take to drive from Shanghai to Rio de Janeiro?

Approximately 284 h 58 min, assuming an 80 km/h average over an estimated road distance of 22797 km. Actual time depends on the route, traffic and border crossings.

How long is the flight from Shanghai to Rio de Janeiro?

A direct flight covers 18,237 km in about 21 h 57 min at typical cruise speed, plus airport time. Not all city pairs have direct flights.

How do I calculate distances for a whole list of locations?

Upload a CSV or Excel spreadsheet to the batch distance calculator — it computes the distance for every origin–destination row at once. The first records are free to try.

Try other tools

We use cookies for various purposes including analytics and personalized marketing. By continuing to use the service, you agree to our use of cookies as described in the Cookie Policy.   I Agree