Taking the train in Indonesia
 

Travel Java by train, the civilised way!

Buy train tickets

   
 

Train travel on Java

An excellent train system links all the main cities on Java, including Jakarta, Bandung, Yogyakarta, Solo, Surabaya, Probolinggo (for Mt Bromo) and Ketapang (for the ferry to Bali).  Trains are cheap, comfortable and air-conditioned, the ideal way to get around.  Indonesian trains run on narrow-gauge 3' 6" tracks, but are fast and usually punctual, with efficient computerised reservations.  The Indonesian for train is Kereta Api - literally fire carriage.

small bullet point  Useful country information: Visas, currency, etc.

small bullet point  How to buy tickets

small bullet point  Classes explained: Luxury, Eksekutif, Bisnis & Ekonomi

small bullet point  Luggage on trains

small bullet point  Food, drink & travel tips

small bullet point  A train ride from Jakarta to Bali in pictures

small bullet point  Jakarta airport train link

small bullet point  Travel insurance, mobile data & other tips

small bullet point  Recommended hotels on Java & Bali

Times & fares for Java

small bullet point  Jakarta - Surabaya

small bullet point  Jakarta - Bandung

small bullet point  Jakarta - Yogyakarta & Solo

small bullet point  Yogyakarta - Solo

small bullet point  Bandung - Yogyakarta - Solo - Surabaya

small bullet point  Surabaya - Probolinggo - Ketapang (for Bali)

Sumatra & Bali

It's easy to travel by train & ferry between Java and Bali, or Java & Sumatra.

small bullet point  Java to Bali by train & ferry

small bullet point  Java to Sumatra by train & ferry

small bullet point  Train travel on Sumatra

Other routes

small bullet point  Ferries to Borneo, Sulawesi & Papua

small bullet point  Ferries between Singapore & Jakarta

small bullet point  Europe - Indonesia by Trans-Siberian Railway

Route map:  Click for larger map

Map of train and ferry routes in Indonesia, including Sumatra, Java and Bali

© OpenStreetMap contributors, available under the creative commons licence.


Useful country information

Train operator in Indonesia:

PT Kereta Api - website www.kai.id.  It's easier to use en.tiket.com/kereta-api.

 

Ferry operator in Indonesia:

 

Pelni - www.pelni.co.id

Time zone:

Java & Sumatra GMT+7, Bali & central Indonesia GMT+8

Eastern Indonesia GMT+9.

Dialling code:

 

+62

Currency:

£1 = approx 20,100 rupiah;  $1 = 15,400 rupiah.  Currency converter

Tourist information:

www.indonesia-tourism.com.

Hotels

 

Search hotels in Indonesia

Flights:

 

Search flights to Indonesia

Visas:

Citizens of many countries including the UK, USA, Canada, New Zealand, Malaysia, Thailand & Singapore do not require a visa for stays of up to 30 days.  Some other nationalities including Australia can get a tourist visa on arrival for a stay of up to 30 days.  You must enter through a major airport or designated seaport and a return or onward ticket is required, see www.indonesianembassy.org.uk for details.

Page last updated:

12 September 2024


Train travel on Java

Maps

How to check train times & fares

Back to top


How to buy tickets

Option 1, buy at booking.kai.id, only Indonesian bank cards accepted

Buy tickets dfrom Bookaway.comOption 2, buy at www.bookaway.com, overseas cards accepted

Buy tickets from Tiket.com

Option 3, buy at en.tiket.com/kereta-api, can also be used

Tiket.com confirmation   Train boarding pass

Booking confirmation from en.tiket.com/kereta-api with reference & QR barcode.

 

You must exchange this for an orange boarding pass at the station.

Option 3, buy at www.traveloka.com/en-id/kereta-api

An agency that works in the same way as Tiket, it may accept your credit card if Tiket doesn't.

Option 4, buy tickets at Indomaret convenience stores

Indomaret convenience store   Ticket selling terminal

Many though not all Indomaret stores have these terminals.

 

Ticket terminal.

Option 5, buy tickets at the station

Train ticket office at Gambir   Self-service ticket machines

The north concourse ticket office at Jakarta Gambir.  You'll find a desk with pens & blank booking forms nearby, fill one out before going to the window.

 

The desk with pens & blank booking forms at Ketapang ticket office, together with a self-service ticket machine which accepts banknotes.

Important Orange boarding passes

At all the most important stations such as Jakarta, Surabaya, Yogyakarta, Solo, Bandung, Semarang, Purwokerto, Jember, Malan & Ketapang (Banyuwangi Baru), a boarding pass system has operated since 2016.

If you buy a ticket online at Tiket.com, Bookaway.com or from an Indomaret mini-market or a travel agency, you'll get a booking reference or QR barcode. You cannot board the train with this booking confirmation, you must get an orange boarding pass, using one of the self-service check-in counters at least 10 minutes before departure.  Or you may be sent an email with a link which allows you to print a boarding pass, both methods work.

If you buy at a station more than 3 days before departure, they'll give you a blue ticket.  You cannot board the train with the blue ticket, you must use it to get an orange boarding pass at one of the self-service check-in counters at least 10 minutes before departure.

If you buy at a station less than 3 days before departure, they'll give you the orange boarding pass and you can board the train.

To get a boarding pass at the station, go to one of the touch-screen computer terminals marked Check-in counter at the station entrance and either scan the barcode or type in the booking reference.  Your booking will appear on the screen.  Touch print and the paper roller printer will print your boarding passes.  No ID is needed.  You can do this at any time between several days before departure right up until a few minutes before departure.  Originally, you could only print off a boarding pass at the station where your journey starts, now you can print them off for any journey at any station.

ID check before accessing the platforms:  You will be asked to show the boarding pass and your passport at the ID check desk at the entrance to the platforms, it's all part of a drive to eliminate ticket scalping.

At smaller stations where they have not introduced the boarding pass system, you can board the train with the blue ticket.

Or use the KAI access app:  It's reported that you can also generate a boarding pass 2h or less before your train leaves by entering your booking details into the KAI Access app, which you can download for Android or iPhone.  Feedback appreciated.

Train check-in machines, Jakarta Gambir   Train check-in counters, Surabaya Gubeng

1.  Check-in to get your orange boarding pass by scanning your QR barcode or typing in your booking reference.  These are the check-in counters at Jakarta Gambir (above left) and more basic ones at Yogyakarta (above right).

ID check gate at Jakarta Gambir   Checking passports & boarding passes at Jakarta Gambir

2.  ID check before accessing platforms.  Your orange boarding pass is scanned (beep!) and your passport checked at the entrance gate to the platforms.  This is the South Concourse departures gate at Jakarta Gambir.

On board Indonesian trains

Eksekutif, Bisnis & Ekonomi class

Eksekutif class (EKS) is air-conditioned with individual reclining seats, usually reclining to a good 30 degrees, arranged 2+2 across the car width.  Seats normally face forwards, but can be rotated to face either direction by depressing the foot pedal on the aisle side.  There's a small drinks table on the wall by each pair of seats with two power sockets underneath, European 2-pin type.  The best trains are Eksekutif class only.

A handful of the very best trains have Eksekutif Luxury class with individual flatbed seats in addition to normal Eksekutif class seats.

Bisnis class (BIS) is air-conditioned with non-reclining padded seats, 2+2 across the car width.  Seats normally face forwards, but have a walkover back that can be pulled from one side of the seat bottom to the other so the seat can face either way.  There's a small drinks table on the wall by each pair of seats with two power sockets underneath, European 2-pin type.  Bisnis class is a perfectly acceptable alternative if Eksekutif class is fully booked or if you want to save money.  Bisnis class is getting rare, available on relatively few trains.

Ekonomi class (EKO) is air-conditioned with non-reclining padded seats, usually 2+3 across the car width.  Seats are usually arranged in face-to face bays of 4 or 6  There's usually a small drinks table on the wall by each pair of seats with two power sockets underneath, European 2-pin type.  Many trains are Ekonomi class only, and it's perfectly safe and comfortable to use Ekonomi class trains if the timings suit you better, or if other classes or trains are full.  A few Ekonomi trains are now equipped with modern cars with 2+2 reclining seats, notably on the Jakarta-Semarang-Surabaya route.  These are not dissimilar to Eksekutif class but with significantly less legroom.

Eksekutif class train seats   Bisnis class train seats

Eksekutif.

 

Bisnis.

Power sockets on the Argo Dwipangga   Ekonomi class train seats

Sockets in all classes, European 2-pin type.

 

Ekonomi.

Eksekutif Luxury classes

In addition to normal Eksekutif class cars, three types of Eksekutif Luxury Class are now available on a few key trains, usually just one luxury car per train.

Eksekutif Luxury

This is available on the Argo Dwipangga between Jakarta Gambir, Yogyakarta & Solo.  A cut above the normal Eksekutif class seats, these luxurious seats have leg-rests and a significant recline, although with a 140 degree recline they don't go completely flat.  They are arranged 2+1 across the car width, instead of 2+2 as in normal Eksekutif class.  A blanket is provided, although not sheets.  Courtesy of www.discoverbyrail.com, click the images for larger photos.

Eksekutif luxury class on Jakarta-Yogyakarta Argo Dwippanga train   Eksekutif luxury class on Jakarta-Yogyakarta Argo Dwippanga train

Eksekutif Luxury Sleeper

This is available on the Argo Bromo Anggrek & Sembrani between Jakarta Gambir & Surabaya.  Introduced in 2018, these are flatbed seats like you find in business class on an airline, with a 170 degree power-recline with surround walls for privacy and individual flat-screen TV entertainment.  They are arranged 1+1 across the car width.  Headphones, bottled water and a blanket are provided, although not sheets.  The fare includes a complimentary packed meal and soft drinks, served by a hostess.  Courtesy of www.discoverbyrail.com, click the images for larger photos.

Eksekutif luxury class on Jakarta-Surabaya train   Eksekutif luxury class on Jakarta-Surabaya train

Eksekutif Luxury Compartment Suites, see video guide

This is the latest luxury offering, only available between Jakarta Gambir, Yogyakarta & Surabaya on the Argo Semeru & Bima.  It consists of fully-enclosed private compartments either side of a corridor running down the centre of the car, reminiscent of Singapore Airlines or Emirates first class suites.  In the middle of each private room in glorious isolation is a flatbed seat with a 170 degree recline, lightweight sleeping bag provided.  The fare includes a complimentary meal and soft drinks, served by a hostess.  I can't help feeling that someone with an airline background has tried to reinvent the railway sleeping-car and failed, never having seen one!  Courtesy of Nonstopeurotrip, click the images for larger photos.  See video guide.

Eksekutif luxury compartment on Jakarta-Surabaya train   Corridor on Eksekutif luxury compartment car, Jakarta-Surabaya train
Eksekutif luxury compartment on Jakarta-Surabaya train   Corridor on Eksekutif luxury compartment car, Jakarta-Surabaya train

Luggage allowance 20 Kg

Luggage arrangements on Indonesian trains are simple:  You take your bags with you onto the train, and stick them on the overhead racks above your seat.  These take anything up to backpack or medium suitcase size, see the photo below.  If you have larger cases or you have difficulty lifting your bags up, you can put your bags in the gap behind the rearmost seats at the rear of the carriage in Eksekutif or Bisnis class cars, see the photos below.

Kereta Api Indonesia (KAI) introduced a 20 Kg luggage allowance per person in all classes in 2016.  KAI are reasonably serious about the 20 Kg limit, and luggage may be weighed before boarding if it looks heavier than 20 Kg.

If you have more than 20 Kg of luggage, don't worry.  You can take up to 40 Kg per person if you pay an excess baggage fee at the departures gate.  The cost is Rp 10,000 ($0.68) per excess Kg in Eksekutif class, Rp 6,000 in Bisnis class, Rp 2,000 in Ekonomi.  Indeed, at Jakarta Gambir you may find a little desk with electronic scales next to the departure gate for payment of excess luggage fees.

KAI apply the 20 Kg per person limit to the total of all passengers travelling together, so if there are two of you and one has a 15 Kg bag and the other 25 Kg, that's fine as you're within the 20 Kg x 2 = 40 Kg limit in total.  They also seem to apply the 20 Kg limit to your main bags, without worrying too much about handbags or the 6 Kg daypack you're wearing on your back.

In theory KAI also have a maximum size limit for luggage and you may see airline-style does your bag fit in here displays near the departure gate, 70cm x 48cm x 30cm.  Fortunately they don't seem to bother with this, as long as you stay within the 20Kg limit.  So there is absolutely no problem taking backpacks or suitcases onto the train, indeed I have travelled with people who took two large 23 Kg hard-sided suitcases that were well beyond KAI's theoretical size limit and we were never stopped or questioned about our luggage on any journey.  Although of course they may simply go easy on overseas visitors!

Luggage scales at Jakarta Gambir   Overhead luggage racks on an indonesian train   Suitcases can go behind the rear seats

Luggage limit sign at Gambir.

 

Luggage goes on the overhead racks.

 

Or behind the rearmost seats.

Food & drink

Every long-distance train has a catering car in the centre of the train with a counter selling tea, coffee, bottled water, soft drinks, crisps and various types of microwaveable tray meals, typically with rice and chicken (chicken = ayam) or fried rice (nasi goreng) and meatballs (bakso).  The catering car usually has one or two bays of seats with tables.

However, there's no need to visit the catering car as a refreshment trolley passes up and down the train so you can buy all of these things at your seat.  Orders for tray meals may be taken and delivered later once microwaved back at base.  A typical tray meal costs around Rp 30,000, about $2.50.  Go for it, they're tastier than they look!

You are of course free to take your own food and drink.

Preparing the microwaved tray means on train 102, the Ranggajati   Typical Indonesian train food

Orders taken, staff start the complex process of microwaving batches of rice and meat then restoring them to the plastic trays.  This is train 102, the Ranggajati.

 

A typical microwaved tray meal.  Chicken (ayam), rice (nasi) and beans.  Tastier than it looks and only around Rp 30,000, about $2.50.

Travel tips

Toilets:  All cars have one or two toilets, sometimes basic but usually reasonably clean and I have yet to find any KAI toilet without toilet roll, soap & water.  The most modern cars have two western-style toilets or one western and one squat toilet.  Only the oldest cars have two squat toilets.

Smoking is not allowed anywhere on a KAI train, although you can smoke briefly on the platform at station stops.  As the on-train announcements warn, "The passenger who carry smoke onto the train, we will carry off you at the next station...".

Car numbers:  Cars are numbered by class, usually starting from the front.  So car 1 is usually the first car behind the locomotive, car 8 at the rear.  If the train has two or more classes, numbers are repeated in each class, with an Eksekutif car 1, 2 & 3 and a Bisnis car 1, 2 & 3.  So don't mistakenly board Bisnis car 1 if your seat is in Eksekutif car 1.

Seat numbering:  Seat numbering is similar to planes, with the rows numbered typically from 1 to 13 in Eksekutif or 1 to 17 in Bisnis and the seats in each row lettered A, B, C, D across the car width, where A and D are the window seats and the aisle is between seats B and C.

In most Eksekutif cars there are a couple of exceptions to this rule.  In the first & last rows the seats are reduced to 2+1 or 1+2 across the car width to make space for the access door and in these rows seat B (where seats shown are B, C & D) or seat C (where seats shown are A, B & C) is a 'solo' seat that is both window & aisle.

Choosing a seat:  If you book online at Tiket.com or use a self-service ticket machine or Indomaret ticket terminal you can choose an exact seat from a highly-simplified seating plan, see the picture below.  Seat numbers appear if you hover over a seat.  The plan doesn't show the aisle, this is between seats B and C.  Remember that A and D are normally the window seats on either side.

Remember that Eksekutif class cars typically have 13 rows of seats and Bisnis class 17 rows.  The plan you see may not show all the rows, only those seats & rows which are available to book online (although the example below does show all rows 1-13).  So if you only see rows 7 to 11 on the plan, it doesn't mean rows 1-6 and 12-13 don't exist, only that they are not bookable.  Also note that you cannot tell whether row 1 or row 13 will be at the front as the car could run either way round, although all seats will be turned to face forwards.

I recommend choosing mid-car seats, avoiding rows 1-2 in any class, rows 12-13 in Eksekutif or 16-17 in Bisnis, as the ride is smoother on any train in mid-car and you get a better view of the scenery if you're not right up close to the forward bulkhead and (in Eksekutif class) the distracting bulkhead TV screen.

Indonesian train seat plan

Back to top


Jakarta Soekarno–Hatta airport train

A rail link from Jakarta's Soekarno–Hatta International airport to BNI City (formerly Sudirman Baru) station in central Jakarta opened in December 2017, now extended to Manggarai station.  Trains now run every 30 minutes from around 05:00 until around 23:00.  The fare is 70,000 rupiah ($5) and the journey takes 55 minutes from the airport to BNI City.

For times, fares & tickets, see reservation.railink.co.id.

Back to top


Jakarta to Semarang & Surabaya

A range of trains links Jakarta with Surabaya, but the best train is the Argo Bromo Anggrek with Eksekutif Luxury & Eksekutif classes, clean, modern and powerfully air-conditioned.  It has comfortable reclining seats with footrests and a catering car.  There is both a daytime service and a time-effective overnight service.  The overnight train doesn't have sleepers (these disappeared from Indonesian trains in the 1990s), but the Eksekutif Luxury class car (shown as Lux in the timetable below) has flatbed seats that go completely flat, blanket provided.

 Jakarta ► Surabaya

Train name (see notes):

Argo S

Argo B

Semb

Blam

Bima

Semb

Pand

Argo B

Classes:

Luxc, Eks

Luxs, Eks

Lux, Eks

Eks,Eko

Luxc, Eks

Lux, Eks

Eks

Luxs, Eks

 Jakarta Gambir depart

06:20

08:20

09:50

-

17:00

19:30

20:05

20:30

 Jakarta Pasar Senen depart

|

|

|

12:15

|

|

|

|

 Semarang arrive/depart

(via Y)

13:44

??:??

|

(via Y)

01:10

|

01:58

 Surabaya Pasar Turi arrive

|

16:25

18:20

|

|

04:11

|

04:35

 Surabaya Gubeng arrive

16:50

-

-

22:12

03:30

-

07:03

-

 Surabaya ► Jakarta

Train name (see notes):

Semb

Argo S

Argo B

Airl

Pand

Bima

Semb

Argo B

Classes:

Lux, Eks

Luxc. Eks

Luxs,Eks

Eko

Eks

Luxc, Eks

Lux, Eks

Luxs, Eks

 Surabaya Gubeng depart

-

09:05

-

-

18:46

19:20

-

-

 Surabaya Pasar Turi depart

08:00

|

09:10

10:35

19:05

|

20:20

21:15

 Semarang arrive/depart

|

(via Y)

12:00

15:02

(via Y)

|

|

23:45

 Jakarta Pasar Senen arrive

|

|

|

|

|

|

|

|

 Jakarta Gambir arrive

16:34

19:40

17:15

22:41

04:45

06:00

05:05

05:20

Shaded = the best quality trains, recommended.    Jakarta to Surabaya is 725 km, 450 miles.

Lux = Eksekutif Luxury;  Luxs = Eksekutif Luxury Sleeper;  Luxc = Eksekutif Luxury Compartment Suites;  Eks = regular Eksekutif seats.  Eko = Ekonomi seats.

This timetable is only a summary, there are a few other trains, check times & fares at en.tiket.com/kereta-api (in English) or booking.kai.id (in Indonesian).

See map of Jakarta showing stations.  In Semarang, the station is Semarang Tawang except for the Airlangga which uses Semarang Poncol.

(via Y) = runs via Yogyakarta & Solo, not Semarang, see route map at top of page.

Notes by train name:

Argo B = Argo Bromo Anggrek (Bromo Orchid), Eksekutif class only, regular Eksekutif class & Eksekutif Luxury Sleeper seats.

Argo S = Argo Semeru, Eksekutif class only, regular Eksekutif class seats plus one car of Eksekutif Luxury Compartment Suites.

Bima = Bima, Eksekutif class only, regular Eksekutif class plus one car of Eksekutif Luxury Compartment Suites.

Semb = Sembrani, Eksekutif class only, regular Eksekutif class plus one car of Eksekutif Luxury seats.

Blam = Blambangan Ekspres, Eksekutif & Ekonomi class

Pand = Pandalungan, Eksekutif class only with regular Eksekutif class seats.

Airl = Airlangga, Ekonomi class only, air-conditioned.

 How much does it cost?

 Example one-way fare in rupiah

Compartment suites

Luxury sleeper

Luxury

Eksekutif

Ekonomi

 Jakarta - Surabaya

2,050,000

1,555.000

1,250,000

670,000

100,000

£1 = approx 20,100 rupiah;  $1 = 15,500; €1 = 17,000.  Prices vary by date & train, check fares as shown above.

Children under 3 travel free, no ticket required.  Passengers 3 and over count as adults.

Prices vary significantly, with cheaper fares if you pre-book, for example Eksekutif class from 400,000 rupiah.

How to buy tickets:  At the station, at Indomaret minimarkets or online at Tiket.com as shown here.

A journey on the Argo Bromo Anggrek

The Argo Bromo Anggrek (the Bromo Orchid) is Indonesia's premier train, linking Java's two largest cities in 9 hours at a creditable average speed of 80 km/h (50mph) start to stop on its narrow gauge tracks.  The train keeps up a relentless 110 km/h (75 mph) between the few stops it makes, hooting ceaselessly at each level crossing, speeding non-stop through most smaller stations on its 9 hour dash - the same journey would take 15 hours by road.  As you pass through each station, look for the station master in his red and gold hat, standing to attention outside his office watching the train pass through.  The countryside is largely flat, rice paddies, villages, towns, palms and the occasional mosque.  After Semarang there's a brief stretch where the train skirts the Java Sea, and around Cirebon you'll see the vast shadow of Mt Cereme in the distance to the south, its summit usually hidden by cloud.  It's an active volcano and the highest point in west Java.

Train 1, Argo Bromo Aggrek at Surabaya Pasar Turi

Indonesia's premier train, the Argo Bromo Anggrek, is ready to leave Surabaya on its 9 hour dash to Jakarta.

Refreshment trolley   Driver of the train to Jakarta about the leave Surabaya

Trolley serving tea, coffee, soft drinks, crisps & tray meals.

 

The driver of the Argo Bromo Anggrek is ready to go.

Eksekutif class seats on the Argo Bromo Anggrek

Eksekutif class on the Argo Bromo Anggrek, comfortable and powerfully air-conditioned.

Catering car on the Argo Bromo Anggrek   Passing Semarang

The catering car on the Argo Bromo Anggrek.

Semarang.

Coastline seen from the train   Rice fields

The train briefly skirts the Java Sea.

 

Rice, rice and more rice.

Rice fields and Mt Cereme seen from the train

Around Cirebon you'll see the imposing shadow of Mt Cereme to the south, an active volcano & highest point in West Java.

Back to top


Jakarta to Bandung

You now have a choice of two different types of trai9n from Jakarta to Bandung.

Option 1, by regular train, city centre to city centre

There is a train every hour or two from Jakarta Gambir station to Bandung with Eksekutif & Bisnis class, taking about 3h10 for the 173 km.  The fare is about 100,000 Rupiah in Eksekutif, 80,000 in Ekonomi.  See www.kereta-api.co.id or en.tiket.com/kereta-api to check times & fares for your date.  It's a scenic ride!

Don't overlook the convenience of the classic route now that the high-speed line is open:  A 3h10 journey on the regular trains can be more convenient, cheaper and not much slower from city centre to city centre, as you don't need lengthy metro/taxi transfers at each end to/from out-of-town high-speed stations.

Option 2, by 350km/h high-speed train called Whoosh

A new high-speed line opened on 17 October 2023, linking Jakarta with Bandung at up to 350 km/h (217 mph) and taking just 46 minutes.  These high-speed trains are operated by Whoosh, a separate company from KAI Indonesian Railways.

The trains have economy, business and VIP class.

For tickets and info see ticket.kcic.co.id.

The bad news is that the standard-gauge stations are not in the city centre:  Jakarta's Halim station is 14 km from Gambir station, see location map, meaning a 48-minute taxi ride or 35 minute ride on the LRT Jabodebek light rail line.  Bandung's Tegalluar station is a 23 km 52-minute taxi ride from Bandung's centrally-located normal station, see location map). 

The high-speed trains stop at Padalarang about 12 minutes before arriving at Tegalluar, a feeder train runs from Padalarang to Bandung station in downtown Bandung.

A Whoosh train at Halim station

A 350km/h Whoosh train at Halim station.  Courtesy of Nonstopeurotrip.

Whoosh VIP class   Whoosh economy class

VIP class on Whoosh

 

Economy class on Whoosh

Whoosh business class   Whoosh train

Business class on Whoosh

 

Whoosh high-speed train

Back to top


Jakarta to Yogyakarta & Solo

Jakarta may be Java's capital, but Yogyakarta, known locally at Yogya, is its heart.  Solo, also known as Surakarta, is Yogya's long-standing rival an hour to the east.  Both cities should feature on any sensible trip to Java.  It's easy to travel from Jakarta to Yogya or Solo by comfortable air-conditioned train, indeed it's the best way.

 Jakarta ► Yogyakarta & Solo

Train name (see notes):

Fajar

Argo S

Fajar

Argo D

Taks

Bang

Bima

Argo L

Bogo

Mata

Classes:

Eks,Eko

Luxc, Eks

Eks,Eko

Lux,Eks

Eks

Eks,Eko

Eks

Lux,Eks

Eks,Eko

Eks,Eko

 Jakarta Gambir (GMR) depart

-

06:20

-

08:50

09:20

-

17:00

20:45

-

-

 Jakarta Pasar Senen (PSE) depart

05:45

|

06:40

|

|

12:25

|

|

21:40

22:05

 Yogyakarta (YK) arrive

12:32

12:54

14:37

14:58

15:40

19:59

23:28

02:49

05:38

05:11

 Solo (Solobalapan, SLO) arrive

13:25

13:39

-

15:50

-

20:54

00:13

03:40

-

06:04

 Solo & Yogyakarta ► Jakarta

Train name (see notes):

Fajar

Taks

Bang

Argo L

Mata

Bogo

Argo S

Senja

Argo D

Bima

Classes:

Eks,Eko

Eks

Eks,Eko

Eks

Eks,Eko

Eks,Eko

Luxc,Eks

Eks,Eko

Lux,Eks

Eks

 Solo (Solobalapan, SLO) depart

-

-

08:06

08:30

08:50

-

12:13

-

20:30

22:27

 Yogyakarta (YK) depart

07:00

08:45

09:00

09:18

09:41

10:09

12:58

17:30

21:18

23:13

 Jakarta Pasar Senen (PSE) arrive

14:42

|

16:53

|

17:02

18:12

|

01:03

|

|

 Jakarta Gambir (GMR) arrive

-

15:09

-

15:30

-

-

19:40

-

03:30

06:00

Shaded = the best quality recommended trains.  See map of Jakarta showing stationsJakarta to Yogyakarta is 522 km, 326 miles.

There are no sleepers on the overnight trains, only reclining seats and (on trains 8 & 9) flatbed seats in Eksekutif Luxury class.

You can check train times & fares using en.tiket.com/kereta-api (in English) or booking.kai.id (in Indonesian).

Notes by train name:

Argo L = Argo Lawu, Eksekutif Luxury class flatbed seats & regular Eksekutif class seats, air-conditioned.

Argo D = Argo Dwipangga, Eksekutif Luxury class flatbed seats & regular Eksekutif class seats, air-conditioned.

Argo S = Argo Semeru, Eksekutif Luxury Compartment Suites & regular Eksekutif seats.

Bima = Bima, Eksekutif class only, air-conditioned.

Taks = Taksaka, Eksekutif Luxury class & Eksekutif class, air-conditioned.

Bang = Bangunkarta, Eksekutif & Ekonomi class, air-conditioned.

Fajar = Fajar Utama, Eksekutif & Ekonomi class, air-conditioned.

Mata = Mataram, Eksekutif & Ekonomi class, air-conditioned.

Bogo = Bogowonto, Eksekutif & Ekonomi class, air-conditioned.

Senja = Senja Utama, Eksekutif & Ekonomi class, air-conditioned.

 How much does it cost?

 Example one-way fare in rupiah

Eksekutif luxury class

Eksekutif class

Ekonomi

 Jakarta - Yogyakarta

1,200,000

560,000

225,000

£1 = approx 20,100 rupiah;  $1 = 15,500; €1 = 17,000.  Prices vary by date & train, check fares as shown above.

Children under 3 travel free, no ticket required.  Passengers 3 and over count as adults.

How to buy tickets:  At the station, at Indomaret minimarkets or online at Tiket.com as shown here.

A journey on the Argo Dwipangga

Approaching Cirebon you'll see the vast shadow of Mt Cereme in the distance to the south, its summit usually hidden by cloud.  It's an active volcano and the highest point in west Java.  The nicest part of the journey from Jakarta to Yogya or Solo comes beyond Cirebon, where the train slows right down and snakes through gentle hills, past rice paddies nestling in narrow valleys amongst the jungle.

Train 10, Argo Dwipangga about to leave Jakarta Gambir   Steward selling tea & coffee

Train 5, the Argo Dwipangga boarding at Jakarta Gambir.

 

Refreshments on board.

Eksekutif class seats on the Argo Dwipangga

Eksekutif class seating on the Argo Dwipangga, one of the new air-conditioned trainsets introduced in 2016.  The Bima, Argo Lawu & Argo Dwipangga have similar new trainsets like this

Locomotive at the fron of the Argo Dwipangga at Gambir   The catering car on the Argo Dwipangga

The Argo Dwipangga ready to leave Gambir.

 

Buffet car on the Argo Dwipangga.

Rice fields and Mt Cereme seen from the train

Around Cirebon you'll see the imposing shadow of Mt Cereme to the south, an active volcano & highest point in West Java.  See more photos of this journey.

Watch the video

Back to top


Yogyakarta to Solo

These two Javan cities are only an hour apart by train.  Both are key stops on the tourist trail, Yogya is a must-see and Solo is well worth visiting.  You can see Solo as a day trip from Yogyakarta by train if you like.  There are two options for travel between Yogya & Solo:

Kommuter ticket office at Yogyakarta   Kommuter ticket office at Yogyakarta

KAI Kommuter ticket office at Solo station, at the top of the escalators from the Kommuter entrance.  Photos courtesy of Gary Stevens.

Kommuter train to Solo, at Yogyakarta   KAI Kommuter train

KAI Kommuter train at Yogyakarta.  Photos courtesy of Gary Stevens & Peter Gremse.

Back to top


Bandung - Yogyakarta - Solo - Surabaya

 Bandung Yogyakarta, Solo ► Surabaya

Train number:

Sanc

Sanc

Ran

Argo S

Loda

Argo W

Sanc

Wij

Bima

Mala

Tura

Mut

Classes:

Eks,Eko

Eks,Eko

Eks,Bis

Luxc,Eks

Eks,Eko

Eks

Eks,Eko

Eks,Eko

Eks

Eks,Bis,Eko

Eks

Eks,Eko

 Bandung depart

-

-

-

-

06:55

07:40

-

-

-

17:20

18:10

20:00

 Yogyakarta arrive

-

-

-

-

13:55

13:35

-

-

-

00:09

00:19

02:59

 Yogyakarta depart

06:45

11:30

11:38

12:59

14:00

13:38

17:15

18:40

23:33

00:14

00:24

03:04

 Solo (Solobalapan) arr/dep

07:33

12:18

12:32

13:42

14:50

14:21

18:03

19:33

00:16

01:16

01:08

03:54

 Surabaya Gubeng arrive

10:45

15:30

16:27

16:50

-

17:35

21:15

23:22

03:30

-

04:21

07:08

 Probolinggo arrive

-

-

18:47

-

-

-

-

01:47

-

-

-

-

 Surabaya ► Solo, Yogyakarta Bandung

Train number:

Loda

Mala

Sanc

Argo W

Argo S

Ran

Sanc

Sanc

Bima

Wij

Tura

Mala

Mut

Classes:

Eks,Eko

Eks,Eko

Eks,Eko

Eks

Luxc,Eks

Eks,Bis

Eks,Eko

Eks,Eko

Eks

Eks,Eko

Eks

Eks,Eko

Eks,Eko

 Probolinggo depart

-

-

-

-

-

07:04

-

-

-

15:11

-

-

-

 Surabaya Gubeng depart

-

 

07:00

08:15

09:05

09:25

11:15

16:40

19:20

17:26

20:00

-

18:20

 Solo (Solobalapan) arr/dep

-

 

10:09

11:17

12:13

13:10

14:24

20:02

22:27

21:30

23:09

22:05

21:42

 Yogyakarta arrive

-

 

11:00

11:57

12:53

14:01

15:15

20:50

23:07

22:33

23:49

22:51

22:24

 Yogyakarta depart

08:11

11:20

 

12:00

 

-

-

-

-

-

23:54

22:56

22:29

 Bandung arrive

15:20

17:58

-

18:08

-

-

-

-

-

-

06:17

06:06

05:23

The station in Yogyakarta is Yogyakarta, station code YK.  The station in Solo is Solobalapan, station code SLO.

Probolinggo is the usual railhead for visiting Mt Bromo.  Surabaya Gubeng station code is SGU.

You can check train times & fares using en.tiket.com/kereta-api (in English) or booking.kai.id (in Indonesian).

There are no sleeping-cars, night trains just have reclining seats.  There are additional express trains between Yogyakarta & Solo, not shown here.

Notes by train name:

Argo S = Argo Semeru, Eksekutif class only, air-conditioned.

Argo W = Argo Wilis, Eksekutif class only, air-conditioned.

Bima = Bima, Eksekutif class only, air-conditioned.

Tura = Turangga, Eksekutif class only, air-conditioned.

Ran = Ranggajati, Eksekutif & Bisnis class, air-conditioned.

Wij = Wijayakusuma, Eksekutif & Ekonomi class, air-conditioned.

Mala = Malabar, Eksekutif & Ekonomi classes, air-conditioned.

Mut = Mutiara Selatan, Eksekutif & Ekonomi class, air-conditioned.

Lod = Lodaya, Eksekutif & Bisnis class, air-conditioned.

Sanc = Sancaka, Eksekutif & Ekonomi class, air-conditioned.

Bandung to Surabaya is 696 km, 435 miles.  Yogyakarta to Surabaya is 308 km, 193 miles. 

 How much does it cost?

 Example one-way fares in rupiah

Eksekutif class

Bisnis class

Ekonomi class

 Bandung - Surabaya

500,000

-

-

 Bandung - Yogyakarta

350,000

295,000

210,000

 Yogyakarta - Surabaya

300,000

210,000

180,000

£1 = approx 20,100 rupiah;  $1 = 15,500; €1 = 17,000.  Prices vary by date & train, check fares as shown above.

Children under 3 travel free, no ticket required.  Passengers 3 and over count as adults.

How to buy tickets:  At the station, at Indomaret minimarkets or online at Tiket.com as shown here.

Traveller William Bernstein reports:  "The Argo Wilis is one of the world's great trains in terms of scenery, particularly the first 100 km east of Bandung; if Bali had a railroad, this is what the scenery would look like.  Reserving in advance wasn't really necessary, service was about on a level with a local European second class train."

Traveller Edmund Carew travelled Surabaya-Bandung on the Argo Wilis:  "The aircon trains were only 50 to 75 per cent full: it was incredibly easy to book, with no queues at Surabaya or Bandung.  However, third class trains around Surabaya were packed as were local trains on the 'snappy' Bogor line from Jakartakota station.  The Indonesian railways make a real effort to run on time.  Mostly they seem to be no more than 15 minutes late, which is good although schedules between Surabaya and Bandung (hilly last bits) was only an average speed of 57 - 58 km/h."

Traveller William Bernstein reports:  "The Yogyakarta -Surabaya train was squeaky clean, the service was exquisite and the scenery as gorgeous as from the Bandung-Surabaya train.  The Indonesians have definitely upgraded their system, and particularly their day trains, from what we’ve seen, over the past 40 years."

A journey on the Ranggajati

Train 102 Ranggajati at Solo Balapan

Train 102, the Ranggajati calls at Solobalapan.

Eksekutif seats on the Ranggajati   Bisnis class seats on the Ranggajati

Eksekutif class on the Ranggajati.

 

Bisnis class on the Ranggajati.

More rice fields

Rice fields from the train.  See more photos of this journey.

Back to top


Surabaya - Probolinggo - Ketapang (for Bali)

The railway linking Surabaya with Probolinggo (the usual jumping-off point for Mt Bromo) and Ketapang (the ferry terminal for Bali) is a treat, snaking through eastern Java's rice fields and jungle.  For the ferry connections to Bali, see the next section Also see the video below.

 Surabaya ► Ketapang

Train name (see notes):

Prob

Muti

Sri

Rang

Blam

Wij

Classes:

Eko

Eks,Bis

Eko

Eks,Bis

Eks,Eko

Eks,Eko

 Surabaya Gubeng depart

05:35

08:55

13:47

16:54

22:45

23:50

 Probolinggo arrive/depart

07:49

11:27

15:56

18:47

00:34

01:47

 Ketapang (Banyuwangi Baru) arrive

12:45

15:45

20:10

-

04:55

06:00

 Ketapang ► Surabaya

Train name (see notes):

Rang

Sri

Wij

Blam

 Prob

Muti

Classes:

Eks,Bis

Eko

Eks,Eko

Eko

Eks,Eko

Eks,Bis

 Ketapang (Banyuwangi Baru) depart

-

07:00

11:00

14:50

16:00

21:45

 Probolinggo arrive/depart

07:04

11:29

15:11

19:25

20:38

02:03

 Surabaya Gubeng arrive

08:55

13:26

17:01

21:13

22:43

03:51

Shaded = recommended trains.

Banyuwangi Baru station was renamed Ketapang in 2020, station code KTG.

You can check train times & fares using en.tiket.com/kereta-api (in English) or booking.kai.id (in Indonesian).

Notes by train name:

Rang = Ranggajati, Eksekutif & Bisnis class, runs to/from Solo & Yogyakarta.

Wij = Wijayakusuma, Eksekutif & Ekonomi class, all air-conditioned, recommended.

Muti = Mutiara Timur (Eastern Pearl), Eksekutif & Ekonomi class, all air-conditioned.

Blam = Blambangan Ekspres, Eksekutif & Ekonomi class, all air-conditioned.

Sri = Sri Tanjung, Ekonomi class only, air-conditioned.

Prob = Probowangi, Ekonomi class only, air-conditioned.

Fare:  Surabaya to Ketapang costs around 290,000 rupiah in Eksekutif, 210,000 rupiah in Bisnis, 88,000 rupiah in Ekonomi.

£1 = approx 20,100 rupiah;  $1 = 15,500; €1 = 17,000.  Prices vary by date & train, check fares as shown above.

How to buy tickets:  At the station, at Indomaret minimarkets or online at Tiket.com as shown here.

A journey to Ketapang

Mutiara Timur en route from Surabaya to Banyuwangi

An express train (the former Mutiara Timur, which has not resumed post-pandemic) at Probolinggo, on its way to Ketapang (Banyuwangi) to meet the ferry to Bali.

Great scenery from the train in eastern Java

In eastern Java the scenery just keeps on coming:  Jungle, hills, rice paddies, palms, bananas, villages. See more photos of this journey.

Back to top


Java to Bali by train & ferry

It's easy, cheap and fun.  Take a comfortable air-conditioned train from Surabaya to Ketapang (the station was called Banyuwangi Baru until 2020) at the eastern tip of Java.  It's then a 350m 5-minute walk from the station to Ketapang ferry terminal, from where ferries sail every 15 minutes to Gilimanuk on Bali, crossing time just 45 minutes.  Buses run from Gilimanuk to Bali's capital Denpasar, or you can take a taxi or get your hotel to arrange a transfer from Gilimanuk to anywhere on Bali.  See the video guide here.

It's safe, comfortable, cheap and easy to arrange.  The train needs a reservation, but you can buy the ferry ticket at the ferry terminal and just find a bus or taxi on arrival at Gilimanuk.  With great scenery on the train ride through eastern Java, this is the best way to travel from cities on Java to anywhere on Bali.

Surabaya & Probolinggo ► Bali

Bali ► Probolinggo & Surabaya

Java to Bali in pictures

Train arrived at Banyuwangi station   Banyuwangi Baru station

1.  The train arrives at Ketapang station, renamed from Banyuwangi Baru in 2020.  Walk forward to find the station exit (keluar).

Ketapang ferry terminal   Ketapang ferry ticket office

2.  Walk 150m directly away from Ketapang station down the station approach road, turn right onto the main road and walk another 150m.  The ferry terminal is on your left on the far side of the road (pictured above left), see it on Google Maps.  Or you can take a taxi or cycle rickshaw.  Walk into the passengers entrance (marked by the blue arrow above), along the retail tunnel (pictured above right).

Ferry to Bali boarding at Ketapang   Seats on the ferry

3.  Ferries sail every 15 minutes around the clock.  Board the next ferry via the car ramp and go upstairs into the passenger area.  There's a kiosk selling water, drinks, biscuits & crisps.

Crossing by ferry from Java to Bali

4,  Bali ahead!  The crossing takes just 45 minutes.

Ferry arrived at Gilimanuk on Bali

5.  Arrival at Gilimanuk on Bali.  The bus terminal is right next to the ferry terminal for buses to Denpasar.  See more photos of this journey.

Watch the video

Back to top


Java to Sumatra by train & ferry

It's easy to travel between Java and Sumatra by train  & ferry, it's incredibly cheap, safe, a real experience, and no prior reservation or planning is necessary. 

You take a train the 151 km from Jakarta to the port of Merak from where ferries sail to Bakauheni on the southern tip of Sumatra every 20 minutes around the clock taking between 90 & 120 minutes.  A local bus or taxi will then take you the 94 km from Bakauheni to the main southern Sumatra town of Bandar Lampung in about 90 minutes.  Once in Bandar Lampung, there's a twice-daily train to Palembang.  Here are the details, feedback would be appreciated.

Jakarta ► Bandar Lampung (Sumatra)

Bandar Lampung (Sumatra) ► Jakarta

The journey in pictures

Jakarta Tanah Abeng station   Suburban train from Tanah Abeng to Rangkasbitung

Jakarta Tanah Abeng station.

 

1.  Tanah Abeng to Rangkasbitung by suburban train.

The local train to Merak

2.  Take an Ekonomi class local train from Rangkasbitung to Merak.  This is the train at Merak station.  photos above & below courtesy of Dennis Nicoll.

Seats on the train to Merak   Merak station

Ekonomi class seats on the train to Merak.

 

End of the line, all change for Sumatra!  Merak Station.

The ferry from Java to Sumatra

The ferry from Java to Sumatra, at Merak.  Courtesy of www.discoverbyrail.com.

If you take this route and get photos of the ferry, ferry journey or bus to Bandar Lampung, please email me!

Train & bus travel on Sumatra

There are a handful of train services in Sumatra, but no system covering the whole island.  See map of Sumatra.  There's a daily train to Palembang from Bandar Lampung, although just to confuse you the station at Bandar Lampung is known as Tanjungkarang, its former name, even though it's been known as Bandar Lampung since 1983 - and Palembang station is usually referred to as Kertapati.  See the timetable below.  You can travel by bus from Palembang to Padang.  It's 900km, one bus daily, probably overnight, but no information is available on the bus times.

 Bandar Lampung ► Palembang

 Trains run every day

S12

 Bandar Lampung (Tanjungkarang station, TNK) depart:

08:30

 Palembang (Kertapati station, KPT) arrive:

17:57

 Palembang ► Bandar Lampung

 Trains run every day

S11

 Palembang (Kertapati station, KPT) depart:

08:30

 Bandar Lampung (Tanjungkarang station, TNK)  arrive:

17:57

Trains S11 S12 = comfortable Ekonomi class seats, air-conditioned.

Palembang Kertapati station

Palembang's Kertapati station.  Photos courtesy of Dennis Nicoll.

Train S7 on Sumatra   Ekonomi seats

The train from Palembang to Bandar Lampung.

 

Comfortable Ekonomi seats.

Back to top


Borneo, Sulawesi & Papua

Ferries between Java and Borneo

Ferries run by www.pelni.co.id link Tanjong Priok (near Jakarta) with Pontianak on Borneo, also Semarang (Java) with Ketapang, Kumai & Sampit (Borneo), and Surabaya (Java) with Sampit, Kumai or Batulicin (Borneo), with each route operating on a handful of dates each month, see www.pelni.co.id.  Here is a Pelni ferry route map, dating from 2006 but still useful today:  upload.wikimedia.org/wikipedia/ commons/a/a6/Pelni_Schifffahrtsnetz_2006.png.

Ferries between Java and Sulawesi, Java & Papua

Ferries run by www.pelni.co.id link various ports on Java with various ports on Sulawesi and Papua, see www.pelni.co.id.  This Pelni ferry route map dates from 2006 but is still useful today:  upload.wikimedia.org/wikipedia/ commons/a/a6/Pelni_Schifffahrtsnetz_2006.png.

Back to top


Singapore to Jakarta by ferry

You can travel between Singapore and Jakarta by PELNI ferry, with a change of ferry at Pulau Batam, an Indonesian island just off Singapore.  The service operates once a week.  This Penli ferry route map may be useful, even if outdated!  It's also possible to by-pass Singapore and travel by direct ferry between Pulau Batam and Johor Bahru in Malaysia, from where trains run to Kuala Lumpur.

Singapore ► Jakarta

Jakarta ► Singapore

Ferry fares & accommodation

How to buy ferry tickets

The Pelni ferry 'm/v Kelud' from Pula Batam to Jakarta...

The ferry m/v Kelud at JakartaPhotos courtesy of DiscoverByRail.com.

Economy class sleeping area on the Pelni ferry m/v Kelud to Java   2-berth cabin on the Pelni ferry 'm/v Kelud' from Pula Batam to Jakarta...

3rd class bunks on the m/v Kelud

 

1st class 2-bed cabin on the m/v Kelud.

Buffet restaurant   Buffet restaurant

Servers in the buffet restaurant.

 

Food is included in the fare in 1st & 2nd class

Travellers' reports

Penang (Malaysia) to Medan (Sumatra, Indonesia)

Back to top


Europe to Indonesia by Trans-Siberian Railway

Back to top


Recommended hotels

Java has some classic hotels, below I recommend some of the best places to stay in each city.

Jakarta:  The Hermitage

Strangely, all the tourist sights in Jakarta (for example, Old Batavia) are north of Merdeka Square, when almost all the decent tourist class hotels are to the south, with nothing you'd want to see within walking distance.  I recommend the wonderful Hermitage in the popular Menteng district just south of Gambir station.  It's a fabulous hotel which only opened in 2016, with great staff, great food, free WiFi, free gym, a cigar lounge and an excellent rooftop pool & bar.  The front building has been converted from a lovely Dutch colonial PTT (Post, Telephone & Telegraph) office built in 1943 with a new 9-floor building behind it containing the rooms and rooftop pool.  The art deco design has been carried through the hotel with acres of white marble, this place is utter luxury but as this it's Indonesia a stay here is more affordable that you'd think.

You could also consider the Mercure Jakarta Batavia, opened in 2019 and now one of the few decent tourist hotels in the old town.  It's just 6 minutes walk from Batavia's old town square and gets good reviews.  Not as cosy or as historic a building as the lovely Hermitage, but with an old-town location.

The Hermitage Hotel, Jakarta   Suite at the Hermitage

The Hermitage, converted from a Dutch colonial PTT office built in 1943.

 

Double room at the Hermitage, in art deco style with acres of white marble.

Cigar lounge, Hermitage Hotel Jakarta   Rooftop terrace, pool & bar, Hermitage Hotel Jakarta

The cigar lounge.

 

Rooftop terrace, above the rooftop pool & bar.

Yogyakarta:  The Phoenix Hotel

The venerable Phoenix Hotel is the place to stay in Yogyakarta.  A landmark since 1918, the main building was originally the home of a wealthy merchant which became the residence of the Chinese consul after World War 2 before being converted into a hotel.  The hotel has bags of quirky character, friendly staff and is excellently located, 15 minutes walk or 5 minutes by taxi from Yogyakarta station.  There's free WiFi and an excellent swimming pool - it's worth paying a little extra for the pool-view rooms which have balconies overlooking the pool.

Phoenix Hotel Yogyakarta   Deluxe pool view room at the Phoenix Hotel

The Phoenix Hotel, Yogyakarta.

 

Deluxe pool view room, with balcony.

Phoenix Hotel pool   Phoenix Hotel restaurant

The pool.

 

Restaurant:  Part open, part covered, part inside.

Surabaya The Majapahit Hotel

In Surabaya, the place to stay is the historic Majapahit Hotel.  Don't argue, trust me on this.  I'll give you three reasons.

First, it's easily the best place in town, a true oasis amongst the tower blocks with elegant suites opening onto colonnades surrounding gardens with fountains.  They simply don't make hotels like this any more.  Great staff, two great restaurants, free WiFi, spa, and a good swimming pool.

Second, this old-world charm is no accident, this is no ordinary hotel.  It's a genuine Sarkies Brothers hotel like Raffles in Singapore, the E&O in Penang and the Strand in Rangoon, opened in 1911 as the Hotel Oranje by Lucas Martin Sarkies, son of Martin Sarkies, co-founder of Raffles.  But Raffles costs upwards of £400 a night, a similar suite at the Majapahit can be yours for £80.  Like I said, don't argue, even if you're on a budget, splurge here.

And there's a third reason.  There is major Indonesian history here - the Flag Incident of September 1945 is a key event in the history of Indonesian independence and it occurred right here at the Hotel Majapahit (at that period called the Hotel Yamato) in Room 33 and on the left-hand lobby flag tower, see en.wikipedia.org/wiki/Battle_of_Surabaya.  I couldn't resist staying in a bit of history - on our way back through Surabaya I contacted the hotel and upgraded our room to the Merdeka Suite, the famous Room 33.  Though I still don't know if Dutchman W.V.Ch.Ploegman met his end inside or outside that room.  The Sarkies Suite next door (room 32) is the room that was reserved for the Sarkies family when they stayed.

Hotel Majapahit, the former Hotel Oranje

Hotel Majapahit, formerly the Oranje Hotel.  These art deco buildings were added at the front in 1936, their inauguration attended by Charlie Chaplin and writer Joseph Conrad amongst others.

Hotel majapahit, an oasis in the city   Typical suite at the Hotel Majapahit

An oasis in the city.  They don't build hotels like this any more.

 

Just a regular suite.

The original 1910 building today   The Hotel Oranje as was

The original building of 1910 is still there behind the 'new' art deco buildings of 1936.  The original towers were demolished when the 1936 buildings were added.

The Flag Incident tower, 2017   The Flag Incident tower, 1945   Majapahit Hotel, formerly Yamato Hotel, room 33

The Flag Incident, September 1945.

 

Inside room 33, where it all kicked off in 1945.

Hotels in Ketapang, Gilimanuk

If you want to stop overnight on a journey between Java and Bali, you'll find more hotels in Ketapang on the Javan side of the Strait of Bali than a Gilimanuk on the Bali side, though the choice still isn't great.  For somewhere half decent with free WiFi, a good swimming pool and (albeit somewhat characterless) rooms set in gardens, try the Ketapang Indah Hotel about 2km south of Ketapang ferry terminal, just off the main road.

Hotels on Bali:  Bloo Lagoon Eco Village

There are many resort towns on Bali, some better for surfing, some for diving.  Padangbai is on the southeast coast of Bali, family-friendly, good for diving, day trips to Ubud, fast ferries to the Gili islands and conventional ferries to Lombok.  If that suits you, the place to stay is the Bloo Lagoon Eco Village on the headland just above the town with views over the bay.  The village consist of self-contained bungalows with small kitchens, there's free WiFi, a good pool with water slide, a spa, and an excellent restaurant serving truly wonderful home-cooked food.  Staff are great.  The Bloo Lagoon Village was opened in 2009 by English architect Tony Gwilliam who has written a book about it, Far from boring.

Bloo Lagoon Village, pool   Bloo Lagoon Village 2-bedroom bungalow

The pool.

 

Bloo Lagoon Village 2-bedroom bungalow.

Find hotels at Booking.comMy favourite hotel search: www.booking.com

Booking.com is my favourite hotel booking site and I generally use it to book all my hotels in one place.  I've come to trust booking.com's review scores, you won't be disappointed with any hotel that scores 8.0 or more.  Crucially, booking.com usually lets you book with free cancellation, which means you can confirm accommodation risk-free before train booking opens and/or you can hold accommodation while you finalise your itinerary and alter your plans as they evolve - a feature I use all the time when planning a trip.  I never book hotels non-refundably!

Back to top


Flights to Jakarta

Overland travel by train & bus around Indonesia is an essential part of the experience, so once there, don't cheat and fly, stay on the ground!  But a long-haul flight might be unavoidable to reach it in the first place.  For flights to Jakarta, compare airlines at Skyscanner.

skyscanner generic 728x90

Back to top


Travel insurance & other tips

 

Staysure travel insurance

 

Columbus Direct logo

Always take out travel insurance

Never travel overseas without travel insurance from a reliable insurer, with at least £1m or preferably £5m medical cover.  It should also cover cancellation and loss of cash and belongings, up to a sensible limit.  An annual multi-trip policy is usually cheaper than several single-trip policies even for just 2 or 3 trips a year, I have an annual policy with Staysure.co.uk myself.  Here are some suggested insurers.  Seat61 gets a small commission if you buy through these links.

UK flag  www.staysure.co.uk offers enhanced Covid-19 protection & gets 4.7 out of 5 on Trustpilot.

UK flag  www.columbusdirect.com is also a well-know brand.

US flag  If you live in the USA try Travel Guard USA.

 

Maya.net logo

Get an eSIM with mobile data package

Don't rely on WiFi, download an eSIM with a mobile data package for the country you're visiting and stay connected.  Most newer mobile phones can download a virtual SIM card so you don't need to buy a physical SIM, including iPhone 11 & later, see device compatibility listMaya.net is a reliable eSIM data retailer with a 4.5 out of 5 Trustpilot rating and a range of packages including unlimited data.

 

Curve card

Curve card

Get a Curve card for foreign travel

Most banks give you a poor exchange rate, then add a foreign transaction fee on top.  A Curve MasterCard means no foreign transaction fees and gives you the mid-market exchange rate, at least up to a certain limit, £500 per month at time of writing.  The money you spend on your Curve card goes straight onto one of your existing debit or credit cards.

How it works:  1. Download the Curve app for iPhone or Android.  2. Enter your details & they'll send you a Curve MasterCard - they send to the UK and most European addresses.  3. Link your existing credit & debit cards to the app, you can link up to two cards with the free version of Curve, I link my normal debit card and my normal credit card.  4. Now use the Curve MasterCard to buy things online or in person or take cash from ATMs, exactly like a normal MasterCard. Curve does the currency conversion and puts the balance in your own currency onto whichever debit or credit card is currently selected in the Curve app.  You can even change your mind about which card it goes onto, within 14 days of the transaction.

I have a Curve Blue card myself, it means I can buy a coffee on a foreign station on a card without being stung by fees and lousy exchange rates, just by tapping the Curve card on their card reader.  The money goes through Curve to my normal debit card and is taken directly from my account (in fact I have the Curve card set up as payment card on Apple Pay on my iPhone, so can double-click my phone, let it do Face ID then tap the reader with the phone - even easier than digging a card out).  I get a little commission if you sign up to Curve, but I recommend it here because I think it's great.  See details, download the app and get a Curve card, they'll give you £5 cashback through that link.

 

Express VPN

Get a VPN for safe browsing.  Why you need a VPN

When you're travelling you often use free WiFi in public places which may not be secure.  A VPN encrypts your connection so it's always secure, even on unsecured WiFi.  It also means you can select the geographic location of the IP address you browse with, to get around geoblocking which a surprising number of websites apply.  See VPNs & why you need one explainedExpressVPN is a best buy with a 4.7 out of 5 Trustpilot ranking which I use myself - I've signed up as an ExpressVPN affiliate, and if you go with expressvpn.com using the links on this page, you should see a special deal, 3 months free with an annual subscription.  I get a small commission to help support this site.

 

Anker Powerrbank

Carry an Anker powerbank

Tickets, reservations, vaccination records and Interrail or Eurail passes are often held digitally on your mobile phone, so it's vital to keep it charged.  I always carry an Anker powerbank which can recharge my phone several times over if I can't get to a power outlet.  Buy from Amazon.co.uk or from buy from Amazon.com.

 


Back to top

Back to home page