Kuala Lumpur to Perhentian Islands

Last updated:

Overview Compare Bus Kota Bharu Kuala Terengganu

How to get from Kuala Lumpur to Perhentian Islands

The Perhentian Islands are a small group of islands in Kuala Terengganu, off Malaysia’s east coast. They are famous for their coral-sand beaches, turquoise waters, amazing underwater life, and lush jungles. Located 330 km from Kuala Lumpur, there is no direct way to reach the Perhentian Islands. As a result, they receive relatively fewer tourists compared to other islands in Malaysia!

3 ways to get from Kuala Lumpur to Perhentian Islands

You have 3 options when travelling from Kuala Lumpur to Perhentian Islands: an 8.5-hour bus and ferry, a 3-hour-15 minute flight (including transfers) via Kota Bharu, or a 4-hour flight (including transfers) via Kuala Terengganu. All options include a ferry ride from Kuala Besut to the Perhentian Islands. Fares range from 70 MYR ($15) to 365 MYR ($78).

Transport ModeDurationCostsAvailability
Bus8.5 hours70 MYR ($15)Check Bus Tickets
Flight via Kota Bharu3hr 15m225 MYR ($48.50)Check Flights
Flight via Kuala Terengganu4 hours365 MYR ($78)Check Flights

The combination of the bus and ferry is the cheapest option when travelling from Kuala Lumpur to Perhentian Islands. Day buses are available, but there’s no day bus that will bring you to the ferry terminal in time for the last ferry. Your only option is to take a night bus unless you’re planning to stay the night in Kuala Besut. Combined bus and ferry fares start from 70 MYR ($15).

There is no airport on any of the Perhentian Islands. The nearest airport is located at Kota Bharu, so you’ll have to fly to this airport first. This option involves several transfers, so travel time can take up to 3.5 hours (excluding the waiting time at the airport). Combined fares start from 225 MYR ($48.50).

An alternative option when taking the flight from Kuala Lumpur to Perhentian Islands is via Kuala Terengganu. While airfares are the same as the other flight option, you’ll need a longer and more expensive land transfer from Kuala Terengganu to Kuala Besut Jetty. Total fares start from 365 MYR ($78), and the entire trip takes 4 hours.

All ferries bound for the Perhentian Islands depart from Kuala Besut Jetty. Ferries are available daily from 08:00 to 17:00. At the jetty, non-Malaysian citizens are required to pay 30 MYR ($6) conservation fee, while for Malaysians, it’s 5 MYR ($1.05).

The Perhentian Islands

The Perhentian Islands are made up of 7 islands – the 2 main islands being Perhentian Besar and Perhentian Kecil. All accommodation options can be found on these main islands because the other 5 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 accommodation.

Booking accommodation 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, monitor lizard or gecko!

Itinerary from Kuala Lumpur to Perhentian Islands

Kuala Lumpur to Perhentian Islands by Bus

Duration: 8.5 hours
Cost: 70 MYR ($15) 
Duration: 8.5 hours
Cost: 70 MYR ($15) 

Travelling by bus from Kuala Lumpur to Perhentian Islands only takes you up to Kuala Besut, a town in Terengganu. This town is directly on the west of the Perhentian Islands.

From Kuala Besut, you’ll need to take a ferry to either Besar or Kecil.

Step 1: Kuala Lumpur to Kuala Besut by Bus

Duration: 7.5 hours
Cost: 37 MYR ($7.50)
Duration: 7.5 hours
Cost: 37 MYR ($7.50)

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. You can take a day bus, but you would also 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.

Ticket prices start from 37 MYR ($7.50) and travel time is 7.5 hours.

Below are our recommended bus schedules from Kuala Lumpur to Kuala Besut.

Bus schedule from Kuala Lumpur to Kuala Besut

Bus CompanyScheduleCosts
Sani Express09:30-17:05
23:30-07:05
37 MYR ($7.50)
Check Bus Tickets
Queen Express09:30-17:05
21:30-05:05
22:00-05:35
48 MYR ($10)
Check Bus Tickets
Ekspres Perdana10:00-17:35
22:00-05:35
48 MYR ($10)
Check Bus Tickets
Ekspres Mutiara10:00-17:35
22:30-06:05
48 MYR ($10)
Check Bus Tickets
Moraza Express00:30-08:05
22:45-06:30
53 MYR ($11)
Check Bus Tickets

You will be dropped off at Kuala Besut Bus Terminal, which is just a 15-minute walk to the jetty. You can also take a short taxi ride if you’re carrying bulky luggage.

Step 2: Kuala Besut to Perhentian Islands by Ferry

Duration: 40-45 minutes
Cost: 33 MYR ($7)
Duration: 40-45 minutes
Cost: 33 MYR ($7)

Ferries from Kuala Besut to Perhentian Islands are available at Jetty Kuala Besut. There are two ferries on this route: Seven Seas and Mieha Holidays.

Seven Seas sails to Perhentian Besar. The ferry ride takes 40 minutes and costs 33 MYR ($7).

Meanwhile, a ferry ride with Mieha Holidays to Perhentian Kecil takes 45 minutes, so fares are a bit more expensive at 38 MYR ($8).

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.

Ferry schedule from Kuala Besut to Perhentian Islands

Ferry CompanyScheduleDurationCosts
Seven Seas
(to Perhentian Besar)
Every hour from
08:00 to 17:00
40 minutes33 MYR ($7)
Check Ferry Tickets
Mieha Holidays
(to Perhentian Kecil)
Every hour from
08:00 to 16:00
45 minutes38 MYR ($8)
Check Ferry Tickets

PRO TIP: The ferry to Kecil docks on Long Beach, which is convenient for people staying on this beach. However, if you’ve decided to stay on Coral Beach, the other main beach on the opposite side of the island, you’ll either have to get a boat taxi or tackle the jungle path across the island.

Kuala Lumpur to Perhentian Islands by Flight via Kota Bharu

Duration: 3hrs 15m
Cost: 225 MYR ($48.50) 
Duration: 3hrs 15m
Cost: 225 MYR ($48.50) 

If you must really take a flight from Kuala Lumpur to Perhentian Islands, we recommend that you take one via Kota Bharu. Travelling to the Perhentian Islands is more accessible from Kota Bharu because it’s closer to Kuala Besut, so tourists often pick this route.

Flights bound for Kota Bharu are available at both Kuala Lumpur International Airport (KLIA) and Sultan Abdul Aziz Shah Airport. Since it’s normally cheaper to depart from KLIA, we’ll focus on that route.

Step 1: Kuala Lumpur City Centre to Airport

Duration: 30-60 minutes
Cost: 12 MYR ($2.55)
Duration: 30-60 minutes
Cost: 12 MYR ($2.55)

First, you’ll have to travel around 55 km south of the city centre to Kuala Lumpur Airport. You can take a 30-minute train for 50 MYR ($10.50), a 1-hour bus for 12 MYR ($2.55), or a 1-hour taxi from 75 MYR ($16).

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

Duration: 1hr 5min
Cost: 100 MYR ($21.50) 
Duration: 1hr 5min
Cost: 100 MYR ($21.50) 

The nearest airport to Kuala Besut is Sultan Ismail Petra Airport in Kota Bharu, located around 55 km north.

Air Asia and Malaysia Airlines both offer daily flights from Kuala Lumpur Airport to Kota Bharu. Flight fares start from 100 MYR ($21.50), and the flight takes a little over an hour.

Check Flights with Skyscanner

Step 3: Kota Bharu to Kuala Besut by Taxi

Duration: 1 hour
Cost: 80 MYR ($17)
Duration: 1 hour
Cost: 80 MYR ($17)

From Kota Bharu Airport, you’ll then have to travel south by taxi to Kuala Besut Jetty. There used to be a minivan on this route, but they haven’t resumed operations since the pandemic.

Your best option then is to take a taxi. Fares start from 80 MYR ($17) for the 1-hour ride to Jetty Kuala Besut. You can also ride with 3 more people in the taxi and split the total cost among your group.

Step 4: Kuala Besut to Perhentian Islands by Ferry

Duration: 40-45 minutes
Cost: 33 MYR ($7)
Duration: 40-45 minutes
Cost: 33 MYR ($7)

Finally, you’ll need to take a ferry from Kuala Besut to the Perhentian Islands. Fares start from 33 MYR ($7) and travel time is around 40-45 minutes, depending on your destination.

See below the ferry schedules and booking links to the ferry operators for the main Perhentian Islands.

Ferry schedule from Kuala Besut to Perhentian Islands

Ferry CompanyScheduleDurationCosts
Seven Seas
(to Perhentian Besar)
Every hour from
08:00 to 17:00
40 minutes33 MYR ($7)
Check Ferry Tickets
Mieha Holidays
(to Perhentian Kecil)
Every hour from
08:00 to 16:00
45 minutes38 MYR ($8)
Check Ferry Tickets

Kuala Lumpur to Perhentian Islands by Flight via Kuala Terengganu

Duration: 4 hours
Cost: 365 MYR ($78) 
Duration: 4 hours
Cost: 365 MYR ($78) 

An alternative when taking the flight from Kuala Lumpur to Perhentian Islands is via Kuala Terengganu. Although Kuala Besut and the Perhentian Islands are part of Kuala Terengganu, travelling this route requires a longer travel time compared to the Kota Bharu option.

Another important thing to note is that although airfares from Kuala Lumpur are often cheaper, the taxi ride from Kuala Terengganu to Kuala Besut is more expensive.

Step 1: Kuala Lumpur City Centre to Airport

Duration: 30-60 minutes
Cost: 12 MYR ($2.55)
Duration: 30-60 minutes
Cost: 12 MYR ($2.55)

Kuala Lumpur International Airport is located some 55 km south of the city centre. To cover this distance, you can take a train for 50 MYR ($10.50), a bus for 12 MYR ($2.55), or a taxi with rates from 75 MYR ($16). Travel time is 30 minutes to an hour.

To find out which is the best option for you, check out our page on Kuala Lumpur Airport.

Step 2: Kuala Lumpur to Kuala Terengganu by Flight

Duration: 1 hour
Cost: 100 MYR ($21.50)
Duration: 1 hour
Cost: 100 MYR ($21.50)

Flights from Kuala Lumpur to Kuala Terengganu depart from both Kuala Lumpur International Airport (KLIA) and Sultan Abdul Aziz Shah Airport. However, we prefer KLIA because airfares are normally 50% cheaper from there.

You can choose from two carriers: Air Asia and Malaysia Airlines. Airfares start from 100 MYR ($21.50) for the 1-hour flight to Sultan Mahmud Airport.

Check Flights with Skyscanner

Step 3: Kuala Terengganu to Kuala Besut by Taxi

Duration: 1hr 45m
Cost: from 220 MYR ($47.50)
Duration: 1hr 45m
Cost: from 220 MYR ($47.50)

From Sultan Mahmud Airport in Kuala Terengganu, your best option to travel the 95 km to Kuala Besut Jetty is a taxi. Taxi fares start from 220 MYR ($47.50) for the almost 2-hour journey.

There is also an option to take a bus, but there is no direct bus to Kuala Besut Jetty. You need to first take a bus to Jerteh and then a taxi to the jetty. With this option, travel time can take much longer, around 3 hours.

Step 4: Kuala Besut to Perhentian Islands by Ferry

Duration: 40-45 minutes
Cost: 33 MYR ($7)
Duration: 40-45 minutes
Cost: 33 MYR ($7)

For the last leg of your journey, you’ll have to take a ferry from Kuala Besut to Perhentian Islands. Ticket rates start from 33 MYR ($7) for the 40 to 45-minute ride.

Make sure to know which island your hotel is so that you can board the correct ferry!

Ferry schedule from Kuala Besut to Perhentian Islands

Ferry CompanyScheduleDurationCosts
Seven Seas
(to Perhentian Besar)
Every hour from
08:00 to 17:00
40 minutes33 MYR ($7)
Check Ferry Tickets
Mieha Holidays
(to Perhentian Kecil)
Every hour from
08:00 to 16:00
45 minutes38 MYR ($8)
Check Ferry Tickets

You can book your ferry tickets in advance via 12GoAsia.

More routes to Perhentian Islands

Kuala Lumpur to Perhentian Islands

More routes from Kuala Lumpur

Kuala Lumpur Airport

Kuala Lumpur to Cameron Highlands

Kuala Lumpur to Langkawi

Kuala Lumpur to Penang

Kuala Lumpur to Singapore

Kuala Lumpur to Taman Negara

Kuala Lumpur to Tioman Island

Most popular routes in Malaysia

Langkawi to Koh Lipe

Kota Kinabalu to Kuala Lumpur

Kuala Lumpur to Cameron Highlands

Kuala Lumpur to Kota Kinabalu

Kuala Lumpur to Penang

Was this post helpful?

Click on a star to rate it!

Average rating 0 / 5. Vote count: 0

No votes so far! Be the first to rate this post.

As you found this post useful...

Follow us on social media!

We are sorry that this post was not useful for you!

Your feedback is very valueable to us

How we can improve this post?

498 views