
How to Get From Kuala Lumpur to Perhentian Islands
Bus · Flight · Flight via Kuala Terengganu · Private taxi + boat
In this in-depth route guide, you'll find the best ways to travel the 330 kilometre (205 miles) distance from Kuala Lumpur to Perhentian Islands. By the end of this guide, you'll know exactly how to get there — whether you want to travel on a budget, reach Perhentian Islands as fast as possible, or enjoy the ride in comfort. We base our information on verified schedules, ticket prices, and on-the-ground insights from recent travellers.
Where to stay when visting the Perhentian Islands
The Perhentian Islands are made up of 7 islands — the two main islands being Perhentian Besar and Perhentian Kecil. You can find all accommodation options on these main islands because the other five aren't inhabited. Besar, with its more high-end lodgings, is perfect for honeymooners or families on holiday, whereas Kecil is more for backpackers and party-goers with its cheaper accommodations. Booking a hotel on Kecil isn't the easiest either. The majority of the accommodations don't advertise online. You'll be able to book a select few in advance, but a lot of places only take walk-in bookings, which can be quite risky in the busy summer months. Wherever you're staying in the Perhentian Islands, you're sure to have a great time underwater. Snorkelling and diving are the most popular activities, but just swimming in its clear waters is enough to give you a tropical boost. We also highly recommend trekking through its jungles. Just watch out for the occasional venomous spider or monitor lizard!What are the 4 ways to travel from Kuala Lumpur to Perhentian Islands?
There are four ways to travel the 330 km distance from Kuala Lumpur to Perhentian Islands. You can choose between the bus, flight, flight via Kuala Terengganu, and private taxi + boat.
The journey takes between 40m–6h 45m and the quickest way is by private taxi + boat (40m). If you're on a budget, the cheapest option is by bus with tickets starting at 51 MYR ($13).
6h 45m - 10h 30m
51 MYR ($13)
3h 5m - 3h 45m
110 MYR ($28)
3h 40m - 4h 30m
245 MYR ($62)
5h 40m
1,830 MYR ($465)
Kuala Lumpur to Perhentian Islands by Bus
Travelling by bus from Kuala Lumpur to Perhentian Islands takes you up to Kuala Besut in Terengganu. This town is directly on the west of the Perhentian Islands.
From Kuala Besut, you can take a ferry to either Besar or Kecil.
Step 1: Kuala Lumpur to Kuala Besut by Bus
Day and night buses are available at Kuala Lumpur Bus Terminal (TBS), about 13 km south of the city centre. When taking the bus from Kuala Lumpur to Kuala Besut, you need to consider the ferry schedules. Note that the ferries to Perhentian Islands are available only from 08:00 to 17:00.
With the current bus and ferry schedules, there is no day bus that would let you arrive in time for the last ferry trip. When you take a day bus, you will have to spend the night in Kuala Besut and take the ferry the next morning.
It’s best to take a night bus so that you can make it in time for an early morning ferry transfer to the Perhentian Islands. This option is also cheaper because you’re saving a night on accommodation. Malaysian roads are generally in good condition, and travelling by night is quite common.
Bus ticket prices start from 26.5 MYR ($6.80) and travel time is 6h 15m - 9h 35m.
Booking Tip
Step 2: Kuala Besut to Perhentian Islands by Ferry
Ferries from Kuala Besut to Perhentian Islands are available at Jetty Kuala Besut. There are plenty of boat companies operating on this route. Many hotels also offer their own pickup and drop-off services.
You can buy your boat tickets at the pier. But if you want to skip the queues, you can just book one online via BookAway, 12go.Asia or Direct Ferries.
Ticket prices start from 24 MYR ($6.10) for shared ferries. When travelling in a big group, you can also consider hiring a 10-seater private boat for 350 MYR ($90).
You can buy your ticket at the Jetty, but we highly recommend booking online to secure a seat. Below are the schedules and corresponding booking links.
*Indicated prices for Perhentian Sunny Travel and Said Bonaza Express are for roundtrip boat rides. They don’t allow one-way ferry bookings.
Ready to book your ferry?
Which ferry company to take
When choosing which boat company to take from Kuala Besut to the Perhentian Islands, it’s first important to know where your hotel is located. Is it in Perhentian Besar or Perhentian Kecil? Which beach is nearest to your accommodation? After answering the questions above, you can now choose which company to pick from the choices below:Seven Seas
When heading to Perhentian Besar, we recommend travelling with Seven Seas. This company allows drop-off at any hotel on the island, or at least the nearest beach to your hotel. You can book a ticket online through BookAway.Pulau Perhentian Terminal and Perhentian Trans Holiday
Pulau Perhentian Terminal and Perhential Trans Holiday are good alternatives. However, unlike Seven Seas, they only have one drop-off point on Perhentian Besar. That’s at Teluk Pauh on the island’s west coast. The good thing is: Teluk Pauh is a beautiful white sand beach. You can start chilling as soon as you get off the boat! You can book Pulau Perhentian Terminal and Perhential Trans Holiday online via 12go.Asia.Perhentian Boat Services, Perhentian Sunny Travel and Said Bonaza Express
Are you heading to Perhentian Kecil? If yes, you can choose from these three companies: Perhentian Boat Services, Perhentian Sunny Travel and Said Bonaza Express. They have drop-off points in the following beaches:- Perhentian Besar: Arwana Eco Resort, Marine Park, and Perhentian Island Resort
- Perhentian Kecil: Coral Bay, Fisherman Village, and Long Beach
Kuala Lumpur to Perhentian Islands by Flight via Kota Bharu
When taking a flight from Kuala Lumpur to Perhentian Islands, we recommend that you get one via Kota Bharu. Travelling to the Perhentian Islands is more accessible from Kota Bharu. It’s closer to Kuala Besut, so tourists often pick this route.
All flights bound for Kota Bharu depart from Kuala Lumpur International Airport (KUL). Keep this in mind because previously, there were also flights departing from Sultan Abdul Aziz Shah Airport (SZB).
Step 1: Kuala Lumpur City Centre to Airport
First, you will travel around 55 km south of the city centre to Kuala Lumpur Airport. You have 3 options: a 30-minute train for 50 MYR ($13), a 1-hour bus for 12 MYR ($3.10), or a 1-hour taxi from 75 MYR ($19).
If you’re travelling during peak hours, we recommend taking the train to avoid heavy traffic in the city. You can check out our page on Kuala Lumpur Airport for more details.
Step 2: Kuala Lumpur to Kota Bharu by Flight
The nearest airport to Kuala Besut is Sultan Ismail Petra Airport in Kota Bharu, located around 55 km north.
Air Asia, Malaysia Airlines and MYAirlines offer daily flights from Kuala Lumpur Airport to Kota Bharu. Flight fares start from 50 MYR ($13), almost the same price as a bus ticket. The flight takes a 1h 5min.
TOP TIP: Take an early flight, preferably before noon, to make it in time for the last boat in Kuala Besut. This departs for Perhentian Islands at 17:00. Keep in mind that Kuala Besut is still 1 hour away from Kota Bharu Airport.
Step 3: Kota Bharu to Kuala Besut by Van or Taxi
From Kota Bharu Airport, there are 2 ways you can reach Kuala Besut Jetty: by shared minivan for 30.5 MYR ($7.80) or by taxi with rates from 100 MYR ($26).
The minivan is cheaper and a good option when travelling alone or with just one other companion. the journey is 1h long.
Minivans run on a schedule though, and there are only three trips operating from Kota Bharu Airport to Kuala Besut daily. You can buy your tickets at the airport. But for a better chance of securing a minivan seat, we recommend booking online in advance through BookAway.
Ready to book your minivan?
Option 2: Private transfer from Kota Bharu to Kuala Besut
When travelling in a group, it will be more convenient to take a private transfer from Kota Bharu Airport to Kuala Besut. Rates start from 100 MYR ($26) for a 3-seater car. Divide the cost by 3 and it’s about the same price as a minivan ticket. We like booking our private ride with BookAway because it offers comfortable cars (generally better than regular taxis) with professional drivers.Step 4: Kuala Besut to Perhentian Islands by Ferry
*Indicated prices for Perhentian Sunny Travel and Said Bonaza Express are for roundtrip boat rides. They don’t allow one-way ferry bookings.
Ready to book your ferry?
Booking Tip
TIP: If you decide to travel by plane, please consider including a carbon compensation fee to reduce your impact on the environment.
Kuala Lumpur to Perhentian Islands by Flight via Kuala Terengganu
An alternative when taking the flight from Kuala Lumpur to Perhentian Islands is via Kuala Terengganu. Although Kuala Besut and the Perhentian Islands are both part of Kuala Terengganu, taking this route requires a longer travel time compared to the Kota Bharu option.
Another important thing to note: airfares from Kuala Lumpur are often cheap, but the taxi ride from Kuala Terengganu Airport to Kuala Besut is quite expensive.
Step 1: Kuala Lumpur City Centre to Airport
Step 2: Kuala Lumpur to Kuala Terengganu by Flight
Flights from Kuala Lumpur to Kuala Terengganu depart from Kuala Lumpur Airport. You can choose from two carriers: Air Asia and Malaysia Airlines.
Airfares range from 60 MYR ($15) to 120 MYR ($31) for the flight to Sultan Mahmud Airport which takes 1 hour.
Step 3: Kuala Terengganu to Kuala Besut by Taxi or Minivan
From Sultan Mahmud Airport in Kuala Terengganu, your best option to travel the 95 km to Kuala Besut Jetty is a taxi. Rates start from 155 MYR ($40) when you book your ride beforehand through BookAway. The journey takes 1h 40m - 1h 50m.
You can also get an airport taxi, but fares might be more expensive starting at 220 MYR ($56).
An indirect bus is cheaper, but it takes 3 hours
On a budget? Another option is to take an indirect bus from Sultan Mahmud Airport to Kuala Besut Jetty, but this takes over 3 hours.
First, you’ll need to catch a bus from the airport to Kuala Terengganu Bus Terminal. And then, you’ll have to transfer to another bus going to Jerteh. And finally, hop on a taxi to the Jetty. Combined costs start from 50 MYR ($13).
Ready to book your private transport?
Step 4: Kuala Besut to Perhentian Islands by Ferry
For the last leg of your journey, you’ll have to take a ferry from Kuala Besut to Perhentian Islands. Ticket prices start from 24 MYR ($6.10) and the journey is 30-40m long.
Make sure to know which island your hotel is so that you can board the correct ferry!
*Indicated prices for Perhentian Sunny Travel and Said Bonaza Express are for roundtrip boat rides. They don’t allow one-way ferry bookings.
Ready to book your ferry?
Booking Tip
TIP: If you decide to travel by plane, please consider including a carbon compensation fee to reduce your impact on the environment.
Kuala Lumpur to Perhentian Islands by Private taxi + boat
When you want to travel privately with your own group, there’s also an option to get a private car from Kuala Lumpur to Kuala Besut and then transfer to a private boat going to Perhentian Islands.
Combined rates cost around 1,830 MYR ($465), but can be cheaper if you decide to take a public boat from Kuala Besut to the Perhentian Islands.
Step 1: Kuala Lumpur to Kuala Besut by Taxi
For long-distance taxi journeys from Kuala Lumpur, we recommend booking your ride in advance. This way, you won’t have to haggle for the best rates, or risk getting a ride with a driver you don’t know if you can trust.
Get a taxi through your hotel, or book one through trusted platforms like Viator. You’ll most probably get a better car, and you can expect assistance in case there is any issue with your taxi journey.
Rates for a 4-seater car from Kuala Lumpur to Kuala Besut Jetty start from 1,700 MYR ($430).
Step 2: Kuala Besut to Perhentian Islands by Private Boat
Ready to book your private transport?
custom2
Rounding it up
We hope this guide was helpful in planning how to get from Kuala Lumpur to Perhentian Islands. If there's anything else you're wondering about, drop us a comment and we'll do our best to answer you within a few days.
PS: If you've recently travelled this route, share your experience with fellow travellers and help us improve this post. Thanks for helping out our travel community!
Frequently Asked Questions
There is actually a way to travel this route by train. But this takes the long way around because there are no direct trains from KL to Kuala Besut.
A train journey from Kuala Lumpur to Perhentian Islands will look like this:
- Train from Kuala Lumpur to Gemas: 2.5 hours
- Train from Gemas to Kota Bharu: 11.5 hours
- Minivan from Kota Bharu to Kuala Besut: 1 hour
- Boat from Kuala Besut to Perhentian Islands: 30 minutes
Travelling by train will take about 15.5 hours. And with combined costs starting from 145 MYR, it will be cheaper and more convenient to take a bus via Kuala Besut or a flight via Kota Bharu.
How We Research
Every route on Gecko Routes is independently researched and regularly verified.
500+
ROUTES RESEARCHED
Every route is personally travelled and documented by our team, covering Southeast Asia's most popular and off-the-beaten-path connections.
Monthly
UPDATES
Routes are reviewed on a regular cycle to catch schedule changes, new operators, and price updates. Every guide shows when it was last verified.
Verified
BY TRAVELLERS
Tips and corrections from our community of travellers help keep routes accurate between team visits. Your experience makes this guide better for everyone.
Affiliate Disclosure
Some links on this page are affiliate links. If you book through them, we earn a small commission at no extra cost to you. This helps us keep Gecko Routes free and up to date.






Reader Comments
No comments yet — be the first to share your experience!