Indonesia is a huge country on several thousand islands, but it has a very developed and extremely busy domestic air service.
Usually there are always a large number of ferries just between two neighbouring islands.
Modern long-distance intercity buses operate on the larger islands and there is even a well-developed rail network on Java.
Book a hotel in Indonesia at a discount
Air travel
Air travel is the number one choice for inter-island travel, but also longer routes within an island.
There are a huge number of scheduled airports in Indonesia, and routes between major islands and cities are very busy.
A large number of airlines operate in Indonesia. Although they do not have a very good reputation for safety, the situation is improving significantly and Indonesian aviation is rapidly reaching international standards.
Ticket prices and when to buy
Domestic one-way tickets can be purchased from 30 usd on the shortest routes.
However, fares on longer routes across Indonesia are quite expensive and can cost well over 250 usd one way.
The usual price on the busiest Jakarta to Bali route is between 70 usd and 100 usd for a one-way flight.
The cheapest tickets are usually available 1-3 months before departure.
Airlines in Indonesia
There are a large number of airlines operating in the country. Although most of them profile themselves as low-cost carriers, checked baggage up to 20kg is usually included in the basic ticket price.
Search for tickets at airasia.com
You can buy flights within Indonesia with the following airlines.
- Garuda Indonesia - Extensive route portfolio, but one of the more expensive airlines, flying mainly from Jakarta and Bali
- AirAsia - very cheap flights from Jakarta to major Indonesian cities
- Lion Air - Indonesia's largest airline connecting almost all the islands
- Batik Air - large airline with frequent flights from Jakarta, Surabaya and other cities
- Citilink - low-cost airline with many flights from Java, Sumatra and Borneo
- Super Air Jet - ultra low-cost airline with frequent low-cost flights from Jakarta, Bali, Balikpapan and other cities
- TransNusa - a small airline flying from Jakarta and Yogyakarta, for example
- NAM Air - small airline flying mainly from Jakarta and Bali
Ferries between islands
Ferries operate between the islands and can carry motorbikes and cars.
There are also fast boats between some islands, which cost a lot more, but the crossing time is shorter than a ferry and the boats are in better condition.
Tourists are usually offered the more expensive fast boats first, in the hope that tourists will not seek out the ferry. Don't be put off and have all the options explained in detail.
You can also book tickets on the better cruise companies online, for example through these websites:
Examples of busy routes
These are the routes tourists most often use ferries on:
- Ketapang (Java) - Gilimanuk (Bali)
- Boats sail 24/7 every 15-30 minutes
- Price approx. 10 500 idr, ticket to be bought at the kiosk at the dock
- Sailing time 45 minutes
- Merak (Java) - Bakauheni (Sumatra)
- Boats sail 24/7 every approx. 30-120 minutes
- Price approx. 25 000 idr
- Cruise time 60 minutes
- Bali - Lombok
- Boats sail on several different routes between approx. 5:30 and 16:00 on average 1-2 times per hour
- Price from 400 000 idr for fast boats, some cruises can be booked for example via Directferries.com
- Cruise time 3,5 hours
Rail - regular trains
Long-distance trains run only in Java and Sumatra, but on Java alone the rail network is dense and serves all major cities.
The network in Sumatra is divided into three relatively short and unconnected sections.
There are no passenger trains on the other islands.
All long-distance conventional trains are operated by KAI - Kereta Api Indonesia.
Timetables and online tickets
The official railway website is kai.id. Here you can view timetables and buy tickets after registering.
If you can't buy tickets through the railways' website (often foreign card payments don't go through), for a small extra fee (approx. 10 000 idr) you can easily buy them on 12go.asia or traveloka.com.
There is no need to print the tickets, just scan the QR code from your mobile when passing through the turnstile.
It is highly recommended to book tickets for busy routes in Java at least 3 weeks in advance, especially if you plan to travel on a Friday, Saturday or Sunday.
It can easily happen that the train will be completely sold out 14 days before departure or that only expensive tickets in better classes will be available.
Ticket prices and routes
Most use trains in Java, where they are similarly fast or faster than buses and incomparably more comfortable.
Plus, the routes pass through beautiful places over mountains. However, tickets are usually more expensive than buses.
Examples of the most popular routes are:
Route | Price from | Frequency |
---|---|---|
Jakarta - Yogyakarta | 410 000 idr | 3-4 times a day |
Jakarta - Surabaya | 690 000 idr | 4-5x daily |
Yogyakarta - Malang | 240 000 idr | 6x daily |
Bandung - Yogyakarta | 225 000 idr | 7-10x daily |
However, trains serve most major cities in Java such as Semarang, Surakarta (Solo), Cirebon, Cilacap and others.
In Sumatra, long-distance trains run regularly only in these places:
- Tanjung Karang - Kertapati (Palembang)
- Kertapati (Palembang) - Lubuk Linggau (Kota Padang)
- Suburban trains around Padang
- Medan - Rantau Prapat
Fast trains
There is one relatively short high-speed line operating on the island of Java so far, connecting the cities of Jakarta and Bandung, operated by Whoosh.
The modern Chinese trains run at a maximum speed of 350 km/h and cover the route in about 30 minutes.
Tickets can be conveniently purchased online at tickets.kcic.co.id.
The high-speed trains stop at Halim station about 15 km southeast of the city centre, which can be reached by LRT from Dukuh Atas station for about 10 000 idr or via Grab / Gojek for about 50 000 idr.
In Bandung, the train stops at Padalarang station, from where a free connecting suburban train runs to the centre, or at Tegalluar station, where no public transport runs.
Long-distance buses
On many islands (Java, Sumatra, Sulawesi, Borneo) you can travel longer distances on larger modern air-conditioned buses.
These are usually much cheaper than trains and the frequency can be more frequent. On the other hand, bus stations are often difficult to navigate.
Different companies often stop at different stations within the same city.
For the best timetables, ticket booking and station locations, visit traveloka.com.
Through this website you can buy tickets for many different carriers across the country. You don't need to print the ticket, just show the QR code on your mobile phone.
Minibuses (angkots)
In rural areas and small islands, only small buses or minibuses called "angkot" run.
While minibuses have a designated route, the destination is always written behind the windshield or on the side of the car.
Usually there are no timetables and the angkot only sets off on its route when it fills up.
Payment is always made in cash only to the driver or conductor before boarding.
Some of the more modern companies in tourist hub areas like Bali or Yogyakarta may even have a fixed timetable.
Public transport
In major cities such as Jakarta, Yogyakarta, Surabaya, Medan, Surakarta and Bandung, regular city buses operate, and in Jakarta, in addition, the metro and suburban railway.
In smaller cities, conventional public transport does not work and you can only get around by vans (angkots) with fixed routes but no timetables. In these vans, you always pay cash to the driver or conductor, who collects the money before boarding.
Pre-loaded transport cards
If you take public transport in larger cities, almost nowhere can you pay the fare with cash.
However, all public transport systems across the country operate payment by pre-loaded transport cards, which you can buy at many places.
The most widely sold cards are:
- E-money Mandiri
- BNI Tapcash
- BRIZZI
- BCA Flazz
- Multi Trip Card (KMT)
These cards can be purchased, for example, at ticket offices in railway stations or at Indomaret or Alfa Mart mini-markets.
The price of each card is usually 40 000 idr, of which 10 000 idr you can already use to pay your fare.
You can top up your card with any amount again at Indomaret or Alfa Mart minimarkets, which can be found in the smallest villages across the country.
It is advisable to keep some reserve on your card, as sometimes the card recharge system has an outage and does not work for a few hours.
Taxi / Grab / Gojek
Many times more convenient (though perhaps not always faster in Jakarta) are the ubiquitous taxis, which are widely used by Indonesians themselves.
For tourists, we recommend using the well-known mobile apps Grab or Gojek, where you always know the price in advance and can also pay with a card entered in the app.
These apps work on the same principle as Uber, Bolt or Lyft (which do not operate in Indonesia).
The prices are dynamic and are calculated based on current demand, but you always know the price before the ride. You don't have to have any cash or haggle with the driver - the appropriate amount is automatically charged to the card entered in the app when the ride is over.
We always recommend comparing prices on both apps (Grab and GoJek) as they use different algorithms and the price can vary by 20-30%.
The highway network in Jakarta and other major cities like Medan and Surabaya is divided into toll roads and free streets.
When travelling further out of the centre, the driver will often ask you whether you want to take the "Toll Road" or not. We always recommend agreeing as you can save yourself up to 30 minutes of driving.
The toll usually costs 10 000 idr and the app will automatically include it in the final price charged to your card. Do not pay any cash to the driver.
Rent a car/motorbike
Driving in Indonesia is on the left.
Traffic is heavy in the cities, Indonesians are mostly transported on motorbikes (often whole families at once) and don't follow traffic laws much.
There is little regard for others in traffic, everyone is trying to get where they need to go as quickly as possible.
Also, you are allowed to drive a motorbike almost anywhere, so don't rely on the motorbike to avoid you if you are standing on the pavement. The locals ride as they please, even in the opposite direction.
Hired cars
If you want to rent a car, we recommend you bring a driver, it has many advantages. He navigates the frantic local traffic, takes you where you need to go, doesn't wander and often gives you some tips. Plus, you don't have to worry about how to get the car back. This is often the best solution if you want to see as many sights as possible in a short time and if you can share the cost with other travellers.
For Indonesian car rental companies, hiring a car with a driver is a significantly more common option than renting a car on your own, and all rental companies commonly offer it.
However, if you want to drive yourself, in tourist locations like Bali, there is no problem renting a car without a driver.
Prices are around 330 000 idr per day.
Compare car rental prices in Indonesia
Rent a motorbike
Renting a motorbike is not a problem, there are a huge number of rental agencies in tourist destinations (especially the islands of Bali or Lombok).
Rental prices per day depend on the destination, demand and competition. In Java, for example, you can get a motorbike for about 60 000 idr per day.
In Bali, which is more expensive overall, you can paradoxically get one cheaper because competition between rental companies pushes prices down. You can get a motorbike in Bali from 50 000 idr.
On the other hand, expect higher prices on the more remote islands.
Don't forget your helmet! A helmet is compulsory for both driver and passenger, although the latter rarely comply. If you're renting a motorbike and you're confused about the local rules of the road, ask about them properly too.