Wondering how to get to the Perhentian Islands?
The best – and hardest – part about visiting this underrated destination is that it’s remote.
Located on the northeast coast of Peninsular Malaysia, the Perhentian Islands are only accessible by ferry – and that’s after you’ve made the effort to take a bus or flight to the nearest beach town, Kuala Besut.
However, I easily made my way to the Perhentian Islands – and you can do the same, no matter where you are right now.
So, let’s jump into exactly how to get to the Perhentian Islands by ferry, and your best bus and flight routes to reach the ferry terminal.
I visited the Perhentian Islands directly after spending five days in Malaysia’s oldest rainforest – so bookmark my Taman Negara guide if you’re looking for another offbeat destination on the peninsula.
Disclosure: This post includes affiliate links. If you decide to click through and make a qualifying purchase, I will receive a small commission at no extra cost to you – thanks for your support.
QUICK INFORMATION
Best time to visit: March to September
How to get there: Ferry from Kuala Besut to Perhentian
Budding diver?
You can get your Open Water Diver PADI certification on the Quiver Dive Team diving course in Perhentian 🤿
Where are the Perhentian Islands?
The Perhentian Islands are on the northeast coast of Peninsular Malaysia. They are around 12.4 miles (20 kilometres) from the mainland.
To reach them, you need to travel to Kuala Besut by bus or flight, and then take a ferry.
The nearest airport to Kuala Besut is Kota Bharu, 57 kilometres away (a one-hour taxi).
How to Get to the Perhentian Islands
There is no airport on the Perhentian Islands.
Therefore, no matter what you do, you need to take a ferry to and from the islands.

Let’s cover that first…
How to Get the Ferry to the Perhentian Islands
The ferry to the Perhentian Islands departs from Kuala Besut Jetty. Kuala Besut is a small beach town on the northeast coast of Peninsular Malaysia.


There are two ways to get your ferry ticket:
- Purchase the ticket at the ferry terminal in Kuala Besut.
- Reserve your ticket online.
During high season, this can be a popular ferry route. I visited in February (low season) and my ferry (the final one, at 5pm) didn’t have any free seats.
Therefore, I’d say it’s better to reserve your ticket online.
I reserved my ticket from Kuala Besut to Perhentian for MYR 35 (£6) on 12Go.
The ferry takes 30 to 40 minutes to reach the islands.
It’s a bumpy crossing, so I recommend taking seasickness tablets before you board.
How to Get to Kuala Besut by Bus or Air
That leaves you with one final problem to solve – how to get to the ferry terminal in Kuala Besut.

Adam and Eve Beach in Perhentian
In most cases, if you are already travelling around Malaysia (e.g. in the Cameron Highlands or Taman Negara), you can take a bus to the Kuala Besut bus terminal and then catch a cheap taxi to the ferry terminal.
However, if you’re very far away (in Kuala Lumpur, Penang or Langkawi, for example), it’s quicker and easier to fly.

To quickly recap, the nearest airport to Kuala Besut ferry terminal is Kota Bharu (KBR).
From Kota Bharu airport, a taxi to the ferry terminal should cost RM 70 – 90 (£12 -16).
Flights! ✈️
Here’s why I use Skyscanner first and foremost…
Finding a good deal on flights can often cut the cost of your trip in half. I use the ‘Whole Month‘ and ‘Price Alerts‘ tools to compare prices across different dates.
Kuala Lumpur to the Perhentian Islands
- Bus – Kuala Lumpur to Kuala Besut takes 9.5 hours. Cost: MYR 55 (£10)
- Flight – Kuala Lumpur to Kota Bharu takes 1 hour. Cost: MYR 55 (£10).
Day or overnight buses are available.
However, with the bus journey taking 9.5 hours, it should be a no-brainer to take a flight for the same price.
The only extra costs involved in flying will be the taxi to the airport and a taxi from Kota Bharu to the Kuala Besut jetty (RM 70 – 90).
Penang to the Perhentian Islands
- Bus – Penang to Kuala Besut takes 7 – 8 hours. Cost: from MYR 55 (£10)
- Flight – Penang to Kota Bharu takes 1 hour. Cost: from MYR 110 (£20)
Flying from Penang is double the price of taking the bus.
Therefore, this decision will mainly come down to whether you’re travelling on a very strict budget.
Langkawi to the Perhentian Islands
- Connecting flight – Langkawi to Kota Bharu (connecting in Kuala Lumpur) takes 3 – 5 hours. Cost: from 143 MYR (£25)
There aren’t any direct flights from Langkawi to Kota Bharu, so you will need to take a connecting flight in Kuala Lumpur.
I don’t recommend the alternative, which is a 10-hour journey consisting of a 1h30 ferry (to Kuala Perlis or Kuala Kedah) followed by a nearly 8-hour bus.
Taman Negara to the Perhentian Islands
I took the bus from Taman Negara to the Perhentian Islands.
This bus service is operated by NKs Hotel and Travel, the same bus I took from Kuala Lumpur to Kuala Tahan (the town at the entrance to Taman Negara).

You can book the bus from Kuala Tahan to Kuala Besut on 12Go or book it through one of the town’s travel agencies (usually for a higher price).
It should cost MYR 121 (£21). The bus departs at 8am every morning and takes 7 hours and 30 minutes to reach Kuala Besut jetty.
I suggest that you book the last ferry, just in case you arrive late. My bus ran late, and I nearly missed the last ferry.
Cameron Highlands to the Perhentian Islands
There is a daily bus from Tanah Rata (Cameron Highlands) to Kuala Besut Jetty for MYR 104 (£18), which can be booked on 12Go or directly at the station.
There’s only one daily departure at 8am, so I suggest that you buy your ticket online or visit the station one or two days in advance.
The bus takes 8 hours to reach the jetty.
Remember, the last ferry to Perhentian is at 5pm, so if you’re even a little late, you’ll probably need to stay overnight in Kuala Besut.
If you need a last-minute hote, Ain Hotel and Roomstay By Abe Cottage are the best-rated hotels within two minutes’ walk of the ferry terminal.
I hope you found this guide on how to get to the Perhentian Islands useful!
Suggested reading:
- Taman Negara guide – how to visit Malaysia’s oldest rainforest