Bali and Java are separated by the narrow Bali Strait, and getting between them is far simpler than the international-border feel of most island hops in Indonesia — there’s no passport check, and the crossing itself takes well under an hour. The route matters mostly if you’re combining Bali with a Java itinerary like our 7-day, 10-day or 14-day Java route, most of which end (or start) at exactly this crossing.
Quick Answer: How to Get from Bali to Java
- Ferry (Gilimanuk–Ketapang): the standard overland route — cheap, frequent, and roughly 30-45 minutes across the strait, plus loading time.
- Direct bus: long-distance coaches from Denpasar to Java cities (Surabaya, Yogyakarta, Jakarta) that include the ferry crossing in the ticket — you stay on the bus.
- Flying: fastest for longer distances — Denpasar has direct flights to Surabaya, Yogyakarta, Jakarta and Semarang.
- Private car/driver: drives onto the ferry with you, useful if you’re road-tripping into East Java (Bromo, Ijen) rather than flying.
The Gilimanuk–Ketapang Ferry
This is the actual land-sea link between the two islands: a short crossing of the Bali Strait between Gilimanuk on Bali’s western tip and Ketapang, just outside Banyuwangi on Java’s eastern tip. It’s operated by ASDP, Indonesia’s state ferry company, and runs continuously, 24 hours a day, with departures roughly every 15-30 minutes in each direction — there’s rarely a long wait.

The crossing itself is short, generally well under an hour of actual sailing time, though total time at the terminal (loading, waiting, unloading) can stretch it closer to an hour or more depending on traffic. Foot passenger tickets are inexpensive — a few thousand rupiah — and vehicle fares scale up by class (motorbike, car, bus/truck). Prices are government-regulated and change periodically, so treat any specific number as a rough guide rather than gospel; check current ASDP rates before you travel if the exact fare matters to your budget.
Ferries run both directions non-stop, so there’s no fixed “timetable” to plan around the way there would be for a once-daily service — you simply arrive at the terminal and board the next available crossing.
Direct Bus (Ferry Included)
Long-distance buses connecting Denpasar to major Java cities — Surabaya, Yogyakarta, Semarang, even Jakarta — drive the entire route including the ferry crossing, with the bus itself loading onto the ship. This is the simplest option if you don’t want to manage the ferry terminal yourself: you buy one ticket, board in Bali, and get off in Java, sleeping through much of the journey on longer overnight routes.
The tradeoff is time. A bus from Denpasar to Yogyakarta, for example, can take upwards of 15 hours including the crossing — reasonable if you’re not in a hurry and want to save on accommodation by traveling overnight, but not competitive with flying if time matters more than cost.
Flying
For anything beyond the immediate Banyuwangi/East Java area, flying is the fastest option by a wide margin. Denpasar’s Ngurah Rai Airport has frequent direct flights to Surabaya (about an hour), Yogyakarta, Semarang and Jakarta, run by several Indonesian carriers. If your Java trip centers on Yogyakarta, Jakarta or points further west, flying in and starting there — rather than crossing overland from Bali — is usually the more practical choice.
The overland ferry route makes the most sense specifically when your Java itinerary starts in the east — Banyuwangi, Ijen, Bromo, Malang — since that’s exactly where the ferry lands you, whereas flying to Surabaya or Yogyakarta means backtracking east afterward.
Driving Onto the Ferry
If you’ve rented a car in Bali or hired a private driver and want to continue into East Java by road, the Gilimanuk–Ketapang ferry takes vehicles as well as foot passengers — you simply drive on, park on the vehicle deck, and drive off on the Java side. This is the standard approach for travelers doing a Bali-to-Bromo-to-Ijen road trip in reverse, or combining a Bali stay with our Mount Bromo and Mount Ijen guides without flying at all.
Which Option Should You Choose?
If your Java trip starts in the east — Banyuwangi, Ijen, Bromo — the ferry is the natural, cheap way across, whether you’re on foot, in a private car, or on a through-bus. If your Java trip centers on Yogyakarta, Jakarta or further west, flying direct from Denpasar saves the better part of a day compared to the overland route. Budget travelers with time to spare can take the direct bus for a single-ticket, no-hassle crossing, sleeping through the longer legs.
Practical Tips
- No passport check: this is a domestic route between two Indonesian islands, not an international border — bring ID as you would for any domestic transport, nothing more.
- Avoid peak holiday periods: the ferry terminal gets significantly busier around Indonesian public holidays (especially Lebaran and Christmas/New Year), when wait times can stretch far beyond the usual short queue.
- Time zones match: Bali and East Java are both in the same time zone (WITA/WIB border sits west of here for Bali specifically — Bali runs on WITA, Java on WIB, one hour behind), so double-check your itinerary times if you’re crossing near midnight.
- Combine with East Java stops: Banyuwangi, Ijen and Bromo are all a short onward drive from Ketapang, making the ferry route efficient if those are on your list rather than a detour.
Frequently Asked Questions
What are the main ways to get from Bali to Java?
The Gilimanuk–Ketapang ferry (the standard overland route, roughly 30-45 minutes across the strait), a direct bus that includes the ferry crossing, flying (fastest for longer distances), or a private car/driver that drives onto the ferry with you.
How does the Gilimanuk–Ketapang ferry work?
It’s operated by ASDP, Indonesia’s state ferry company, running continuously 24 hours a day with departures roughly every 15-30 minutes in each direction, so there’s rarely a long wait.
How long does the ferry crossing between Bali and Java take?
The actual sailing time is generally well under an hour, though total time at the terminal including loading, waiting, and unloading can stretch it closer to an hour or more.
How long does a direct bus from Denpasar to Yogyakarta take?
Upwards of 15 hours including the ferry crossing — reasonable if not in a hurry and wanting to save on accommodation by traveling overnight, but not competitive with flying if time matters more.
When is flying the better option to get from Bali to Java?
For anything beyond the immediate Banyuwangi/East Java area, since Denpasar has direct flights to Surabaya, Yogyakarta, Jakarta and Semarang.
Planning a wider Southeast Asia trip?
Vietnam With Me — practical Vietnam travel guides
Cambodia With Me — practical Cambodia travel guides
Siam With Me — Thailand travel guides
Singapore With Me — Singapore travel guides
Pingback: Java Travel Guide: Where to Go, What to See & How to Plan Your Trip
Pingback: Astungkara Way Adds a New Trail Through Bali’s Wild Northwest - Indonesia With Me