Indonesian Railways provide an excellent way for tourists, travellers and residents to move around the island of Java. There are also some railway routes in Sumatra, although these are not generally so convenient for visitors. Comfortable air conditioned trains connect most major population centres in Java. Fares are reasonable and so is punctuality, although speeds are moderate at best. Rail travel is almost certainly the safest mode of surface transport in Indonesia. 

Visit the Travelling by Train in Indonesia section for general information about train services, facilities, classes of travel and buying tickets. 

The Routes and Time Tables section provides descriptions of the railway routes and a summary timetable for each route.

Main Lines in Java
Jakarta to Cirebon
Bandung to Jakarta
(Jakarta) - Cirebon to Semarang - (Surabaya)
(Jakarta) - Semarang to Surabaya
(Jakarta) - Cirebon to Yogyakarta - (Solo - Surabaya)
(Jakarta / Bandung) - Yogyakarta to Solo - (Surabaya)
(Jakarta / Bandung - Yogyakarta) - Solo to Surabaya
(Surabaya - Solo) -  Yogyakarta to Bandung
Surabaya to Banyuwangi (-Bali)

Secondary Routes in Java

Jakarta - 
(Yogyakarta) - Solo to Semarang
(Surabaya) - Kertosono - Blitar - Malang - Surabaya
(Bandung) - Bogor

Branch Lines in Java
Wonogiri Branch

Jakarta Suburban Services