Quick Answer
Best way: Railink airport train from BNI City Station (Sudirman) to Soekarno-Hatta Airport. Total time: 30–40 minutes | Cost: IDR 100,000 (~$6.45) per person. No traffic stress, frequent departures every 15–30 minutes, and direct connection to Terminal 2 and 3. For groups of 3+ or heavy luggage, a Blue Bird taxi (IDR 250,000–350,000 / ~$16–23) offers door-to-door convenience. The cheapest option is the Damri airport bus at IDR 50,000–80,000 (~$3–5) but expect 60–90 minutes travel time.
🚆 Railink Airport Train – The Fastest & Most Reliable Way
The Railink airport train (also known as the Soekarno-Hatta Airport Train or "KA Bandara") is the most efficient way to get from Jakarta's city center to CGK Airport. It connects BNI City Station (Sudirman Baru) in the heart of Jakarta's business district directly to the airport terminals. Unlike road-based transport, the train is completely immune to Jakarta's notorious traffic jams, making it the preferred choice for business travelers, tourists, and locals alike.
Route & Stations
- City terminus: BNI City Station (also called Sudirman Baru) – located at Jl. T2, RT.7/RW.4, Kebon Melati, Tanah Abang, Central Jakarta. Directly connected to the BNI City skybridge from the Sudirman CBD area.
- Intermediate stop: Batu Ceper Station (Tangerang) – useful if you're in the western suburbs.
- Airport stops: Terminal 2 (Shuttle Bus to terminal) and Terminal 3 (direct connection).
Schedule & Frequency
- First train from BNI City: ~05:15 AM
- Last train from airport: ~21:45 PM
- Frequency: Every 15–30 minutes during peak hours, every 30–45 minutes off-peak.
- Travel time: 30–40 minutes from BNI City to Terminal 3.
Ticket Pricing & Purchase
| Route | Adult Fare (IDR) | Adult Fare (USD ~) | Child Fare (IDR) |
|---|---|---|---|
| BNI City → CGK Airport | 100,000 | $6.45 | 50,000 |
| Batu Ceper → CGK Airport | 70,000 | $4.52 | 35,000 |
| Round trip (BNI City ↔ CGK) | 180,000 | $11.61 | 90,000 |
Prices are subject to change. Tickets can be purchased at station counters, self-service kiosks, or via the Railink website and mobile apps (Gojek, Livin' by Mandiri).
Train Types & Onboard Experience
- Standard class: Comfortable reclining seats, air conditioning, overhead luggage racks, dedicated luggage area at each car end. Free Wi-Fi (stable in most parts).
- Executive class: Wider seats, more legroom, quieter cabin, power sockets at every seat. Slightly higher fare (IDR 150,000 / ~$9.68).
- Baggage: No weight limit, but bulky items (surfboards, large boxes) may require a second ticket. Strollers and wheelchairs are accommodated.
How to Get to BNI City Station
- From Sudirman/Thamrin: 10-minute walk via the BNI City skybridge from the Sudirman Central Business District.
- From other areas: Take TransJakarta bus (corridor 1) to "Karet" stop, then walk 5 minutes. Or use Grab/Gojek to "BNI City Station."
- From Gambir station: 5-minute taxi ride (IDR 30,000–40,000) or 15-minute walk.
Pros & Cons
- ✅ Pros: Fastest (30–40 min), no traffic, air-conditioned, reliable schedule, luggage-friendly, affordable.
- ❌ Cons: Limited operating hours (not 24/7), only one city station (BNI City), requires a taxi/ride to reach the station, not door-to-door.
Case example: A traveler from the Sudirman area heading to Terminal 3 for a 10:00 AM domestic flight can take the 08:45 train from BNI City, arriving at Terminal 3 by 09:15–09:25, with plenty of time for check-in and security. Total door-to-door time (including 10-min walk to station): ~50 minutes. Compare with a taxi which could take 60–90 minutes in morning traffic.
Source: Railink Official Website & Soekarno-Hatta Airport Official Site.
✈️ Domestic Flights from CGK – What You Need to Know
While this guide focuses on getting to Soekarno-Hatta Airport, many travelers are heading there to catch a domestic flight to another Indonesian city. Understanding the airport's domestic flight setup helps you plan your entire journey from city center to final destination.
CGK Terminal Layout for Domestic Flights
- Terminal 1: Lion Air, Wings Air, Batik Air (most domestic routes). Note: Terminal 1 is older with fewer amenities.
- Terminal 2: Garuda Indonesia domestic, Citilink, Sriwijaya Air. Better dining and shopping options.
- Terminal 3: All international flights + some domestic (Garuda International, select routes). The most modern terminal with premium lounges.
Important: The Railink train stops at Terminal 2 and Terminal 3. If your flight departs from Terminal 1, take the free airport shuttle bus (every 15 min) from Terminal 2 or 3.
Typical Domestic Flight Times from CGK
| Destination | Flight Time | Main Airlines |
|---|---|---|
| Denpasar (Bali) | 1 hr 55 min | Garuda, Lion, Batik |
| Medan (Kualanamu) | 2 hr 15 min | Garuda, Lion, Citilink |
| Yogyakarta (YIA) | 1 hr 10 min | Garuda, Lion, Batik |
| Surabaya (Juanda) | 1 hr 30 min | Garuda, Lion, Citilink |
| Makassar (Sultan Hasanuddin) | 2 hr 30 min | Lion, Batik, Garuda |
Recommended Arrival Time Before Domestic Flight
- Train (Railink): Arrive at BNI City Station 2–2.5 hours before departure → 30 min train → 15 min terminal shuttle (if needed) → 60–90 min for check-in & security.
- Taxi/Grab: Depart city center 3–3.5 hours before departure during peak traffic, 2.5 hours during off-peak.
- Damri bus: Depart city terminal 3.5–4 hours before departure to allow for traffic and check-in.
Connecting from Other Airports (HLP → CGK)
If you arrive at Halim Perdanakusuma Airport (HLP) (Jakarta's secondary airport, used by Citilink and some Batik flights) and need to connect to an international flight at CGK, take a taxi (45–75 min, IDR 200,000–350,000 / ~$13–23). There is no direct train between the two airports.
Source: Soekarno-Hatta Airport Official Website & Garuda Indonesia.
🚌 Damri Airport Bus – The Budget-Friendly Choice
Damri is the state-owned bus operator that runs a comprehensive network of airport shuttle services from various points in Jakarta to Soekarno-Hatta Airport. It's the cheapest motorized option and a solid choice for budget travelers who aren't in a hurry.
Major City Terminals & Routes
| City Terminal | Travel Time | Frequency | Fare (IDR) | Fare (USD ~) |
|---|---|---|---|---|
| Gambir Station | 60–90 min | Every 30 min | 60,000 | $3.87 |
| Senayan (GBK) | 60–90 min | Every 30 min | 60,000 | $3.87 |
| Blok M | 70–100 min | Every 45 min | 55,000 | $3.55 |
| Kampung Rambutan | 80–120 min | Every 60 min | 50,000 | $3.23 |
| Halim Station | 50–80 min | Every 60 min | 55,000 | $3.55 |
Fares and schedules are subject to change. Check Damri Official Website for real-time updates.
Booking & Boarding
- Walk-in: Buy tickets at the Damri counter at each city terminal. No advance reservation needed for most routes.
- Online: Some routes can be booked via the Damri mobile app or Gojek.
- Luggage: Free carry-on + 1 suitcase in the cargo hold. Oversized baggage may incur an extra fee.
- Bus type: Air-conditioned coaches with reclining seats. No toilet on board (journey is under 2 hours).
Day vs. Night Service
- Day service: 05:00–22:00 from most terminals. Buses run every 30–60 minutes depending on route.
- Night service: Limited night schedules from Gambir and Senayan (around 01:00, 03:00, 05:00). Ideal for early morning flights but check availability in advance.
Pros & Cons
- ✅ Pros: Cheapest motorized option, multiple city pick-up points, no need to book in advance, luggage space.
- ❌ Cons: Slower due to traffic, less comfortable than train, no direct terminal drop-off (stops at airport bus bay), limited night service.
Case example: A student traveler from Blok M heading to CGK for a 13:00 flight to Yogyakarta can take the 10:30 Damri bus from Blok M terminal. The bus arrives around 11:30–12:00, leaving 60–90 minutes before departure — adequate for a domestic flight with carry-on only.
Source: Damri Official Website.
🚕 Taxi & Ride-Hailing (Grab / Gojek) – Convenience at a Price
Taxis and ride-hailing services offer door-to-door convenience and are the best choice for families, groups, or anyone with heavy luggage. However, Jakarta's traffic can make this option significantly slower than the train.
Taxi Options
| Company | Estimated Cost (IDR) | Estimated Cost (USD ~) | Travel Time | Notes |
|---|---|---|---|---|
| Blue Bird | 250,000–350,000 | $16–23 | 45–90 min | Most reliable, metered, app-booking available |
| Express Taxi | 230,000–320,000 | $15–21 | 45–90 min | Good alternative, slightly cheaper |
| Airport Taxi (official) | 300,000–400,000 | $19–26 | 45–90 min | Fixed price, premium service |
Ride-Hailing (Grab & Gojek)
- GrabCar: IDR 150,000–280,000 ($10–18) – most popular, fixed price shown before booking.
- GoCar: IDR 160,000–290,000 ($10–19) – similar to Grab, slightly different coverage.
- GrabCar Premium / GoCar Luxe: IDR 300,000–450,000 ($19–29) – higher-end vehicles with more space.
- GoRide / GrabBike: IDR 60,000–100,000 ($4–6.5) – NOT recommended for airport travel due to luggage, safety, and helmet rules.
Booking tip: Use the app's "Airport" destination preset for fixed pricing. Avoid surge pricing by booking 30–60 minutes in advance or traveling during off-peak hours (10:00–15:00).
When to Choose Taxi / Ride-Hailing Over the Train
- 🌙 Late night / early morning (22:00–05:00): Train service is not available.
- 👨👩👧👦 Groups of 3+: Cost per person becomes comparable to the train (IDR 80,000–100,000 each in a group of 3).
- 🧳 Heavy or bulky luggage: No need to carry bags up stairs at BNI City Station.
- 🚐 Traveling with infants/elderly: Door-to-door service minimizes walking and transfers.
- ⏱️ Short on time (but not during peak): If traffic is light, a taxi can be faster than walking to the train station + waiting.
Pros & Cons
- ✅ Pros: Door-to-door, 24/7 availability, comfortable, good for groups, fixed price available.
- ❌ Cons: Expensive (especially solo), unpredictable travel time due to traffic, surge pricing possible, less eco-friendly.
Case example: A family of 4 with two large suitcases and a stroller staying at a hotel in Kuningan takes a GrabCar Premium (IDR 350,000 / ~$23) to Terminal 3 for a 14:00 flight. The journey takes 55 minutes at midday. Per person cost: IDR 87,500 (~$5.65) — only slightly more than the train, with door-to-door convenience.
Source: Blue Bird Group & Grab Indonesia.
💰 Cost & Time Comparison – All Transport Options at a Glance
This table summarizes every way to get from Jakarta city center to Soekarno-Hatta Airport, helping you choose based on budget, time, convenience, and traveler type.
| Mode | Travel Time | Cost (IDR) | Cost (USD ~) | Best For | Booking Required? | 24/7? |
|---|---|---|---|---|---|---|
| 🏆 Railink Train | 30–40 min | 100,000 | $6.45 | Solo travelers, couples, business travelers | Walk-in / App | No (05:00–22:00) |
| Damri Bus | 60–90 min | 50,000–80,000 | $3–5 | Budget travelers, backpackers | Walk-in | Limited night service |
| Blue Bird Taxi | 45–90 min | 250,000–350,000 | $16–23 | Families, groups, heavy luggage | App / Hail | ✅ Yes |
| GrabCar / GoCar | 45–90 min | 150,000–300,000 | $10–19 | Solo travelers with luggage, couples | App required | ✅ Yes |
| GrabCar Premium | 45–90 min | 300,000–450,000 | $19–29 | Premium comfort, business travelers | App required | ✅ Yes |
| Private Transfer | 45–90 min | 400,000–800,000 | $26–52 | VIP, executives, special occasions | Advance booking | ✅ Yes (by arrangement) |
Key Takeaways
- ⏱️ Fastest: Railink train (30–40 min) – no traffic competition.
- 💰 Cheapest: Damri bus (from IDR 50,000 / ~$3.23).
- 🏠 Most convenient: Taxi/Grab – door-to-door, 24/7.
- 👨👩👧👦 Best value for groups: GrabCar/GoCar – per person cost drops significantly with 3+ riders.
- 🌙 Late night / early morning: Only taxi or ride-hailing available (train stops ~22:00).
🧳 Traveler Tips & Local Insights – Avoid These Common Mistakes
After hundreds of trips between Jakarta city center and CGK, seasoned travelers have learned a few tricks. Here's what you need to know to make your airport transfer smooth and stress-free.
1. Jakarta Traffic – The #1 Variable
- Peak hours: 07:00–10:00 (morning rush) and 16:00–20:00 (evening rush). During these times, a taxi can take 90–120 minutes vs. 45 minutes off-peak.
- Rainy season (Nov–Mar): Heavy rain can double travel times due to flooding and slow traffic. Always add 30–60 minutes buffer.
- Monday morning & Friday evening: The worst traffic of the week. Avoid taxi/bus if possible; choose the train.
2. BNI City Station – Know Before You Go
- No elevator to the platform: You must carry luggage up a flight of stairs (about 20 steps) from the ticket gate to the platform. Pack light or ask for help.
- Purchase tickets in advance: The station can get busy, especially on weekends. Use the Livin' by Mandiri app or Gojek to buy digital tickets and skip the queue.
- Food & drinks: Small convenience store at the station, but limited options. Better to eat before arriving.
3. Airport Terminal Transfers
- Free shuttle bus: Operates 24/7 between all terminals (every 15–30 minutes). Travel time between terminals is 10–20 minutes.
- Railink stop: The train stops at Terminal 2 and Terminal 3 only. For Terminal 1, take the shuttle from Terminal 2 (5–10 min ride).
- Walking between Terminals 2 and 3: There is a covered walkway (15–20 min walk), but it's not recommended with luggage.
4. Luggage Services (Takkyubin / Baggage Delivery)
- No dedicated luggage forwarding service (like Japan's Takkyubin) is widely available for airport transfer in Jakarta. However, some hotels offer baggage assistance or courier services to the airport. Check with your hotel concierge.
- Pro tip: If you have heavy luggage and are taking the train, consider using a ride-hailing service for the first mile (hotel → BNI City Station) to minimize carrying distance.
5. Mobile Apps & Digital Payments
- Gojek & Grab: Essential apps for ride-hailing, food delivery, and even train tickets. Make sure you have the app installed and a payment method set up (credit card or GoPay/GrabPay).
- Livin' by Mandiri: Useful for purchasing Railink train tickets and checking schedules.
- Google Maps / Waze: Use Waze for real-time traffic updates if taking a taxi or ride-hailing.
6. Time Buffers – How Early Should You Leave?
| Flight Type | Train (Railink) | Taxi / Grab | Damri Bus |
|---|---|---|---|
| Domestic (peak hours) | 2 hr before flight | 3.5 hr before flight | 4 hr before flight |
| Domestic (off-peak) | 1.5 hr before flight | 2.5 hr before flight | 3 hr before flight |
| International (peak hours) | 2.5 hr before flight | 4 hr before flight | 4.5 hr before flight |
| International (off-peak) | 2 hr before flight | 3 hr before flight | 3.5 hr before flight |
7. Seasonal & Holiday Considerations
- Eid al-Fitr (Lebaran) & Christmas/New Year: Up to 3× normal traffic around Jakarta. Roads near the airport can be gridlocked. Train is strongly recommended during these periods.
- School holidays (June–July & December): Increased passenger volume at CGK. Arrive earlier to allow for longer check-in queues.
Insights based on traveler reports and local knowledge from Jakarta Airport Info and Jakarta Tourism.
❓ FAQs: Jakarta City Center to Soekarno-Hatta Airport
1. Is there a direct train from Jakarta city center to Soekarno-Hatta Airport?
Yes, the Railink airport train runs directly from BNI City Station (Sudirman) and Batu Ceper Station to Soekarno-Hatta Airport (Terminals 2 & 3). Travel time is 30–40 minutes with trains every 15–30 minutes. No transfers needed.
2. What is the cheapest way to get from Jakarta to CGK Airport?
The Damri airport bus is the cheapest option, costing IDR 50,000–80,000 (~$3–5) from terminals like Gambir, Senayan, Blok M, and Kampung Rambutan. Travel time is 60–90 minutes depending on traffic. The GoRide motorcycle taxi is cheaper (IDR 60,000–100,000) but not recommended for airport travel.
3. How much time should I allow to reach CGK Airport from central Jakarta?
By train: allow 1–1.5 hours total (including reaching BNI City Station). By taxi/Grab: allow 1.5–2.5 hours during normal traffic, up to 3.5 hours during peak hours (7–10 AM, 4–8 PM). By Damri bus: allow 2–3 hours. Always add 30–60 minutes buffer during rainy season or holidays.
4. Is it better to take a taxi or the train to Soekarno-Hatta Airport?
For most travelers, the train is better: faster (30–40 min), cheaper (IDR 100,000 / ~$6.45), and not affected by traffic. Choose a taxi if: you have very heavy luggage, are traveling in a group of 3+, need door-to-door service, or are traveling during train downtime (22:00–05:00).
5. What are the operating hours of the airport train (Railink)?
The Railink airport train operates approximately 05:00–22:00 daily. First train from BNI City Station departs around 05:15, last train from the airport leaves around 21:45. Check the Railink website for the exact schedule as it may vary by season.
6. Can I use ride-hailing apps like Grab or Gojek to go to CGK Airport?
Yes, both Grab and Gojek offer airport transfers. GrabCar/GoCar costs IDR 150,000–300,000 (~$10–19) with fixed pricing shown before booking. GoRide/GrabBike (motorcycle) is cheaper but not recommended for airport travel due to luggage limitations and safety. Use the app's "Airport" destination preset for the best rates.
7. How do I get to CGK Airport for a very early morning flight (before 07:00)?
For flights before 07:00, the train may not be running (first train ~05:15 from BNI City, arriving ~05:45–05:55 — too late for a 07:00 flight). Your best options: (1) book a taxi or GrabCar the night before (schedule a pickup for 03:00–04:00), (2) stay at Bandara International Hotel or Swiss-Belinn Airport near CGK, or (3) take a Damri night bus from Gambir or Senayan (limited departures around 01:00–03:00).
8. Is the airport train suitable for travelers with large luggage or families?
Yes, the Railink train has dedicated luggage racks at each car end and is stroller-friendly. However, BNI City Station has no elevator to the platform — you must carry luggage up approximately 20 steps. Families with heavy luggage, strollers, or elderly members may prefer a taxi or GrabCar for door-to-door convenience. The train is fine for families with medium-sized suitcases and a folding stroller.