How to get to and from: Jakarta

How to get to Jakarta

On this page: How to get to and from Jakarta
More on Jakarta


Soekarno Hatta International Airport
Jakarta’s Soekarno Hatta International Airport (CGK) lies around 25 kilometres northwest of the city centre. Named for Indonesia’s first president and vice president, the airport is one of the busiest transport hubs in Asia and in the top ten in the world for air traffic with direct connections all over the archipelago and the world.

Currently Soekarno Hatta has three terminals, divided into sub-terminals. Terminal One is for domestic flights for smaller carriers, Terminal Two is home to some international carriers and for larger domestic carriers for both international and domestic flights (although plans are to move all international traffic to Terminal Three) and Terminal Three houses the national carrier, Garuda for both international and domestic flights as well as other international carriers. Plans for a forth terminal are in the works. A free skytrain service connects the terminals.

A rail link (home) connects Soekarno Hatta to Sudirman Baru Station in the city centre (newly operational at the time of research in March 2018, and no one seems to know of its existence—even the tourist information). Tickets can be purchased via an app or with a credit/debit card at ticket machines at the stations (no cash). Airport to Sudirman Baru trains operate 04:00–00:40 and Sudirman Baru to Airport 03:21–22:51 every 15 to 30 minutes, the journey takes around one hour and costs 70,000 rupiah. Sudirman Baru station connects to the TransJakarta busway and commuter train line.

DAMRI buses operate regularly from all terminals to various destinations. Gambir is the closest destination to the city centre and costs 40,000 rupiah. The trip can take anywhere between 45 minutes to three (plus) hours depending on traffic, usually around one-and-a-half hours. The last bus to Gambir departs at 22:00.

Alternatively, buses to Mangga Dua will take you to the north of the city and to Block M for the south (also 40,000 rupiah) among other options. If you are intent on skipping Jakarta altogether, DAMRI operates buses from the airport direct to Bogor (55,000/75,000 rupiah; 2 hours) and to bus terminals Lebak Bulus (40,000 rupiah; 1.5 hours) and Kampung Rambutan (40,000 rupiah; 1.5 hours).

Metered taxis operate from a rank outside the terminals. Blue Bird or Express are recommend and will usually turn on the metre without asking. Avoid the cowboys offering fixed fares. The fare to the city is around 100,000–200,000 rupiah depending on where you are heading in the city. Tolls will be added to the metered fare.

Alternatively you can prebook a Golden Bird Limousine online or from the counter inside the terminal starting at 260,000 rupiah for a small car which includes tolls and tips. Online services such as Grab and Go-Jek are also an option. As with buses, the trip depends on traffic conditions and a good run can take 45 minutes, and is generally one to one-and-a-half hours, but factor in the chance that it could be three (plus) hours.

Halim Perdanakusuma International Airport
Halim Perdanakusuma International Airport (HLP) is Jakarta’s secondary airport located around 16 kilometres southeast of the city centre. The airport has two terminals, the main terminal is for domestic services used by carriers including Wings, Citilink, Batik Air, Susi Air, TransNusa and Pelita Air and the second Presidential terminal for Government VIP flights. This busy airport harbours the usual ATMs, shops and food outlets. While the airport has an “international” designation, at the time of research (mid 2018) it appeared to serve only domestic passenger flights.

If you have booked a flight with any of the airlines listed double check from which airport you depart as Soekarno Hatta is several hours away in heavy traffic. Note that if you are flying to Pangandaran all flights depart from here.

DAMRI buses operate regularly from Halim Perdanakusuma to various destinations. Gambir is the closest destination to the city centre.

Map of Jakarta’s airports

Map of Jakarta’s airports
(1) Halim Perdanakusuma International Airport (2) Soekarno Hatta International Airport


When moving onwards from Jakarta, train is the best and most convenient option. Gambir (GMR) in the heart of the city centre is the main train station for intercity trains. Two main railway lines run east from Jakarta: a southern route to Bandung (connecting to Banjar and Yogyakarta) and a northern coastal route through Cirebon, Semarang and Surabaya.

A major line also connects the north and south lines used by trains travelling between Jakarta and Yogyakarta. Trains using the southern line to Banjar originate from Bandung meaning that if you wish to alight in Banjar (for Pangandaran) you will need to change trains in Bandung.

Frequent trains to Bogor are operated by Jakarta’s commuter train service from just about every station except Gambir. Trains should be booked as far in advance as possible and at least one day in advance to guarantee a ticket, especially on weekends and holidays—particularly to Bandung.

Sample details include:
Bandung: 3–3.5 hours; 90,000–250,000 rupiah
Malang: 15.5–16 hours; 435,000–535,000 rupiah
Semarang: 5.5–6.5 hours; 255,000–365,000 rupiah
Surabaya: 9–13 hours; 375,000–495,000 rupiah
Solo: 8.5–9 hours; 285,000–535,000 rupiah
Yogyakarta: 7.5–8 hours; 260,000–430,000 rupiah

See for schedule details (Indonesian only). Bookings can be made with foreign cards at or purchased at any train station, Alfamart or Indomaret.

Useful train stations in Jakarta

Useful train stations in Jakarta
(1) Cikini (2) Gambir (for long-distance trains) (3) Gondangdia
(4) Jakartakota (5) Manggarai (6) Sudirman


Jakarta’s intercity bus terminals are inconveniently located about an hour from the city centre in several directions connected by TransJakarta Busway. We were informed by the tourist information centre that all buses had moved to Terminal Pulo Gadung in the east—at the time of research in early 2018 this was not the case, however we don’t know if this a plan for the future of just misinformation.

Pulo Gadung
Pulo Gadung Terminal, east of the city centre is huge and confusing with four four-storey blocks but, as is always the case in Indonesia some helpful person will point you in the right direction. Buses connect to all over Java and other far-flung places across the archipelago.

Sample details include (prices and travel times are approximate):
Bandung: 4 hours; 65,000 rupiah (09:00)
Bima (Sumbawa): 60 hours; 850,000 rupiah (17:00)
Denpasar (Bali): 26 hours; 450,000 rupiah (14:30)
Malang: 21 hours; 300,000 rupiah (15:00)
Mataram (Lombok): 48 hours; 750,000 rupiah (17:00)
Palambang (Sumatra): 14 hours; 250,000–300,000 rupiah (14:30)
Probolinggo: 21 hours; 330,000 rupiah (14:30)
Semarang: 10 hours; 200,000–230,000 rupiah (every hour from 05:00–20:00)
Solo: 11 hours; 200,000–250,000 rupiah (15:00)
Surabaya: 19 hours; 250,000–280,000 rupiah (every hour from 10:00–17:00)
Yogyakarta: 12 hours; 200,000–250,000 rupiah (15:00)

Kampung Rambutan
Kampung Rambutan to the south of the city is the most tourist friendly of Jakarta’s bus terminals with a helpful information desk and easy to follow signage. Buses departing from Kampung Rambutan regularly service destinations mostly to the south and southwest including Bogor, Sukabumi (for Ujung Genteng and Cimaja), Garut, Bandung, but you can also catch buses all over Java as well as to port of Merak for services to Sumatra.

Sample details include (prices and travel times are approximate):
Bandung: 3 hours; 50,000–70,000 rupiah
Bogor: 45 mins; 10,000 rupiah
Garut: 6 hours; 50,000–65,000 rupiah
Merak: 3 hours; 26,000–35,000 rupiah
Pangandaran: 9 hours; 85,000–95,000 rupiah
Sukabumi: 3.5 hours; 25,000–35,000 rupiah

Lebak Bulus
The Lebak Bulus terminal is also in South Jakarta, to the west of Kampung Rambutan. This terminal is smaller, but much more chaotic than Kampung Rambutan with many annoying touts.

Sample details include (prices and travel times are approximate):
Malang: 16 hours; 350,000 rupiah (16:00)
Probolinggo: 24 hours; 450,000 rupiah (14:00)
Semarang: 8 hours; 150,000 rupiah (15:30)
Solo: 8–12 hours; 200,000 rupiah (145:00)
Surabaya: 18 hours; 400,000 rupiah (14:00)
Yogyakarta: 12 hours; 150,000 rupiah (15:00)

Useful bus stations in Jakarta

Useful bus stations in Jakarta
(1) Lebak Bulus (2) Kampung Rambutan (3) Pulo Gadung


If you have plenty of time to explore, Pelni runs regular passenger ship services to every corner of Indonesia and the archipelago out of the Tanjung Priok port in the north of town. Schedules are published monthly and are available by calling (0212) 188 7000 or emailing them at

Tickets can be purchased from the Pelni office at 2 Jalan Palmas, Tanjuk Priok, Jakarta; T: (0214) 393 3196.

Getting around

Jakarta’s public transport system improves every time we visit and is the best way to navigate the city. A MRT system is due to open in December 2018 (in theory) which will hopefully alleviate some of Jakarta’s traffic woes.

FDTJ (Forum Diskusi Transportasi Jakarta) are a local community organisation who are keen to promote public transport in Jakarta and create very useful maps of the integrated transport system. Check their website for the latest update or use this link to download a PDF

A commuter train services the greater metropolitan area of Jakarta including services to Bogor and is a quick inexpensive and convenient way to travel. The most useful line for visitors is the Jakarta Kota to Bogor line which passes, but does not stop at Gambir. The closest station to Central Jakarta is Gondangdia, around 700 meres east of Jalan Jaksa. Connect to the Jatinegara to Bogor/ Nambo line at Manggarai for trains to Sudirman where you can change for the airport line.

Single or multi-trip tickets may be purchased at ticket counters or vending machines. For single fares, a 10,000 rupiah deposit is levied on top of the fare which can be recharged or refunded. The first 25 kilometres cost 3,000 rupiah and every ten additional kilometres an extra 1,000 rupiah. Multi-trip tickets cost 50,000 rupiah (including 30,000 rupiah credit). Minimum balance is 5,000 rupiah. Trains operate from around 05:00–24:00 depending on the route.

The airport line was not fully operational at the time of research (March 2018) as new stations were still being built, but it was running between the Soekarno Hatta International Airport and Sudirman Baru Station. Tickets can be purchased via an app or with a credit/debit card at ticket machines at the stations. Airport to Sudirman Baru trains operate 04:00–00:40 and Sudirman Baru to Airport 03:21–22:51 every 15 to 30 minutes, the journey takes around one hour and costs 70,000 rupiah.

Jakarta’s TransJakarta Busway operates like an above ground subway system with stations, interchanges and its own road corridors (in most cases), air-con buses are clean and efficient. Shelters are located in the middle of the road, accessed via elevated bridges. Buses operate 05:00–22:00, some routes with extended hours. An e-ticket system is in use with single trips costing a flat rate of 3,500 rupiah. The e-ticket card is priced at 40,000 rupiah (including 20,000 rupiah credit). This ticket can also be used to enter Monas (the National Monument) as well as several museums.

A couple of handy smartphone apps are available to help you navigate the system or you can pick up printed map from the Jakarta Visitors Information Centre or check here.

Free double decker tourist buses operates between popular sights such as the National Museum Museum Bank Indonesia; Istiqlal Mosque and Monas—look for the “City Bus” signs outside the sights for routes and operational times check the small map at the side here.

Ojeks and Taxis
Go-Jek and Grab are smartphone apps for ojeks (motorbike taxis) and regular cars, the former being an efficient way to zip between Jakarta’s traffic jams (tipping is appreciated as these services are very inexpensive). You can also use Go-Jek for food delivery (as well as a whole host of other services). Blue Bird taxis are the most reliable and can either be hailed in the street or booked via their app.

Bajaj are similar to Thai tuk-tuks and mostly operate in the side streets of the inner city. They are noisy and uncomfortable, but perhaps a fun tourist experience for a first timer. Negotiate a price first.