Delays are common to all forms of transport in Indonesia – including major flights – caused by weather, mechanical failure, or simply not enough passengers turning up, so you’ll save yourself a good deal of stress if you keep your schedule as flexible as possible.


Buses are cheap, easy to book, and leave roughly on time. But they’re also slow, cramped and often plain terrifying: accidents can be devastating. Where there’s a choice of operators on any particular route, ask local people which bus company they recommend. Tickets are sold a day or more in advance from the point of departure or bus company offices – which are not necessarily near the relevant bus station (terminal). Where services are infrequent it’s a good idea to buy tickets as early as possible. Tell the driver your exact destination, as it may be possible to get delivered right to the door of your hotel. The average long-distance bus has padded seats but little leg- or headroom; it’s worth forking out for a luxury bus, if available, which costs twice as much but will have reclining seats. You’ll get regular meal stops at roadhouses along the way. On shorter routes, you’ll use minibuses, widely known by their Balinese tag, bemo. Other names for local transport include taksi (bemo in Kalimantan), pete-petes (in Sulawesi), and travel (share taxis in Flores as well as northern Sumatra, often consisting of shiny SUVs). Once on their way, they’re faster than buses and cheaper; fares are handed over on board, and rarely advertised. You may also have to pay for any space your luggage occupies. It’s almost impossible to give the frequency with which bemos and public buses run; if no frequency is given in the text, they are frequent, roughly hourly. Journey times given are the minimum you can reasonably expect.

In resort areas such as Bali, a more pleasant option is tourist shuttle buses – though far more expensive than local services, these will take you between points as quickly as possible. The longest-established firm on Bali and Lombok is Perama (w). They have offices in most major tourist destinations and produce a useful leaflet outlining their routes. Fares start at Rp25,000.


In Java, trains, run by PT Kereta API, are often preferred over buses for being more comfortable and reliable. Additionally, train stations are generally far more centrally situated than the typically far-flung bus terminals. You’re also less likely to get ripped off at the train ticket window (loket).


While air travel has become much more popular in recent times it is still possible to travel between islands by boat. Public ferries run regularly on the shorter crossings between neighbouring islands, such as between Sumatra and Java, Java and Bali, and Bali and Lombok, for example. In more visited areas you’ll find tourist boat services, and combined long-distance bus and boat options. However, with the advent of cheap domestic flights ferry services are becoming less frequent and poorer value as they compete with the airlines.

Pelni (w) currently operates 25 passenger liners, most of which run on weekly or monthly circuits and link Java with ports on all the main island groups between Sumatra and Papua. The best place for up-to-date information on routes is the local Pelni office who should have complete timetables of all the ferries serving their ports. Comprehensive timetables for Pelni’s coverage across the whole country can be picked up from their head office in Jakarta. The vessels carry 500 to 1600 passengers each, are well maintained, and as safe and punctual as any transport in Indonesia can be. Tickets are available from Pelni offices two or three days before departure, but it’s best to pay an agent to reserve these for you as early as possible. You can only buy tickets for services that depart locally.

Accommodation on board is usually divided into two or four classes. All are good value and include meals; cabins also have large lockers to store your luggage. First class consists of a private cabin with a double bed, washroom, TV and air conditioning – generally US$60–100 a day depending on the route, with prices and facilities working downwards from there. If all classes are full, then the only option is to sleep in the corridors, stairwells or on deck – if you plan on this, it’s a good idea to buy a rattan mat, and get to the port early to stake out your spot on the floor. Lock luggage shut and chain it to something immovable. Fourth-class food is edible at best, so stock up in advance with instant noodles and biscuits.

There are also three ASDP fast ferries, two of which connect Surabaya on Java with Bali and Nusa Tenggara, and one of which sails north from Surabaya to Kalimantan. While not cheap the service is very good, and ferries take less than a third of the time of Pelni vessels.


In some areas, flying may be the only practical way to get around. State-operated Garuda ( handles international flights (though you might also use them for transport within Indonesia), while Merpati is the domestic operator. Provincial services are supplemented by numerous airlines, including Mandala, Lion Air, and Batavia Air, among others. It’s essential to reconfirm your seat, as waiting lists can be long and being bumped off is a regular occurrence; get a computer printout of the reconfirmation if possible. Arrive at the airport early, as seats on overbooked flights are allocated on a first-come, first-served basis. At other times, “fully booked” planes can be almost empty, so if you really have to get somewhere it’s always worth going to the airport to check. Fares depend on the airline, ticket type, and travel date, but are typically good value considering the mileage covered and time saved. A flight between Bali and Jakarta, for example, will cost around Rp500,000; between Bali and Flores will cost around Rp700,000.


Car-rental agencies abound in tourist hot spots such as Bali. Local operators offer a range of cars, most frequently 800cc Suzuki Jimneys (around Rp100,000/day). You’ll need to produce an international drivers’ licence before you rent (in some cases these can be purchased for around Rp200,000). Rental motorbikes vary from small 100cc Yamahas to trail bikes. Prices start at Rp40,000 per day without insurance. Conditions are not suitable for inexperienced drivers, with heavy traffic on major routes; there are increasing numbers of accidents involving tourists, so don’t take risks.

Traffic in Indonesia drives on the left and drivers must always carry an international driving licence and the vehicle registration documents. Passengers in the front of a vehicle must wear a seatbelt by law and all motorcyclists must wear a helmet. The police carry out regular spot checks, and you’ll be fined for any infringements.


In cities, colour-coded or numbered minibuses known as angkots, (also called bemos, oplets or microlets), run fixed circuits although routes are often adaptable according to their customers. Rides through the city usually cost from 1000 to 4000 rupiah, usually depending on the distance travelled, but fares are never displayed and typically collected upon exiting. Many visitors are overcharged at first. Other standbys include ojek, single-passenger motorbikes, and becak, cycle-rickshaws capable of squeezing in two passengers. Jakarta also has motorized becak, called bajaj. Negotiating fares for these vehicles requires a balance of firmness and tact; try for around Rp8000 for an ojek for a short trip around town, and Rp15,000–20,000 for a short bajaj trip. Taxis will generally be cheaper than a bajaj, and in most cities will use a meter (argo), though bajaj can prove useful when in a hurry during the peak-hour mess.

Book through Rough Guides’ trusted travel partners

Indonesia features

The latest articles, galleries, quizzes and videos.

Una Una: the Indonesian island on the rise

Una Una: the Indonesian island on the rise

The Togean archipelago in the Gulf of Tomini, Central Sulawesi, Indonesia, made the Rough Guide to 2018. However, Una Una, the northernmost and most secluded of…

10 Sep 2018 • Marco Ferrarese insert_drive_file Article
Bali travel tips: 10 things to know before you go

Bali travel tips: 10 things to know before you go

With its coral-speckled beaches, luscious green rice terraces and blissful azure seas, Bali has long been a haven for surfers, sun worshippers and yoga junkies …

29 May 2018 • Henry Fry insert_drive_file Article
Off the tourist trail in Southeast Asia: 5 underrated cities

Off the tourist trail in Southeast Asia: 5 underrated cities

Modern Bangkok, historical Hanoi and tourism-boom town Siem Reap — home to the world-famous Angkor Wat temples — are some of Southeast Asia's best drawcards…

21 Nov 2017 • Marco Ferrarese insert_drive_file Article
View more featureschevron_right

Privacy Preference Center


Mandatory - can not be deselected. Necessary cookies help make a website usable by enabling basic functions like page navigation and access to secure areas of the website. The website cannot function properly without these cookies.



Statistic cookies help website owners to understand how visitors interact with websites by collecting and reporting information anonymously.



Marketing cookies are used to track visitors across websites. The intention is to display ads that are relevant and engaging for the individual user and thereby more valuable for publishers and third party advertisers.

__gads,PISID, BEAT, CheckConnection TempCookie703, GALX, GAPS, GoogleAccountsLocale_session, HSID, LSID, LSOSID, NID, PREF, RMME, S, SAPISID, SID, SSID,__utmv, _twitter_sess, auth_token, auth_token_session, external_referer, guest_id, k, lang, original_referer, remember_checked, secure_session, twid, twll,c_user, datr, fr, highContrast, locale, lu, reg_ext_ref, reg_fb_gate, reg_fb_ref, s, wd, xs
__gads,PISID, BEAT, CheckConnection TempCookie703, GALX, GAPS, GoogleAccountsLocale_session, HSID, LSID, LSOSID, NID, PREF, RMME, S, SAPISID, SID, SSID
__utmv, _twitter_sess, auth_token, auth_token_session, external_referer, guest_id, k, lang, original_referer, remember_checked, secure_session, twid, twll
c_user, datr, fr, highContrast, locale, lu, reg_ext_ref, reg_fb_gate, reg_fb_ref, s, wd, xs