Soekarno-Hatta International Airport (CGK) is 35km west of the city centre. All international flights and most domestic flights operate from CGK. Surging passenger numbers mean that it can get chaotic, so give yourself plenty of time for formalities.
There are three terminals, each with a full range of facilities, such as ATMs, information desks and exchange counters. It's vital to confirm which terminal your flight will depart from as terminals are not close to each other. A free shuttle service operates between the three terminals.
Terminal 1 The hub for many domestic flights.
Terminal 2 Used for both international and domestic flights.
Terminal 3 The hub for international flights.
A toll road links Soekarno-Hatta International Airport (CGK) to the city and the journey takes one to two hours depending on traffic and the final destination.
Damri airport buses run every 15 minutes between 4am and 10pm between the airport and Gambir train station, along with several other points in the city including Blok M, Tanjung Priok and Kampung Rambutan bus terminal.
At the time of research, a new train service linking the airport with Sudirman and Manggarai stations within 45 minutes was nearly complete.
Taxis from the airport to Jl Thamrin/Jl Jaksa cost around 220,000Rp including tolls. Be sure to book via the official taxi desks, rather than using the unlicensed drivers outside. Grab can drop off passengers, but are prohibited from airport pick-ups. You may be able to meet a Grab driver if you walk up beyond airport perimeters.
Halim Perdana Kusuma Airport (HLP) is 11km south of Jakarta's Cikini district. It has a limited domestic service.
Halim Perdana Kusuma Airport (HLP) is not served well by pubic transport. A taxi is the easiest and most reliable option from central Jakarta, costing around 120,000Rp, depending on your pick-up area and traffic.
Note that if you're travelling from Soekarno-Hatta International Airport (CGK) and hope to catch a flight out of HLP, the transfer can take one to three hours depending on traffic in central Jakarta. The journey costs around 230,000Rp in a taxi.
At the time of research, planning was underway for an express train to connect CGK with HLP. It's expected to be completed by late 2019.