South Africa to China Β· 6,637 miles (10,681 km)

Johannesburg (JNB) to Shenzhen (SZX) flights

One airline flies nonstop from Johannesburg (JNB) to Shenzhen (SZX): Air China. The two airports are 6,637 miles (10,681 km) apart. Air China is in Star Alliance. There are also 10 ways to fly it with one stop, through Singapore, Abu Dhabi and Dubai and more.

Airlines flying nonstop from JNB to SZX

  • Air China logo
    Air ChinaStar Alliance Β· bookable with 11 programsWho books it

Book JNB to SZX with points

Loyalty programs that can book at least one of the nonstop airlines, from the Award Booking Guide.

JNB to SZX with one stop

10 connections, most direct first. 2-stop routings and flight times are in Routes with Pro.

  • Via Singapore (SIN)Singapore Airlines the whole way
    Singapore Airlines logo
    Shenzhen Airlines logo
    China Southern Airlines logo
    Singapore Airlines logo
  • Via Abu Dhabi (AUH)Etihad Airways the whole way
    Etihad Airways logo
    Etihad Airways logo
  • Via Dubai (DXB)Emirates the whole way
    Emirates logo
    China Southern Airlines logo
    Emirates logo
  • Via Doha (DOH)Qatar Airways, then Shenzhen Airlines
    Qatar Airways logo
    Shenzhen Airlines logo
  • Via Cairo (CAI)EgyptAir, then Hainan Airlines
    EgyptAir logo
    Hainan Airlines logo
  • Via Frankfurt (FRA)Lufthansa and Condor, then Air China
    Lufthansa logo
    Condor logo
    Air China logo
  • Via Paris (CDG)Air France, then Hainan Airlines
    Air France logo
    Hainan Airlines logo
  • Via Sydney (SYD)Qantas, then China Southern Airlines and Shenzhen Airlines
    Qantas logo
    China Southern Airlines logo
    Shenzhen Airlines logo
  • Via Madrid (MAD)Air Europa, then Hainan Airlines
    Air Europa logo
    Hainan Airlines logo
  • Via London (LHR)British Airways and Virgin Atlantic, then Shenzhen Airlines
    British Airways logo
    Virgin Atlantic logo
    Shenzhen Airlines logo

JNB to SZX: common questions

Which airlines fly nonstop from JNB to SZX?

Air China (Star Alliance) flies nonstop from Johannesburg (JNB) to Shenzhen (SZX).

How far is Johannesburg from Shenzhen by plane?

Johannesburg (JNB) and Shenzhen (SZX) are 6,637 miles (10,681 km) apart along the great circle, the shortest path a flight can take. Connections add distance on top.

Which points programs can book JNB to SZX award flights?

11 programs can book at least one of the nonstop airlines: Air Canada Aeroplan, Air New Zealand Airpoints, ANA Mileage Club, Avianca LifeMiles, EVA Air Infinity MileageLands, Lufthansa Miles & More, Singapore Airlines KrisFlyer, TAP Miles&Go and 3 more. Which flights each can book depends on its partners, so check the airline before you transfer points.

How many miles does JNB to SZX cost?

It depends on the program: each prices the route from its own chart or dynamically. The Award Flight Pricer compares 30+ programs for JNB to SZX with taxes and fees.

Where can I connect between Johannesburg and Shenzhen?

The most direct connections are through Singapore (SIN), Abu Dhabi (AUH), Dubai (DXB), Doha (DOH) and Cairo (CAI). On 3 of them the same airline flies both flights, for example Singapore Airlines through Singapore.

More routes

Routes are scheduled nonstop flights. The route data is refreshed monthly; this list was last checked November 11, 2026. Seasonal routes and new launches can be missing or end early, so confirm with the airline before you book. Distances are great-circle, the shortest path between the two airports.