Contents
The short stretch of water separating the southern tip of Malaysia from the Riau Archipelago is one of Southeast Asia's busiest ferry 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 ferries link the two for weekend explorers and business travelers alike.
Leaving the Malaysian mainland for Indonesia involves a short hop across the sea that feels more like a local commute than an international voyage. Whether you are heading over for a seafood dinner or a golf getaway, the ferry terminal in Johor Bahru is built to get you across the border with minimal fuss.
Johor to Batam by Ferry
The ferry is the main way to cross, and Berjaya Waterfront Ferry Terminal at Stulang Laut in Johor Bahru is an official seaport and international entry point with customs and immigration facilities on site.[1] From here ferries run to Batam Center and to Harbour Bay on Batam, and on to Tanjung Pinang on Bintan.[2] You can browse your options and book on GoAsia.cc.
The terminal lists 14 daily sailings to Batam Center, the first at 07:15 and the last at 18:00 (Malaysia time), and 5 to Harbour Bay, between 09:00 and 17:30.[2] Some departures are walk-in tickets sold at the ticket counters on Level 2 of the mall at the terminal.[2] Schedules can change without notice, for example because of the weather.[2]
Fares and Travel Time
The adult one-way fare from Stulang Laut to Batam Center or Harbour Bay is RM100 (RM160 return), and the child fare is RM85 (RM130 return). A surcharge of RM35 is not included in these fares.[2] The terminal quotes approximately 150 minutes to Batam Center.[1] The ferries are fully air-conditioned high speed monohull and catamaran vessels.[1]
Comparing Your Options
| Mode | Price | Duration | Comfort |
|---|---|---|---|
| Ferry to Batam Center or Harbour Bay | RM100 one way plus RM35 surcharge[2] | About 150 minutes[1] | Air-conditioned |
Tips for Traveling from Johor to Batam
- Check Visa Requirements: Since you are crossing from Malaysia to Indonesia, your passport must be valid for at least six months from the date of arrival. The official Indonesian visitor visa costs IDR 500,000 and is valid for 30 days.[3] Many nationalities are exempt or can use a visa on arrival, so verify the current Indonesian rules before you head to the terminal.
- Arrive Early: Even though the boat ride is short, you pass through customs and immigration for international departure, so allow extra time at the terminal.[1]
- Currency Exchange: You will need Indonesian Rupiah (IDR) for small purchases, taxis, and local food in Batam, so change some money before or on arrival.
- Time Zones: Indonesian time on Batam is exactly one hour earlier than Malaysian time, meaning the clock is one hour behind. Adjust your watch when you arrive and when you come back.[1]
Timetable
| Bus Johor Bahru - Batam $ 26.86 2h 12m | |
|
|
| Ferry Johor Bahru - Batam $ 25.01–33.24 30m – 12h | |
|
| Ferry Johor - Batam $ 23.95–32.46 1h 30m – 1h 39m | |
|
Frequently Asked Questions
Use the booking tool on this page to compare the transport options currently available from Johor to Batam, including current prices and schedules.
The ferry is the way to cross. The adult fare from Stulang Laut to Batam Center or Harbour Bay is RM100 one way plus a RM35 surcharge, or RM160 return before the surcharge.
The ferry from Berjaya Waterfront Ferry Terminal at Stulang Laut is the fast way to reach Batam. The terminal quotes approximately 150 minutes to Batam Center.
The terminal quotes approximately 150 minutes by ferry from Stulang Laut to Batam Center. Add time for check-in and immigration on both sides.
Some departures can be bought at the ticket counters on Level 2 of the mall at the terminal, but online booking is the safer choice, especially on weekends and public holidays. Schedules can change without notice.
Berjaya Waterfront Ferry Terminal at Stulang Laut is the Johor terminal with ferries to Batam Center and Harbour Bay. It has 14 daily sailings to Batam Center and 5 to Harbour Bay.
Yes, there is a one-hour time difference. Indonesian time on Batam is one hour earlier than Malaysian time, so the clock is one hour behind. Adjust your devices upon arrival.
Sources and background
Numbers in the text such as [1] refer to these sources.
- [1] Berjaya Waterfront Ferry Terminal: Travel Information. Retrieved October 15, 2026.
- [2] Berjaya Waterfront Ferry Terminal: Schedule. Retrieved October 15, 2026.
- [3] Directorate General of Immigration, Indonesia: General Information (Visitor Visa). Retrieved October 15, 2026.
Guide prices and journey times are indicative, not live quotes. A booked package may include transfers and waiting time as well as the main journey. Check the selected offer, pickup point and current conditions before booking.