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

Shenzhen (SZX) to Johannesburg (JNB) flights

One airline flies nonstop from Shenzhen (SZX) to Johannesburg (JNB): 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 SZX to JNB

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

Book SZX to JNB with points

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

SZX to JNB 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
    Shenzhen Airlines logo
    China Southern Airlines logo
    Singapore 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
    China Southern Airlines logo
    Emirates logo
    Emirates logo
  • Via Doha (DOH)Shenzhen Airlines, then Qatar Airways
    Shenzhen Airlines logo
    Qatar Airways logo
  • Via Cairo (CAI)Hainan Airlines, then EgyptAir
    Hainan Airlines logo
    EgyptAir logo
  • Via Frankfurt (FRA)Air China, then Lufthansa and Condor
    Air China logo
    Lufthansa logo
    Condor logo
  • Via Paris (CDG)Hainan Airlines, then Air France
    Hainan Airlines logo
    Air France logo
  • Via Sydney (SYD)China Southern Airlines, then Qantas
    China Southern Airlines logo
    Qantas logo
  • Via Madrid (MAD)Hainan Airlines, then Air Europa
    Hainan Airlines logo
    Air Europa logo
  • Via London (LHR)Shenzhen Airlines, then British Airways and Virgin Atlantic
    Shenzhen Airlines logo
    British Airways logo
    Virgin Atlantic logo

SZX to JNB: common questions

Which airlines fly nonstop from SZX to JNB?

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

How far is Shenzhen from Johannesburg by plane?

Shenzhen (SZX) and Johannesburg (JNB) 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 SZX to JNB 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 SZX to JNB cost?

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

Where can I connect between Shenzhen and Johannesburg?

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.