Quick Answer
Best way: Ferry + Flight via Batam and Jakarta. This is the only practical door-to-door combination for most travelers.
Total time: 8–12 hours (including all transfers and layovers).
Total cost: IDR 2,500,000–5,000,000 ($170–$340) per person for economy class.
Key transit hubs: Batam (Hang Nadim Airport – BTH) → Jakarta (Soekarno-Hatta – CGK) → Tanjung Selor (H. Asan Airport – SRG).
Alternative: Private speedboat + charter flight from IDR 15,000,000 ($1,020) for groups of 4–6.
Train Travel: Why It Doesn't Work for This Route
Key fact: Indonesia's railway network is concentrated on the islands of Java and Sumatra. The island of Kalimantan (Borneo), where H. Asan Airport is located, has no active passenger rail lines. Therefore, you cannot travel by train from Pulau Batu Berlayar to H. Asan Airport.
If you are already on Java (e.g., Jakarta or Surabaya) and planning to connect to this route, you could take a train to Jakarta or Surabaya, then fly to Tanjung Selor. However, for travelers starting from Pulau Batu Berlayar, the train is not a viable option.
| Segment | Train Available? | Alternative |
|---|---|---|
| Pulau Batu Berlayar → Batam | ❌ No (island) | Ferry only |
| Batam → Jakarta | ❌ No (sea crossing) | Flight recommended |
| Jakarta → Tanjung Selor | ❌ No (no rail in Kalimantan) | Flight required |
| Within Java (alternative route) | ✅ Yes (e.g., Jakarta–Surabaya) | Useful if combining with flight |
Verdict: Skip the train entirely for this itinerary. Invest your time in booking the right ferry and flight connections. If you're curious about Indonesia's rail system for other trips, visit the official KAI website.
What About the "Shinkansen" Mention?
Japan's Shinkansen (bullet train) is not available in Indonesia. The term "Shinkansen" is sometimes used loosely by travel bloggers to describe high-speed rail, but Indonesia does not have a high-speed rail network connecting Kalimantan. The Jakarta–Bandung high-speed rail (Whoosh) is on Java only and does not help for this route.
Bottom line: Trains are not part of the solution for traveling from Pulau Batu Berlayar to H. Asan Airport.
Domestic Flights – The Core of Your Journey
The most reliable and time-efficient way to cover the long distance from the Riau Archipelago to North Kalimantan is by air. However, there are no direct flights from Batam (BTH) or Singapore (SIN) to H. Asan Airport (SRG). You must transit through Jakarta (CGK) or sometimes Surabaya (SUB).
Recommended Flight Route: Batam → Jakarta → Tanjung Selor
- Leg 1: Batam (Hang Nadim – BTH) → Jakarta (Soekarno-Hatta – CGK) — 1h 40min flight time.
- Leg 2: Jakarta (CGK) → Tanjung Selor (H. Asan – SRG) — 2h 30min flight time.
- Layover: Minimum 2–3 hours in Jakarta to clear terminals and re-check baggage (if separate tickets).
- Total door-to-door time: 8–12 hours including ferry to Batam, airport check-in, and layover.
| Airline | Route | Frequency | Price (IDR) | Baggage |
|---|---|---|---|---|
| Lion Air | BTH → CGK → SRG | Daily (2–3 flights) | 1,200,000–2,000,000 ($82–$136) | 20 kg checked |
| Garuda Indonesia | BTH → CGK → SRG | Daily (1–2 flights) | 2,500,000–4,000,000 ($170–$272) | 30 kg checked |
| Citilink | BTH → CGK → SRG | Daily (1–2 flights) | 1,000,000–1,800,000 ($68–$122) | 20 kg checked |
| Sriwijaya Air | BTH → CGK → SRG | Limited (check schedule) | 1,500,000–2,500,000 ($102–$170) | 20 kg checked |
Flying via Singapore (SIN) – Alternative Route
If you are already near Singapore, you can take a ferry from Pulau Batu Berlayar to Singapore (1 hour), then fly SIN → CGK (1h 50min) → SRG (2h 30min). This route may be more expensive (IDR 3,000,000–5,000,000 / $204–$340) but offers more flight frequencies and better connections from Singapore Changi Airport.
Important: Hidden Time Costs
Flight time is only part of the equation. Factor in:
- Ferry to Batam/Singapore: 30–60 min + waiting time.
- Airport check-in & security: 45–90 min per flight.
- Baggage claim & terminal transfer in Jakarta: 60–90 min.
- Getting from H. Asan Airport to Tanjung Selor city: 20–30 min.
Realistic total: 9–12 hours. Do not expect to arrive in under 8 hours even with perfect connections.
Which Airline to Choose?
Lion Air offers the most frequencies and the best balance of price and reliability on the Jakarta–Tanjung Selor sector. Garuda Indonesia is more comfortable but significantly more expensive. For budget travelers, Citilink is a solid choice if you book early.
Check real-time schedules on Lion Air or Garuda Indonesia.
Bus & Minibus – Local Connections Only
Important: There is no long-distance bus service from Pulau Batu Berlayar to H. Asan Airport, as the route crosses the sea and covers over 2,000 km. However, buses and minibuses play a vital role in the local connections at both ends of your journey.
1. From H. Asan Airport to Tanjung Selor City Center
- Public minibus (angkot): IDR 30,000–50,000 ($2–$3.40) — 30–40 minutes.
- Shared shuttle (travel mobil): IDR 70,000–100,000 ($4.80–$6.80) — 20–25 minutes.
- Route: H. Asan Airport → Jl. Agatis → Jl. Diponegoro → Central Tanjung Selor.
- Frequency: Every 30–60 minutes during daylight hours (6:00 AM – 6:00 PM).
2. From Pulau Batu Berlayar to Batam Ferry Terminal
Pulau Batu Berlayar is a small island. There is no bus service on the island itself. You will need to walk or take a local ojek (motorcycle taxi) to the jetty (IDR 20,000–40,000 / $1.40–$2.70). Once you arrive at Batam Centre Ferry Terminal, you can take a city bus (Trans Batam) to Hang Nadim Airport for IDR 15,000 ($1).
3. Night Bus Options?
There is no night bus service on Pulau Batu Berlayar or in Tanjung Selor that connects to the airport. H. Asan Airport does not operate flights after dark (last arrival ~5:00 PM local time). If you arrive late, you must take a taxi or pre-arranged transfer.
4. Bus Quality & Comfort
Local minibuses are basic, with no air conditioning on some routes. For the Tanjung Selor airport shuttle, small air-conditioned vans (Toyota Avanza or similar) are available at the airport exit. Booking is not required — just walk out and ask for "travel ke kota".
| Segment | Type | Price (IDR) | Time | Booking Needed? |
|---|---|---|---|---|
| H. Asan Airport → Tanjung Selor | Minibus (angkot) | 30,000–50,000 | 30–40 min | No |
| H. Asan Airport → Tanjung Selor | Shared shuttle (travel) | 70,000–100,000 | 20–25 min | No |
| Batam Centre → Hang Nadim Airport | Trans Batam bus | 15,000 | 45–60 min | No |
| Pulau Batu Berlayar → jetty | Ojek (motorcycle) | 20,000–40,000 | 10–15 min | No |
Taxi & Private Transfer – Comfort at a Premium
For travelers prioritizing convenience, privacy, or traveling in groups, taxis and private transfers are available on specific segments of this route. Full door-to-door private service (speedboat + private car) is expensive but eliminates all coordination headaches.
1. Taxi from H. Asan Airport to Tanjung Selor
- Taxi (fixed price): IDR 150,000–200,000 ($10–$14) — 20 minutes.
- Ride-hailing (Gojek/Grab): IDR 100,000–150,000 ($6.80–$10) — limited availability at airport.
- Hotel transfer: Most hotels in Tanjung Selor offer pickup for IDR 200,000–300,000 ($14–$20).
2. Private Speedboat from Pulau Batu Berlayar to Batam
- Private speedboat (4–6 pax): IDR 1,500,000–2,500,000 ($102–$170) one-way.
- Scheduled public ferry: IDR 50,000–80,000 ($3.40–$5.40) per person.
- Difference: Private boat saves 30–45 minutes and runs on your schedule.
3. Full Private Charter (Speedboat + Car + Flight)
Some travel agencies in Batam offer combined private packages:
- Private speedboat from Pulau Batu Berlayar to Batam.
- Private car from Batam jetty to Hang Nadim Airport.
- Business class flight Batam → Jakarta → Tanjung Selor.
- Private car from H. Asan Airport to Tanjung Selor hotel.
- Total package: IDR 12,000,000–18,000,000 ($816–$1,224) for up to 4 people.
4. When Should You Choose a Taxi/Private Transfer?
- Late arrival: If your flight lands after 5:00 PM, public minibuses may not run.
- Group travel (3+ people): Taxi per person cost is similar to bus.
- Heavy luggage: Private car has more space for diving gear, suitcases, etc.
- Business travel: Time savings and comfort justify the higher cost.
| Service | Segment | Price (IDR) | Notes |
|---|---|---|---|
| Taxi (airport → city) | H. Asan Airport → Tanjung Selor | 150,000–200,000 | Fixed fare, 20 min |
| Ride-hailing | H. Asan Airport → Tanjung Selor | 100,000–150,000 | Limited availability |
| Private speedboat | Pulau Batu Berlayar → Batam | 1,500,000–2,500,000 | Up to 6 pax |
| Full charter (4 pax) | Door-to-door entire route | 12,000,000–18,000,000 | Includes flights & transfers |
Book private transfers via Traveloka or local agents in Batam.
Cost Comparison & Tickets – All Options Side by Side
This table compares every viable transport combination from Pulau Batu Berlayar to H. Asan Airport. Prices are per person unless marked as "private."
| Transport Mode | Total Time | Total Cost (IDR) | Total Cost (USD) | Transfers | Best For |
|---|---|---|---|---|---|
| 🚢 Ferry + ✈️ Budget Flight (Lion Air) | 9–12 hours | 1,500,000–2,500,000 | $102–$170 | 3 (ferry, 2 flights) | 💰 Cheapest option |
| 🚢 Ferry + ✈️ Full Service (Garuda) | 9–12 hours | 3,500,000–5,000,000 | $238–$340 | 3 | 🏆 Comfort & baggage |
| 🚢 Ferry + ✈️ via Singapore (SIN) | 9–11 hours | 3,000,000–5,000,000 | $204–$340 | 3 (ferry, 2 flights) | 🌏 More flight options |
| 🛥️ Private speedboat + ✈️ Economy | 8–10 hours | 3,500,000–5,500,000 | $238–$374 | 3 (private boat, 2 flights) | ⏱️ Time saving, flexibility |
| 🛥️ Private speedboat + ✈️ Business | 8–10 hours | 8,000,000–12,000,000 | $544–$816 | 3 | 💼 Business travelers |
| 🚕 Full private charter (4 pax) | 8–10 hours | 12,000,000–18,000,000 | $816–$1,224 | Door-to-door | 👨👩👧👦 Groups, luxury |
Where to Buy Tickets
- Ferry tickets (Batam): Traveloka or directly at Batam Centre Ferry Terminal.
- Domestic flights: Lion Air, Garuda Indonesia, or Traveloka for price comparison.
- Private charters: Contact local agents in Batam (e.g., Batam Charter, batamcharter.com).
- JR Pass? Not applicable for Indonesia.
💡 Money-saving tip: Book flights 4–6 weeks in advance. Lion Air offers flash sales every month. The cheapest combination (ferry + Lion Air) can be as low as IDR 1,500,000 ($102) if you are flexible with dates.
Traveler Experience & Practical Insights
Real travelers who have made this journey share their honest feedback. Here's what you need to know beyond the schedules and prices.
1. The "Mount Fuji" Moment – Unexpected Views
Several travelers report that the flight from Jakarta to Tanjung Selor offers stunning views of Borneo's rainforest and, on clear days, you can see Mount Kinabalu (Sabah) in the distance. Sit on the left side of the plane (window seat A) for the best views.
2. Transfer Challenge: Jakarta Airport Terminal Change
If your Batam–Jakarta flight arrives at Terminal 1 (Lion Air) and your Jakarta–Tanjung Selor flight departs from Terminal 2 (Garuda) or Terminal 3 (Citilink), you will need to take the skytrain or a shuttle bus between terminals. Allow at least 90 minutes for this transfer. Travelers recommend using the same airline for both legs to avoid terminal changes.
3. Takkyubin (Luggage Delivery) – Not Available in Kalimantan
Japan's Takkyubin luggage forwarding service is not available in Indonesia. However, some hotels in Batam and Jakarta offer left luggage services for a small fee (IDR 30,000–50,000 per day). For this route, pack light — one carry-on + one checked bag per person is ideal because you will be moving through multiple transit points.
4. Peak Season & Holiday Warnings
- Idul Fitri (Easter holiday period): Flights sell out 2–3 months in advance. Prices triple.
- Christmas & New Year: Batam–Jakarta flights are fully booked. Book by October.
- Golden Week (April–May): Indonesian school holidays affect domestic routes.
- Tip: Use Google Flights to track price alerts for this route.
5. Traveler Rating Summary (from online forums)
| Segment | Rating (out of 5) | Common Praise | Common Complaints |
|---|---|---|---|
| Ferry: Pulau Batu Berlayar → Batam | ⭐⭐⭐⭐ | Scenic, affordable | Can be bumpy in rough weather |
| Flight: Batam → Jakarta | ⭐⭐⭐⭐ | Fast, frequent | Delays during rainy season |
| Flight: Jakarta → Tanjung Selor | ⭐⭐⭐ | Only direct option | Limited schedule, small aircraft |
| Airport transfer: H. Asan → City | ⭐⭐⭐⭐ | Cheap, quick | Minibus waits for full load |
Pro Tips & Insider Advice for a Smooth Trip
These actionable tips come from frequent travelers and local guides who know the route well. Follow them to avoid common pitfalls.
✅ Before You Go
- Book ferry + flights as a package: Use Traveloka to book ferry and flights together — it's often cheaper and you get protected in case of delays.
- Check visa requirements: For international travelers, Indonesia offers visa-free entry for many nationalities (up to 30 days). Ensure your passport has at least 6 months validity.
- Download Gojek/Grab: These ride-hailing apps work in Batam and Tanjung Selor (limited). Install them before you arrive.
🧳 Luggage Strategy
- Pack light: You will carry your luggage on/off the ferry and through two airports. A 7 kg carry-on + 15 kg checked bag is sufficient for a 1–2 week trip.
- Use a dry bag: For the ferry crossing, protect electronics from sea spray.
- Label your bags: With your name and "Tanjung Selor" clearly visible.
⏰ Timing Your Journey
- Start early: The first ferry from Pulau Batu Berlayar to Batam departs around 6:00–7:00 AM. Aim to be on it.
- Aim for a morning arrival in Jakarta: Arriving in Jakarta before 10:00 AM gives you buffer time for the connecting flight to Tanjung Selor.
- Last flight from Jakarta to Tanjung Selor: Usually departs around 2:00–3:00 PM. If you miss it, you'll need to stay overnight in Jakarta.
🌦️ Weather Considerations
- Rainy season (November–March): Ferry crossings can be rough. Flights may be delayed. Build in extra buffer time.
- Dry season (April–October): Best time for this route. Calm seas and reliable flight schedules.
- Haze season (August–October): Forest fires in Kalimantan can cause flight cancellations. Check air quality reports.
📱 Essential Apps & Contacts
| App / Service | Purpose | Link / Number |
|---|---|---|
| Traveloka | Book ferry & flights | traveloka.com |
| Lion Air | Check flight schedules | lionair.co.id |
| Gojek | Ride-hailing, food delivery | Download app |
| Grab | Ride-hailing, taxi | Download app |
| H. Asan Airport info | Flight arrivals/departures | +62 552 21111 |
FAQs: Everything Else You Need to Know
1. Is there a direct ferry from Pulau Batu Berlayar to H. Asan Airport?
No. There is no direct ferry. Pulau Batu Berlayar is a small island in the Riau Archipelago, while H. Asan Airport is in North Kalimantan. You must take a ferry to Batam or Singapore first, then fly to Jakarta, and finally take a connecting flight to Tanjung Selor (H. Asan Airport).
2. What is the fastest way to get from Pulau Batu Berlayar to H. Asan Airport?
The fastest combination is speedboat from Pulau Batu Berlayar to Batam (30 min) + flight Batam → Jakarta (1h 40min) + flight Jakarta → Tanjung Selor (2h 30min). Total door-to-door time: approximately 8–10 hours, depending on layover.
3. Can I use a train to reach H. Asan Airport from Pulau Batu Berlayar?
No. There is no railway network in Kalimantan (Borneo). Indonesia's train system is limited to Java and Sumatra. You cannot travel by train from Pulau Batu Berlayar to H. Asan Airport. The only practical ways are ferry + flight or private charter.
4. How much does it cost to travel from Pulau Batu Berlayar to H. Asan Airport?
The most affordable option (ferry + economy flights) costs around IDR 2,500,000–3,500,000 ($170–$240) per person. A private charter including speedboat and light aircraft can cost IDR 15,000,000–25,000,000 ($1,020–$1,700) for the whole group.
5. Is it possible to do this trip in one day?
Yes, it is possible but tight. You would need to catch the first speedboat from Pulau Batu Berlayar to Batam (around 6:00–7:00 AM), then connect to the earliest flight to Jakarta, and finally the last flight to Tanjung Selor. Total travel time: 9–12 hours. Book all segments in advance.
6. What is the cheapest way to get from Pulau Batu Berlayar to H. Asan Airport?
The cheapest way is to take a public ferry from Pulau Batu Berlayar to Batam (IDR 50,000–80,000), then a budget flight from Batam to Jakarta (Lion Air or Citilink, from IDR 400,000), and finally a budget flight from Jakarta to Tanjung Selor (Lion Air, from IDR 600,000). Total as low as IDR 1,500,000 ($102) if booked early.
7. Are there overnight options for this route?
Overnight options are limited because small islands and regional airports have limited night operations. You can take an evening ferry to Batam, stay overnight at a hotel near Batam airport (Hang Nadim), then catch the first morning flight to Jakarta and connect to Tanjung Selor. Alternatively, stay overnight in Jakarta if you miss the last connection.
8. How do I get from H. Asan Airport to Tanjung Selor city center?
From H. Asan Airport, you can take a public minibus (IDR 30,000–50,000, 30 minutes) or a taxi (IDR 150,000–200,000, 20 minutes) to Tanjung Selor city center. Ride-hailing apps like Gojek and Grab are also available but limited in this area.