What JNB Actually Stands For
JNB is the IATA code for the airport most people in South Africa just call "the airport." The official name is OR Tambo International Airport. It used to be called OR Tambo International, then was renamed Johannesburg International Airport for about a decade, and then got changed back. The confusion is real and it shows up on everything from flight itineraries to baggage tags. The code JNB comes from the old Johannesburg area code when airports used to name their codes after the city. There was also a Jan Smuts Airport for a long time. That was the original name when it opened in 1950. When it was renamed after Oliver Reginald Tambo in 1994, the code stayed as JNB because changing airport codes is a bureaucratic nightmare that nobody wants to deal with. Airlines, booking systems, and baggage systems all break if you change a code mid-flight, so they just leave it. I learned this the hard way when I was coordinating cargo shipments through JNB and my forwarding agent kept asking which airport I meant because the documentation would say either "Johannesburg" or "OR Tambo" depending on which government form you were filling out. The workaround was simple: always include JNB in every piece of paperwork. The code never changes. The name does.
The airport handles around 22 million passengers a year and it is by far the busiest in Africa. It sits in Kempton Park, which is technically not Johannesburg proper, but close enough that nobody corrects you. It has two runways and three terminals, though the distinction between Terminal 1 and Terminal 2 matters more for airlines than for passengers. Comair used to operate out of Terminal 2 before it collapsed, and now that space is basically empty or used for charter operations. One thing people consistently get wrong is assuming there are two separate airports. There is Lanseria (HLA) which is the smaller alternative about 40 kilometers away, and it handles mostly low-cost and private flights. If you book a flight that lands at JNB, you are landing at OR Tambo. If it says HLA, you are landing somewhere else entirely. I had a client once who arrived at Lanseria expecting to be near the main joburg airport and ended up confused and 40 minutes from where they thought they would be. Always double-check the three-letter code on your ticket. Security at JNB is another thing that deserves attention. It is not the smoothest process you will experience anywhere, and it varies significantly between domestic and international departures. The international terminal has dedicated lanes for certain airlines, and if you are flying Business Class or holding elite status, the wait is noticeably shorter. If you are flying economy domestic on a Friday afternoon, plan to arrive at least three hours before departure. I have watched people miss flights because they underestimated how long the queue gets near the departure cut-off time.
There is also the matter of the airport levy and passenger service fee. If you are booking through a third-party site, the breakdown of taxes can look confusing because South Africa charges a departure tax that sometimes appears separately and sometimes gets bundled into the ticket price. On international flights it is usually included. On domestic it tends to show up as an add-on at checkout. This catches people off guard more often than it should. The surrounding area has improved a lot over the last few years. The Gautrain link from the airport to Sandton and the city center is actually reliable and takes about 15 minutes. Taxis that negotiate prices with arriving passengers are still everywhere and you should never use them unless you want to be overcharged. The minibus taxi rank outside the arrivals hall is chaotic and not designed for visitors. Ride-hailing services like Uber and Bolt work fine if you have data and a local number registered. One edge case that most guides don't mention: if you have a very tight connection at JNB and you are arriving internationally, you have to clear customs and immigration before you can check in for your domestic flight. There is no transit-through-security shortcut like you would find in Dubai or Singapore. I once had a connection where the inbound flight was delayed by 40 minutes and the person ahead of me in immigration had a form filled out wrong. We were lucky to make the connection. If your layover is under two hours and you are switching from international to domestic, you are rolling the dice.
Get the Full Details

Terminal facilities themselves are decent but dated. Terminal 1 has the food court near gate area, which is fine for a quick meal but nothing special. Terminal 2 is smaller and has fewer options. The lounges are the usual mix of airline-specific and independent pay-in options. Absa Lounge and the Aeroclass Lounge are the ones people actually use. They cost between 600 and 900 rand for a few hours, which is standard pricing for the region. If you are shipping goods through the airport cargo terminal rather than traveling, note that the cargo facility operates on a separate schedule from the passenger terminals. Imports and exports both clear through the same general area but the documentation requirements are strict. South African Revenue Service inspections are random but real, and incomplete paperwork will sit in hold until it is resolved, which usually means working with a licensed clearing agent on the ground. Doing it yourself as a foreign shipper is not viable. The runway configuration at JNB is interesting because the two runways are not parallel. Runway 03L/21R and runway 03R/21L cross each other at different points, which means the airport can only use certain combinations depending on wind direction. During peak afternoon thunderstorm season, which is common in the Highveld, the arrival rate can drop significantly because the crosswind component forces the tower to alternate between runway configurations. This is why delays pile up in December and January more than any other time of year.
There is also the issue of noise complaints from the surrounding neighborhoods. The airport has been expanding for decades and the residential areas keep growing closer to the flight paths. There have been legal battles about this. The runway extension project that was proposed a few years ago faced significant community opposition and was eventually scaled back. So while JNB handles as much traffic as it does now, it is not getting materially bigger in the near future, which means the capacity constraints are permanent. For anyone visiting Johannesburg for the first time and using JNB as their entry point, the practical takeaway is straightforward. Check your airport code carefully. Allow extra time at the airport. Use the Gautrain or a pre-booked transfer instead of hailing a cab. And remember that JNB means OR Tambo regardless of whatever name happens to be printed on your ticket that week.