How to Get from Johor to Batam

How to Get from Johor to Batam

Last updated: March 8, 2026

The short stretch of water separating the southern tip of Malaysia from the Riau Archipelago is one of Southeast Asia's most efficient maritime corridors. While Johor Bahru hums with the energy of a border city, Batam offers a contrasting mix of industrial growth, duty-free shopping, and coastal relaxation. The transition between these two points is defined by the wake of high speed ferries cutting through the Singapore Strait, providing a seamless link for weekend explorers and business travelers alike.

Leaving the Malaysian mainland for Indonesia involves a quick hop across the sea that feels more like a local commute than an international voyage. With multiple terminals in Johor serving various points in Batam, the journey is defined by convenience and frequency. Whether you are heading over for a seafood dinner or a golf getaway, the infrastructure is built to get you across the border with minimal fuss.

Johor to Batam by Ferry

The ferry is the undisputed king of this route, offering the most direct and frequent connection between Malaysia and Indonesia. Most departures leave from the Berjaya Waterfront Ferry Terminal in Johor Bahru or the Puteri Harbour International Ferry Terminal. On the Batam side, vessels typically dock at Batam Centre or Harbour Bay, placing you right in the heart of the island's commercial and entertainment hubs.

Ticket prices for the ferry generally range from $24 to $36, depending on the specific operator and the terminal you choose. The journey is relatively quick, with the fastest crossings taking just 1 hour, while some routes may take up to 2 hours and 12 minutes if the sea conditions are choppy or if the vessel is a larger, traditional ferry. You can conveniently browse schedules and secure your seats on GoAsia.cc to ensure a smooth departure.

High Speed Ferry and Speedboat Options

For those who value time, the High Speed Ferry and Speedboat classes are the preferred choices. These vessels are designed to glide over the waves, significantly reducing travel time compared to older models. These boats are fully air-conditioned with comfortable seating rows, though outdoor decks are sometimes accessible for those who want to catch a breeze and watch the Singapore skyline pass by in the distance. Prices for these faster options sit comfortably between $25 and $29.

Economy and Standard Ferry Classes

Standard ferry services provide a reliable and slightly more budget-friendly alternative. While the amenities are straightforward, you still get a reserved seat in an air-conditioned cabin. These are excellent for travelers with more luggage or those who aren't in a rush and want to enjoy the maritime scenery of one of the world's busiest shipping lanes. Expect to pay around $24 to $26 for these tickets.

Johor to Batam by Bus

While it might seem counterintuitive to take a bus to an island, some operators offer integrated Express bus services from Johor Bahru that coordinate directly with ferry departures. This is a highly practical option for travelers coming from further inland in Malaysia who want a single booking to handle the logistics of reaching the terminal and crossing the water. These services are priced between $25 and $28. The duration listed for these segments can be as short as 30 minutes for the land portion, or up to 2 hours and 12 minutes for the total combined transit. This mode ensures you don't have to navigate local city traffic in Johor Bahru on your own to reach the pier.

Comparing Your Options

ModePrice (USD)DurationComfort
Ferry (Economy/Standard)$24 - $361h - 2h 12minModerate
High Speed Ferry$24 - $291h - 2h 12minHigh
Speedboat$25 - $292h - 2h 12minModerate
Bus (Express)$25 - $2830min - 2h 12minModerate

Tips for Traveling from Johor to Batam

  • Check Visa Requirements: Since you are crossing from Malaysia to Indonesia, ensure your passport is valid for at least six months. Many nationalities enjoy visa-free entry or Visa on Arrival (VoA) in Batam, but it is essential to verify current Indonesian immigration rules before you head to the terminal.
  • Arrive Early: Even though the boat ride is short, you are passing through international customs and immigration. Arrive at the ferry terminal at least 60 to 90 minutes before your departure to clear Malaysian exit formalities.
  • Currency Exchange: While some major malls in Batam might accept Malaysian Ringgit at poor rates, you will need Indonesian Rupiah (IDR) for small purchases, taxis, and local food. There are plenty of money changers at both the Johor and Batam terminals.
  • Time Zones: Keep in mind that Indonesia (Western Indonesian Time) is one hour behind Malaysia. When you arrive in Batam, remember to set your watch back so you don't miss your return ferry or hotel check-in.
  • Baggage Allowance: Most ferry operators allow a reasonable amount of hand luggage, but if you are carrying golf clubs or large suitcases, be prepared to pay a small excess baggage fee at the terminal check-in counter.

Timetable

Bus Johor Bahru - Batam $ 27.71 2h 12m
  •   Express 07:15, 09:30, 11:15, 12:00, 13:45, 15:00, 17:00, 18:00
Ferry Johor Bahru - Batam $ 25.80–34.29 30m – 12h
  •   Ferry 07:15, 08:00, 08:30, 09:30, 10:00, 11:00, 11:15, 11:30, 12:00, 12:30, 13:45, 14:30, 15:00, 15:15, 15:30, 17:00, 17:30, 18:00, 18:30
  •   High Speed Ferry 08:30, 11:30, 14:30, 17:00
  •   Speedboat 07:15, 09:30, 11:15, 13:45, 15:15, 18:00
Ferry Johor - Batam $ 24.71–33.49 1h 30m – 1h 39m
  •   Economy 08:00, 10:00, 12:30, 15:30, 18:30
  •   Ferry 08:00, 08:30, 10:00, 11:30, 12:30, 15:30, 18:00, 18:30
  •   High Speed Ferry 08:00, 08:30, 10:00, 11:30, 12:30, 15:30, 18:00, 18:30

Frequently Asked Questions

How can I book tickets from Johor to Batam?

You can book train, bus, flight, taxi, van, and ferry tickets from Johor to Batam directly on GoAsia.cc. Use the booking tool on this page to compare all available options and prices in real time.

What is the cheapest way to get from Johor to Batam?

The cheapest way to travel is by ferry, with economy tickets starting at approximately $24. Prices can vary slightly depending on the departure terminal and the specific ferry operator you choose.

What is the fastest way to get from Johor to Batam?

The fastest way to reach Batam is by taking a ferry from Johor, which can complete the crossing in as little as 1 hour. High-speed ferry options are specifically designed for these quick transits.

How long does it take to get from Johor to Batam?

The journey typically takes between 1 hour and 2 hours and 12 minutes. The total time depends on the type of vessel and the specific arrival point on Batam island.

Do I need to book my ferry tickets in advance?

While tickets are often available at the terminal, it is highly recommended to book in advance, especially on weekends and public holidays. This route is very popular for weekend trips, and the most convenient departure times can sell out quickly.

Which ferry terminal in Johor should I use?

The Berjaya Waterfront Ferry Terminal is the most central option in Johor Bahru and offers the highest frequency of departures. Puteri Harbour is another excellent choice, especially if you are staying in the western part of the city near Legoland.

Is there a time difference between Johor and Batam?

Yes, there is a one-hour time difference. Batam (Indonesia) is one hour behind Johor (Malaysia). Be sure to adjust your devices upon arrival to stay on track with your itinerary.