Getting Around Indonesia: Transport Between 17,000 Islands

Indonesia comprises approximately 17,000 islands extending across roughly 5,120 kilometers from east to west, presenting geographic fragmentation that defines transportation patterns. Java contains the most developed ground infrastructure, while eastern provinces including Papua and Maluku depend heavily on air connections. The country operates no functioning passenger rail network outside Java and parts of Sumatra, making domestic aviation and maritime transport essential for inter-island movement.

Garuda Indonesia serves as the flag carrier, operating Boeing 737 and Airbus A330 aircraft on domestic trunk routes. Lion Air Group, controlling Lion Air and Batik Air, operates the largest domestic network by flight frequency, serving approximately 120 destinations with a fleet exceeding 100 aircraft. Citilink functions as Garuda's low-cost subsidiary. AirAsia Indonesia operates primarily from Jakarta and Bali. Super Air Jet, founded in 2021, uses Boeing 737-800 aircraft on Java corridors. Wings Air operates ATR 72 turboprops to smaller airports where jet infrastructure does not exist. Sriwijaya Air suspended operations in 2021 following administrative violations.

Jakarta's Soekarno-Hatta International Airport processed 54.3 million passengers in 2019 across three operational terminals. Terminal 3 opened in 2016 with 30 million passenger annual capacity. The airport occupies 1,800 hectares in Tangerang, 20 kilometers northwest of central Jakarta. Ngurah Rai International Airport in Bali handled 23.8 million passengers in 2019, operating a single terminal building with international and domestic wings. Juanda International Airport serves Surabaya with two terminals separated by approximately one kilometer. Kualanamu International Airport replaced Medan's Polonia Airport in 2013, located 39 kilometers from the city center. Sultan Hasanuddin International Airport in Makassar operates as the primary hub for eastern Indonesia. Halim Perdanakusuma Airport in Jakarta handles executive flights and some scheduled services using a runway unsuitable for wide-body aircraft.

Flight durations from Jakarta measure approximately 90 minutes to Surabaya, two hours to Denpasar, two hours 15 minutes to Medan, and five hours 30 minutes to Jayapura in Papua. Jakarta to Manado requires approximately four hours. Domestic fares fluctuate significantly based on booking timing, with Jakarta-Bali routes ranging from 400,000 to 2,500,000 rupiah depending on advance purchase and carrier. Provincial airports including Pontianak, Balikpapan, Banjarmasin, Palembang, Padang, and Lombok operate jet service to Java hubs with varying frequency.

Pelni operates government-subsidized passenger ships connecting approximately 100 ports across the archipelago using vessels ranging from 2,000 to 4,000 gross tons. The KM Bukit Raya, KM Sinabung, and KM Dorolonda exemplify the fleet, carrying 1,000 to 1,500 passengers on voyages lasting multiple days. Jakarta to Makassar by Pelni ship requires approximately 60 hours. Surabaya to Banjarmasin takes roughly 30 hours. These vessels operate economy class accommodations with shared sleeping areas and minimal privacy. Private ferry operators including ASDP Indonesia Ferry connect shorter inter-island routes. The Merak-Bakauheni crossing between Java and Sumatra operates 24 hours with departures every 30 to 60 minutes using roll-on/roll-off ferries accommodating vehicles and passengers. Crossing time measures approximately two hours covering the Sunda Strait distance of 25 kilometers. Ketapang to Gilimanuk connects Java and Bali with 30-minute crossings running continuously. Padang Bai to Lembar links Bali and Lombok in approximately four hours.

Java operates passenger rail service through Kereta Api Indonesia, a state enterprise controlling approximately 6,000 kilometers of track, though only portions carry regular passenger service. The Jakarta-Surabaya corridor represents the primary route, with executive class trains including the Argo Bromo Anggrek completing the 720-kilometer journey in approximately eight hours. The Argo Lawu serves the Jakarta-Solo route in seven hours covering 550 kilometers. Bandung lies 180 kilometers from Jakarta, connected by the Argo Parahyangan in approximately three hours. Local economy trains operate significantly slower, with the same Jakarta-Surabaya route requiring 12 to 15 hours. Yogyakarta sits 500 kilometers from Jakarta, reachable in approximately eight hours by executive service. The Jakarta-Bandung high-speed rail line commenced limited operations in October 2023, using Chinese-manufactured trains designed for 350 kilometers per hour on a 142-kilometer alignment, though commercial service patterns remained inconsistent through early 2024.

Sumatra's rail network exists in disconnected segments. The Medan-Binjai-Tanjung Pura line operates approximately 50 kilometers north from Medan. A separate network connects Palembang, Prabumulih, and Lubuklinggau across roughly 270 kilometers in South Sumatra. The Padang area maintains approximately 100 kilometers of tourist-oriented heritage rail including connections to Sawahlunto. No passenger rail operates in Kalimantan, Sulawesi, or Papua.

Jakarta operates TransJakarta bus rapid transit across 13 corridors covering approximately 250 kilometers of dedicated and semi-dedicated busways. The system carried roughly one million passengers daily before the COVID-19 pandemic. Single-journey fares cost 3,500 rupiah regardless of distance. Buses operate from approximately 05:00 to 22:00 with headways ranging from five to 15 minutes on primary corridors. Surabaya operates a limited bus rapid transit system called Trans Semanggi. Bandung's Trans Metro Bandung covers eight corridors with inconsistent service frequency. Semarang operates Trans Semarang across five corridors.

Jakarta's MRT line opened in March 2019, running 16 kilometers from Lebak Bulus in South Jakarta to the Hotel Indonesia traffic circle in Central Jakarta, serving 13 stations. Rolling stock consists of six-car trains manufactured by Nippon Sharyo in Japan. Frequency reaches approximately five-minute headways during peak periods. Fares range from 3,000 to 14,000 rupiah based on distance. The LRT Jabodebek system connecting Jakarta, Bogor, Depok, and Bekasi commenced partial operations in August 2023 using Hyundai Rotem trainsets from South Korea on an elevated alignment. The initial 42-kilometer segment operates east from Jakarta toward Bekasi and Cibubur. Palembang operates a light rail system installed for the 2018 Asian Games, running 23 kilometers from the airport to Jakabaring sports complex with intermediate urban stations.

Taxis operate in major cities using both metered and app-based systems. Blue Bird Group represents the largest metered taxi operator, identified by light blue Sedan vehicles charging 7,500 rupiah flag fall plus approximately 4,000 rupiah per kilometer in Jakarta. Rates increase roughly 20 percent between midnight and 05:00. Gojek and Grab dominate app-based motorcycle taxi and car services. Motorcycle taxis cost approximately 2,000 to 3,000 rupiah per kilometer with variable surge pricing. Four-wheel vehicles through these platforms charge roughly 3,000 to 4,000 rupiah per kilometer base rate. Both companies operate in cities including Jakarta, Surabaya, Bandung, Medan, Semarang, Makassar, Denpasar, Yogyakarta, Malang, and Palembang.

Ojek refers to motorcycle taxis operating without apps, common in areas lacking ride-hailing coverage. Fares require negotiation before departure. Angkot minibuses follow fixed routes within cities, charging flat fares typically ranging from 3,000 to 5,000 rupiah per ride. These vehicles operate without published schedules, departing when sufficiently full. Routes are identified by color coding and route numbers that vary by city. Becak are pedal-powered tricycles operating in cities including Yogyakarta, Solo, and Malang, typically covering short distances of under two kilometers. Fares require advance negotiation, commonly ranging from 10,000 to 30,000 rupiah depending on distance and negotiation skill. Becak are prohibited in Jakarta except in Old Town tourism areas. Andong refers to horse-drawn carriages operating in Yogyakarta for tourism purposes.

Bali operates no rail service and limited public bus infrastructure. Kura-Kura Bus serves tourist routes in southern Bali including Kuta, Seminyak, Sanur, Nusa Dua, and Ubud with air-conditioned coaches charging 20,000 to 80,000 rupiah based on route. Service operates approximately 08:00 to 22:00 with inconsistent frequency. Most visitors rent motorcycles or use ride-hailing services. Perama operates tourist bus connections between Bali destinations and to Lombok, combining bus and ferry transport. The Denpasar-Gilimanuk route across Bali measures approximately 140 kilometers, requiring three to four hours by car depending on traffic. Ubud lies roughly 30 kilometers north of Denpasar, typically requiring 60 to 90 minutes by vehicle due to traffic density.

Car rental requires an International Driving Permit in conjunction with a valid home country license, though enforcement varies. Rental agencies including Trac, Blue Bird Rental, and local operators offer vehicles ranging from 200,000 to 800,000 rupiah daily depending on vehicle class and rental duration. Insurance coverage varies significantly between operators. Fuel costs approximately 10,000 rupiah per liter for Pertalite grade gasoline and 13,000 rupiah for Pertamax premium fuel as of 2024. Indonesia drives on the left side of the road. Traffic density in Jakarta, Surabaya, and Bandung produces significant congestion during weekday peak periods of approximately 06:30 to 09:30 and 16:30 to 20:00. Toll roads connect major cities on Java, charging rates based on vehicle class and distance. The Jakarta-Surabaya toll road spans approximately 730 kilometers with total costs exceeding 400,000 rupiah for private cars. Toll roads also operate in sections of Sumatra, Bali, and Sulawesi.

Road conditions vary substantially by region and island. Java maintains paved roads connecting all major population centers, though road width and surface quality decline outside primary corridors. The Trans-Sumatra Toll Road project aims to connect Lampung in the south to Aceh in the north across approximately 2,700 kilometers, with segments opened progressively between 2014 and present. Kalimantan's interior relies heavily on unpaved logging roads subject to severe degradation during monsoon periods. The Trans-Kalimantan Highway exists primarily as a paved two-lane road across portions of the southern route, with northern segments incomplete or maintained at minimal standards. Sulawesi's road network radiates from Makassar with declining quality toward interior and northern regions. Papua's road infrastructure remains minimal outside coastal cities, with the Trans-Papua Highway under construction across approximately 4,300 kilometers, substantial portions existing only as unpaved track impassable during wet season.

Motorcycle rental operates widely in Bali, Lombok, and tourist areas, typically requiring passport deposit and costing 50,000 to 100,000 rupiah daily for semi-automatic scooters of 110cc to 125cc displacement. Helmet laws exist nationwide but enforcement varies. Traffic accident rates in Indonesia measure approximately 12 deaths per 100,000 population according to World Health Organization data, with motorcycles involved in approximately 70 percent of fatal accidents.

Boat transport connects smaller islands including Nusa Penida from Sanur, operating multiple departures daily with crossing times of 30 to 45 minutes and costs ranging from 150,000 to 250,000 rupiah return. Fast boats connect Bali to Lombok and the Gili Islands from Padang Bai and Serangan, requiring two to three hours and costing 400,000 to 700,000 rupiah one way. Safety standards and vessel maintenance quality vary significantly between operators. Raja Ampat in West Papua requires flight to Sorong followed by boat transfer, with ferry service to Waisai on Waigeo Island taking approximately two hours. Komodo National Park access requires flight to Labuan Bajo in Flores, with boat charters to Komodo Island and Rinca Island operating as day trips or multi-day liveaboard expeditions.

River transport operates in Kalimantan where the Kapuas River extends approximately 1,143 kilometers, making it Indonesia's longest river. Longboats called ces carry passengers and cargo between riverside settlements, though scheduled service does not exist. Charter costs vary based on distance and negotiation. The Mahakam River in East Kalimantan serves as a transport corridor between Samarinda and interior Dayak communities, with irregular boat service requiring multiple days for upriver destinations. Papua uses river transport extensively where road infrastructure does not exist, particularly along the Memberamo River and tributaries.

Tanjung Priok Port in Jakarta functions as Indonesia's largest seaport, handling approximately eight million twenty-foot equivalent units of containers annually, though passenger ship traffic operates from a separate terminal. Tanjung Perak Port in Surabaya serves as the second-largest port. Pelni ships typically depart from Tanjung Priok for eastern Indonesian destinations including Makassar, Balikpapan, Manado, and ports in Maluku and Papua.

Distance and travel time realities define movement through Indonesia. Jakarta to Yogyakarta measures approximately 500 kilometers, requiring eight hours by train or seven hours by car under optimal conditions. Jakarta to Medan spans roughly 1,400 kilometers without direct ground transport due to the Sunda Strait separation. Bali to Lombok covers approximately 100 kilometers by sea, though no bridge exists. Java's west-east length measures approximately 1,100 kilometers from Merak to Banyuwangi. Sumatra extends roughly 1,700 kilometers from Banda Aceh to Bandar Lampung. Kalimantan spans approximately 1,200 kilometers north to south. Sulawesi's irregular shape produces maximum dimensions of approximately 760 kilometers.

Punctuality varies significantly by transport mode and operator. Garuda Indonesia maintains on-time performance around 75 to 80 percent for domestic flights. Budget carriers experience more significant delays, particularly during weather disruptions. Trains on Java generally depart on schedule within five minutes, though en-route delays accumulate on longer journeys. Pelni ships commonly depart hours behind published schedules. App-based transport in cities typically arrives within stated estimates of five to 15 minutes. Weather affects transport reliability, particularly during monsoon months of November through March when flooding closes roads in Java and Sumatra, and rough seas suspend boat services to smaller islands.

Provincial access patterns reflect infrastructure concentration. Reaching Tanjung Puting National Park in Central Kalimantan requires flight to Pangkalan Bun airport followed by boat transfer. Bunaken Marine Park near Manado requires flight to Sam Ratulangi International Airport, then ground transfer to port and boat to Bunaken Island. Wakatobi National Park in Southeast Sulawesi requires flight to Matahora Airport or boat from Kendari. Bromo Tengger Semeru National Park near Malang requires car or motorcycle rental as no public transport serves the mountain access points.

Bicycle rental exists in tourism areas including Ubud, Yogyakarta, and around Borobudur Temple, typically costing 30,000 to 50,000 rupiah daily. Road conditions and traffic density make cycling impractical in Jakarta, Surabaya, and Denpasar. Yogyakarta and Solo maintain more accommodating cycling conditions with lower traffic speeds.

Tourist bus services operate between major destinations on established routes. Damri operates airport connections in multiple cities, charging fixed fares of 20,000 to 60,000 rupiah depending on route. Private tourist bus companies including Rosalia Indah, Pahala Kencana, and Lorena operate overnight services between Java cities using reclining seats or sleeper configurations. Jakarta to Yogyakarta by overnight bus costs approximately 150,000 to 300,000 rupiah requiring eight to ten hours. Operators maintain inconsistent safety records, with fatal accidents occurring regularly on mountain routes.

Helicopter charter operates from Jakarta, Bali, and other major cities for accessing remote locations or private islands, with costs exceeding 20 million rupiah per flight hour. Susi Air operates small aircraft including Cessna Grand Caravan to remote airstrips in Papua, Maluku, and Kalimantan as scheduled services or charter. The company serves approximately 150 destinations, many accessible only by air.

Information reflects conditions at time of writing. Verify all critical details through official sources before travel.