Two ferry routes connect mainland Malaysia with different island trips. The Kuala Perlis to Langkawi ferry is a domestic crossing to Kuah Jetty, while the Johor Bahru to Batam ferry is an international route to Indonesia with passport and immigration requirements.
The Kuala Perlis crossing currently takes around 2 hours 30 minutes, with fares from about RM45 one way. Johor Bahru to Batam varies more by operator and terminal, with journey times ranging from around 1 hour to 2 hours 50 minutes and listed fares starting from about SGD31.05.
Here’s how the routes compare, where they depart and arrive, what to expect at check-in and how to book each ferry online.
Kuala Perlis to Langkawi Ferry
The Kuala Perlis to Langkawi route is a domestic ferry journey from Kuala Perlis Ferry Terminal to Kuah Jetty on Langkawi. The current route information gives an average crossing time of around 2 hours 30 minutes.
The earliest displayed sailing is 7:00 AM, although departure times can vary according to the travel date, weekends, public holidays and peak periods.
Kuala Perlis to Langkawi at a Glance
| Route detail | Current information |
| Departure terminal | Kuala Perlis Ferry Terminal |
| Arrival terminal | Kuah Jetty, Langkawi |
| Journey time | About 2 hours 30 minutes |
| Lowest listed adult fare | From RM45 one way |
| Earliest displayed trip | 7:00 AM |
| Recommended arrival | 45–60 minutes before departure |
| Boarding gate | Closes about 10 minutes before departure |
| Parking | Available; check current terminal fee |
Because this is a domestic route, you don’t need the international immigration process required for the Batam crossing.
Kuala Perlis to Langkawi Ferry Tickets
Current fares start from around RM45 for a one-way adult ticket.
Treat this as an indicative starting price rather than a fixed fare. The final amount can vary depending on the date, passenger category and available service.
Before booking, check:
- Departure time
- Travel date
- Adult and child fares
- Luggage conditions
- Boarding point
- Arrival point
- Any applicable booking conditions
If you’re travelling during a weekend, public holiday or other busy period, booking ahead gives you more choice of sailing times.
How Early Should You Arrive at Kuala Perlis?
Plan to reach Kuala Perlis Ferry Terminal around 45 to 60 minutes before departure.
This gives you enough time to find the correct counter, complete check-in, handle luggage and reach the boarding gate.
The boarding gate is listed as closing about 10 minutes before departure, so avoid arriving close to the sailing time.
Johor Bahru to Batam Ferry
The Johor Bahru to Batam ferry is an international crossing from Malaysia to Indonesia.
Unlike the Kuala Perlis route, there isn’t just one departure or arrival terminal.
Services can leave from:
- Stulang Laut Ferry Terminal
- Pasir Gudang
- Puteri Harbour International Ferry Terminal
Arrival points in Batam can include:
- Batam Centre Ferry Terminal
- Harbour Bay Ferry Terminal
- Nongsa Pura
The available terminal depends on the operator and sailing you choose.
How Long is the Johor Bahru to Batam Ferry?
Journey times vary considerably by route and operator.
The current route information gives an average journey time of about 1 hour 58 minutes, while individual services range from around 1 hour to 2 hours 50 minutes.
Many Stulang Laut to Batam Centre services take around 1 hour 30 minutes.
Because of this variation, don’t choose a ticket based only on departure time. Check both the arrival terminal and total journey duration before booking.
Johor Bahru to Batam Ferry Tickets
Current fares start from around SGD31.05, although displayed ticket options can be slightly higher depending on the operator, departure, route and class.
| Route | Journey time | Indicative one-way fare | Type |
| Kuala Perlis to Langkawi | About 2h 30m | From RM45 | Domestic |
| Johor Bahru to Batam | About 1h to 2h 50m | From SGD31.05 | International |
For Batam, always check which terminal you’re booking to. A slightly cheaper fare may not be the most convenient if it arrives far from your hotel or intended part of the island.
Kuala Perlis to Langkawi vs Johor Bahru to Batam
The biggest difference is straightforward: one is domestic and the other crosses an international border.
Kuala Perlis to Langkawi
This route is simpler from a documentation point of view. Bring your ticket and any identification required for travel, arrive early and follow the terminal’s check-in instructions.
Johor Bahru to Batam
For Batam, you’ll need to complete international travel formalities before departure and after arrival.
That means allowing more time and checking your documents before leaving home.
Passport Requirements for Batam
A valid passport is required for the Johor Bahru to Batam ferry.
The supplied route information advises that your passport should have at least six months of validity from your arrival date.
Visa and entry requirements depend on nationality, so check the current Indonesian rules that apply to you before travelling.
When entering passenger details during booking, make sure your name, nationality, date of birth and passport information match your travel document exactly.
Indonesian Digital Arrival Card
The supplied route information states that the Indonesian Digital Arrival Card is compulsory and should be completed at least 72 hours before arrival.
The application is listed as free and generates a QR code for immigration or customs processing.
Because entry procedures can change, verify the current requirement before travel rather than relying on an older saved form or screenshot.
Other Things to Know Before Travelling to Batam
A few practical points are worth sorting out before departure:
- Carry Indonesian Rupiah. Not every shop or service may accept foreign currency or cards.
- Book a return ticket if required. The supplied route information advises tourists and non-resident visitors to have a return ferry ticket.
- Check visa rules. Requirements depend on nationality.
- Leave time for immigration. International check-in takes longer than a domestic ferry journey.
- Check the arrival terminal. Batam Centre, Harbour Bay and Nongsa Pura serve different parts of the island.
- Watch the weather. Sea and weather conditions can affect ferry schedules.
How to Book Ferry Tickets Online
The booking process is similar for both routes, but the Batam leg requires more passenger information.
Kuala Perlis to Langkawi
- Select Kuala Perlis as the departure point.
- Select Langkawi or Kuah Jetty as the destination.
- Choose your travel date.
- Enter the number of passengers.
- Compare available departures, fares and journey times.
- Select the preferred sailing.
- Enter the required passenger details.
- Complete payment.
- Save your M-Ticket or confirmation.
Johor Bahru to Batam
- Select Johor Bahru as the departure point.
- Select your preferred Batam destination terminal.
- Choose the travel date.
- Compare operators, journey times and fares.
- Enter passenger details exactly as shown on the passport.
- Add passport information where required.
- Review immigration and entry requirements.
- Complete payment.
- Save your M-Ticket or booking confirmation.
Double-check the departure and arrival terminals before paying, especially on the Batam route.
Which Johor Bahru Terminal Should You Choose?
Your best departure terminal depends on the service available and where you’re starting from in Johor.
Stulang Laut
Stulang Laut is used by several services to Batam, including routes to Batam Centre.
Pasir Gudang
Some operators use Pasir Gudang for services to Batam.
Puteri Harbour
Puteri Harbour International Ferry Terminal is another departure option, depending on the operator and destination.
Don’t assume that every operator serves every Batam terminal. Check the full route before booking.
Which Batam Arrival Terminal Is Best?
The best arrival terminal depends on where you’re staying.
Batam Centre
Batam Centre is a common arrival point and may be convenient if you’re staying around central Batam.
Harbour Bay
Harbour Bay can be more convenient for accommodation and dining around that part of the island.
Nongsa Pura
Nongsa Pura serves the Nongsa area and may make more sense if your resort is nearby.
Before booking, compare the ferry price with the ground transfer you’ll need after arrival.
Common Booking Mistakes to Avoid
Looking only at the cheapest fare
The cheapest Batam ticket may arrive at a terminal that is less convenient for your accommodation.
Choosing the wrong terminal
Johor Bahru and Batam both have multiple terminals. Read the full route before completing payment.
Entering passport details incorrectly
For the Batam route, passenger information should match the passport exactly.
Arriving too late
Domestic and international ferry services have different check-in requirements. Give yourself more time for the Batam crossing.
Forgetting entry requirements
A ticket alone isn’t enough for an international journey. Check passport validity, visa rules and any arrival-form requirements before departure.
The Bottom Line
The Kuala Perlis to Langkawi ferry is the simpler of the two journeys. It’s a domestic crossing to Kuah Jetty, takes around 2 hours 30 minutes and currently has one-way fares listed from about RM45.
The Johor Bahru to Batam ferry requires more planning because it’s an international route with multiple departure and arrival terminals. Journey times range from around 1 hour to 2 hours 50 minutes, with fares starting from roughly SGD31.05.
For Langkawi, focus on choosing a suitable departure time and arriving 45 to 60 minutes early. For Batam, check the terminal, passport validity, entry requirements and arrival-card rules before you travel.
Whichever route you choose, confirm the final fare, departure time and terminal for your actual travel date before booking.
Frequently Asked Questions
How long is the Kuala Perlis to Langkawi ferry?
The current route information gives an average journey time of about 2 hours 30 minutes.
How much is the Kuala Perlis to Langkawi ferry?
The listed one-way adult fare starts from around RM45. The final price can vary depending on the travel date and ticket conditions.
Where does the Kuala Perlis ferry arrive in Langkawi?
It arrives at Kuah Jetty.
How early should I arrive at Kuala Perlis Ferry Terminal?
Plan to arrive around 45 to 60 minutes before departure. The boarding gate is listed as closing around 10 minutes before the ferry leaves.
How long is the Johor Bahru to Batam ferry?
Journey time depends on the operator and destination terminal. Current services range from roughly 1 hour to 2 hours 50 minutes, with an average of about 1 hour 58 minutes.
How much is the JB to Batam ferry?
Current fares start from around SGD31.05. The final price depends on the operator, route, departure time and travel class.
Do you need a passport for Batam?
Yes. Batam is in Indonesia, so international travellers need a valid passport and must meet the applicable Indonesian entry requirements.
How long should your passport be valid for Batam?
The supplied route information advises at least six months of passport validity from the arrival date.
Where does the Johor Bahru to Batam ferry leave from?
Depending on the service, departures can be from Stulang Laut Ferry Terminal, Pasir Gudang or Puteri Harbour International Ferry Terminal.
Where does the Batam ferry arrive?
Current route options include Batam Centre Ferry Terminal, Harbour Bay Ferry Terminal and Nongsa Pura.
Can you book both routes online?
Yes. Select the route, date and passenger details, compare available sailings and complete payment online. For Batam, make sure your passport information is entered accurately.