Jakarta (CGK) Airport Guide: Terminals, Transit to City Centre, Layover Tips & Sleeping Options

✅ Last verified on-the-ground: 2026-07-17

Soekarno-Hatta International Airport (CGK) handles almost all of Jakarta’s international traffic. Getting from jakarta airport to city center requires planning: the airport has its own airport rail link, decent terminal wifi, and in-terminal sleeping pods, but it’s 30 km west of central Jakarta, taxi touts are aggressive, and the terminal layout confuses even seasoned travellers.

This guide covers what CGK and JKT mean on your boarding pass, which terminal your airline uses, how to get into the city without getting fleeced, and where to crash if your layover runs long. If you’re planning a broader Southeast Asia trip, our Southeast Asia backpacking hub covers visa rules, budgets, and routes across the region.

Quick Answers

WhatAnswerPrice (INR)
Jakarta airport IATA codeCGK (Soekarno-Hatta); JKT is the city code used by some airlines covering all Jakarta airports₹0
How far is CGK from central Jakarta?~30 km, 45-90 minutes depending on traffic₹0
Cheapest way to city centreAirport Rail Link (KA Bandara) to BNI City Station₹375 (~70,000 IDR or ~$3.89)
Fastest legal way to city centreAirport Rail Link, fixed 45 minutes₹375 (~70,000 IDR or ~$3.89)
Where to sleep on a layoverCapsule hotels in Terminal 3, lounges with day passes, or nearby budget hotels₹1,340-₹2,679 (~250,000-500,000 IDR or ~$13.89-$27.79)

What CGK and JKT Mean

You’ll see two codes floating around for Jakarta flights: CGK and JKT. They’re not the same airport, and mixing them up on a booking has burned plenty of travellers.

CGK is the IATA code for Soekarno-Hatta International Airport in Tangerang, about 30 km west of central Jakarta. This is where 95% of international flights land, and where Garuda, Singapore Airlines, Emirates, Air India, and budget carriers like AirAsia and Lion Air operate.

JKT is the city code, used when an airline’s system covers multiple airports in the Jakarta metro area. It can mean CGK (Soekarno-Hatta) or HLP (Halim Perdanakusuma International, the smaller secondary airport used by some domestic and budget routes, located in East Jakarta). If your e-ticket says “JKT,” check the fine print for the actual airport.

Subodh’s Pro Tip: When booking, ignore the city code and look for the airport code. “JKT” on a ticket usually resolves to CGK, but always confirm with the airline before you fly. A Mumbai-Jakarta ticket that lands at Halim when you expected Soekarno-Hatta means a different ground transfer.

CGK has three terminals:

  • Terminal 1 is split into three sub-terminals: 1A, 1B, 1C. It’s mostly domestic and some regional flights.
  • Terminal 2 is split into 2D, 2E, 2F. International flights (including most full-service carriers) use this terminal.
  • Terminal 3 is the newest (opened 2016, fully completed around 2024-2026 expansions), and handles a growing share of international and domestic traffic, including Garuda Indonesia’s main hub operations and many Lion Air flights.

Free shuttle buses connect Terminal 1, 2, and 3 every 5-10 minutes, but the walk through the Skytrain (a free automated people mover that connects Terminals 1, 2, 3, and the integrated railway station) is faster and cleaner if you’re not carrying heavy bags.

Advertisement

Getting from CGK to Central Jakarta

You have four real options: airport rail link, taxi, ride-hailing app, or bus. Each has trade-offs.

The cleanest, cheapest, most predictable option. The KA Bandara (airport rail link) runs from Soekarno-Hatta’s integrated station (connected to all three terminals via the Skytrain) to BNI City Station in central Jakarta. Journey time is a fixed 45 minutes, no matter the traffic. Trains run roughly every 15-30 minutes from around 4:30 AM to midnight.

Ticket is ₹375 (~70,000 IDR or ~$3.89) for a one-way trip. You can buy at the station counter or via the KAI Access app. First-class upgrade is available for ₹750 (~140,000 IDR or ~$7.78) if you want a quieter cabin and assigned seat. For more detail on fares and booking, see our Jakarta airport train ticket guide.

From BNI City Station, you can walk to several hotels or hop on a Grab to your final destination. The station is also connected to the Dukuh Atas MRT station, which serves the Grand Indonesia area, Tanah Abang, and other parts of central Jakarta. Our full Jakarta airport to city centre transfer comparison breaks down every option by cost and time.

Safety Alert: Buy train tickets at the official counter or KAI Access app only. Unofficial resellers near the airport arrival halls charge inflated prices and have been known to swap in expired cards.

Taxi and Ride-Hailing

Grab and Gojek both serve CGK. From the international arrival halls, you can book a ride to central Jakarta for around ₹804-₹1,340 (~150,000-250,000 IDR or ~$8.34-$13.89), depending on surge and exact destination. Travel time in peak traffic can stretch to 90-120 minutes; off-peak, it’s closer to 45 minutes.

You need the ride-hailing app installed and working before you land. Get your Nomad eSIM activated at the airport or have a local SIM ready.

Avoid the official taxi counters inside the terminal for short trips. The “Silverbird” and “Blue Bird” taxis from the official rank are metered and safer than touts, but still more expensive than Grab. If you’re tired, have heavy bags, or arrive late at night, Blue Bird is the safer bet. For a full rundown of scams to watch for, see our Jakarta scams guide for Indian travellers.

Safety Alert: Ignore anyone approaching you inside the terminal or on the kerbside offering “taxi, taxi, cheap.” These are unlicensed touts who’ll either overcharge dramatically, take a long detour, or drop you at a hotel that pays them commission. Always use the official taxi rank or book via app.

For longer-distance connections, find rides on 12go covers buses and flights to Yogyakarta, Bandung, and other Indonesian cities.

Damri Airport Bus

State-run Damri buses run from CGK to several points in Jakarta (Gambir, Blok M, Pasar Minggu, etc.) for ₹214-₹402 (~40,000-75,000 IDR or ~$2.22-$4.17) depending on destination. Cheaper than the train or taxi, but slower, less frequent, and the buses fill up. Useful only if your destination aligns with a Damri stop and you’re travelling light.

Hotel Transfers

Most mid-range and upscale Jakarta hotels offer airport pickup for ₹1,072-₹2,143 (~200,000-400,000 IDR or ~$11.12-$22.23). Worth it if you’re arriving after midnight with luggage and don’t want to wrestle with apps at 1 AM.

Sleeping on a Layover

CGK has gotten better for overnight stays since 2020. Your options:

Inside the Terminal

  • Capsule hotels: Terminal 3 has the “Soekarno-Hatta Airport Hotel” with compact capsules and small rooms available by the hour. Expect to pay ₹1,340-₹2,679 (~250,000-500,000 IDR or ~$13.89-$27.79) for 6-8 hours. Clean, quiet, and you stay airside or landside depending on the specific facility.
  • Sleep pods: Several brands (including “SleepHere” and “Jet Sleep”) operate small pods in Terminal 2 and Terminal 3, both landside and airside. Hourly rates around ₹429-₹804 (~80,000-150,000 IDR or ~$4.45-$8.34).
  • Lounges with day passes: Plaza Premium Lounge, the Executive Lounge, and a few others sell passes for ₹804-₹1,340 (~150,000-250,000 IDR or ~$8.34-$13.89) for 3-5 hours. You get food, showers, wifi, and a recliner. Good value if your layover is 6+ hours.
  • Free rest zones: Each terminal has designated rest areas with reclined seating. They’re noisy, bright, and uncomfortable, but free. Bring an eye mask and noise-cancelling headphones.

Near the Airport

If you have a long overnight layover (10+ hours) and want a real bed:

  • Several budget hotels cluster around the airport perimeter, including Ibis Styles Jakarta Airport, Pop! Hotel Airport Jakarta, and Tune Hotel. Rates from ₹1,875-₹3,215 (~350,000-600,000 IDR or ~$19.45-$33.35) per night, often with free shuttle to/from terminals.
  • The airport’s own day-rate hotels (the airport hotel in Terminal 3 and the “Aerotel” in Terminal 2) book by the hour and are designed for transit passengers. Around ₹1,340-₹2,411 (~250,000-450,000 IDR or ~$13.89-$25.01) for 6-8 hours.

Food and Facilities at CGK

CGK’s food scene has improved a lot since the terminal 3 renovation. Options by terminal:

  • Terminal 2 (international): The most variety. Indonesian warung stalls serving nasi goreng and soto, plus international chains (A&W, Hokben, J.CO donuts, Starbucks). Several coffee shops. A few sit-down restaurants with views. Most spots are airside; landside is more limited.
  • Terminal 3 (mixed domestic/international): Good mix of Indonesian and international. SATOO serves a solid Indonesian buffet if you want a full meal, and there are decent coffee outlets scattered around. If you’re heading into the city after your flight, Kaum Jakarta serves authentic Indonesian dishes with a modern twist (rated 4.6), and SEMAJA Menteng is a cozy spot for Indonesian comfort food (rated 4.8).
  • Terminal 1 (mostly domestic): Basic. Nasi padang stalls, instant noodle counters, and a few chains. Don’t expect much variety.

Wi-fi is free across all terminals, but speeds are uneven. A local SIM or eSIM with data is more reliable.

ATMs and currency exchange (money changers) are available in all terminals, but rates are poor compared to city centres. Withdraw only what you need for the first night, then change more in town.

Advertisement

Customs and Arrival

For Indian passport holders, the on-arrival process is straightforward:

  1. Visa-on-Arrival (VoA): As of 2026, Indian citizens can get a VoA for Rp500,000 (around ₹2,650), valid for 30 days and extendable once for another 30 days. Have the exact amount ready (USD, IDR, or card payment at the VoA counter). Apply online via the official e-VoA portal before departure to skip the queue. Full details in our Indonesia e-Visa guide for Indians.
  2. Passport control: Fingerprint scan and photo, usually fast. Have your hotel address or next-destination ticket ready in case they ask.
  3. Baggage claim: Standard belt pickup.
  4. Customs: Green channel if you have nothing to declare. Red channel if carrying more than USD 500 in cash or goods above the personal-use threshold. The customs cash-declaration limit is USD 3,000.

Safety Alert: The VoA counter only accepts cash or specific payment methods. Don’t assume your international card will work at the airport VoA desk. Have IDR or USD cash as backup.

SIM Cards and Connectivity

Data is non-negotiable if you’re using Grab/Gojek or want maps. Options:

  • Nomad eSIM (Get Nomad eSIM): Buy online before departure, activate on landing. Cheapest if you only need data.
  • Local physical SIM: Telkomsel, XL, and Indosat all have counters in the arrival hall. Telkomsel is the most reliable. Expect to pay ₹536-₹1,072 (~100,000-200,000 IDR or ~$5.56-$11.12) for a tourist SIM with 20-50 GB valid 30 days. Passport required for registration.

What to Do on a Long Layover (6+ Hours)

If your layover is long enough to leave the airport, Monas (the National Monument) and the old town (Kota Tua) are 45-60 minutes away by train. A Grab into central Jakarta, quick visit, and Grab back to the airport is doable in 5-6 hours. If you want an organised activity, check Jakarta Scooter City Tour on GetYourGuide, a guided scooter ride through Jakarta’s streets, rated 4.8. Travelling with kids? Kidzania Jakarta is a family-friendly option near the airport where children role-play different jobs in a mini city, rated 4.6.

If you stay airside, Terminal 3’s lounge scene is the best for chilling.

If your layover is overnight and you’ve already covered the basics, the airport hotel inside Terminal 3 is the simplest option.

Advertisement

Common Mistakes Indians Make at CGK

  1. Confusing JKT with CGK. JKT is a city code, not an airport. Always check the airport code on your booking. A ticket showing “JKT” usually means CGK, but confirm before flying.
  2. Taking an “official” taxi from a tout inside the terminal. The legitimate Blue Bird and Silverbird taxis are at the official rank outside, not approached by people walking inside. Anyone who walks up to you inside is unlicensed.
  3. Not buying the VoA online in advance. The airport VoA counter has queues. The e-VoA saves 30-45 minutes during peak hours.
  4. Assuming the train is far away. The integrated station is directly connected to all three terminals via the free Skytrain. Don’t pay a taxi to “take you to the train.”
  5. Changing money at the airport at terrible rates. Airport money changers offer poor rates. Use an ATM for small amounts and change more in the city once you’re settled.
  6. Missing the Skytrain cut-off time. The Skytrain between terminals stops running around midnight. If you land late, you’ll need a shuttle bus, which is slower but still available.

FAQ

Q: Do I need a visa for Indonesia as an Indian citizen? A: You can get a Visa-on-Arrival (VoA) for Rp500,000 valid 30 days, extendable once for another 30 days. Apply via the official e-VoA portal before flying or pay at the airport counter on arrival.

Q: How much is the airport train from CGK to central Jakarta? A: ₹375 (~70,000 IDR or ~$3.89) one way to BNI City Station. First-class upgrade costs ₹750 (~140,000 IDR or ~$7.78). Journey time is a fixed 45 minutes.

Q: Is it safe to use Grab from CGK at night? A: Yes. Book via the app, meet the driver at the designated ride-hailing zone (each terminal has signs pointing to it), confirm the plate number before getting in. Safer than kerbside touts at any hour.

Q: Where can I sleep inside the airport? A: Capsule hotels in Terminal 3, sleep pods in Terminals 2 and 3, lounge day passes, or the airport’s own transit hotels. Free rest zones with recliners exist but aren’t comfortable for full nights.

Q: What’s the difference between CGK and HLP? A: CGK is Soekarno-Hatta International, the main airport 30 km west of Jakarta. HLP is Halim Perdanakusuma, a smaller secondary airport in East Jakarta used by some domestic and budget carriers. Most international flights use CGK.

Q: Can I stay airside during a layover? A: Yes. If you’re on a connecting flight and don’t need to leave the airport, you stay airside. Visa requirements depend on whether you pass through immigration. Domestic-to-domestic or domestic-to-international connections usually keep you airside.


Subodh’s Take

CGK used to be a chaotic mess of a transit point. It still isn’t Bangkok or Singapore, but the airport rail link, Terminal 3, and the new sleep options have made it manageable. Skip the touts, use the train, and get your eSIM sorted before landing. Most layover stress comes from overcomplicating things that have simple answers.


— Subodh