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 330km 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!

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 81 MYR ($18) to 322 MYR ($73).

3 ways to get from Kuala Lumpur to Perhentian Islands

Transport ModeDurationCostsAvailability
Bus8.5 hours81 MYR ($18)Check Bus Tickets
Flight via Kota Bharu3hr 15m147 MYR ($33)Check Flights
Flight via Kuala Terengganu4 hours322 MYR ($73)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 81 MYR ($18).

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. Although airfares from Kuala Lumpur to Kota Bharu can be quite cheap, this option involves several transfers. Fares start at 147 MYR ($33) for the 3-hour-15-minute journey (excluding the waiting time at the airport) from Kuala Lumpur to Perhentian Islands via Kota Bharu.

An alternative option when taking the flight from Kuala Lumpur to Perhentian Islands is via Kuala Terengganu. Airfares are even cheaper for this option, but you’ll need a longer and more expensive land transfer from Kuala Terengganu to Kuala Besut Jetty. Total fares start from 322 MYR ($73).

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.50) conservation fee, while for Malaysians, it’s 5 MYR ($1.10).

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 in these main islands as 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 the backpackers and party-goers, with cheaper accommodation here.

Booking accommodation on Kecil isn’t the easiest either, as 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 tropic 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

bus icon

Kuala Lumpur to Perhentian Islands by Bus


Duration: 8.5 hours
Cost: 81 MYR ($18) 

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 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 hours 45 minutes
Cost: 48 MYR ($10.50)

Day and night buses are available at Kuala Lumpur Bus Terminal (TBS), located 13km 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 connection to the Perhentian Islands. This option is cheaper, as you’re saving a night in accommodation. Malaysian roads are generally in good condition, and travelling by night is very common.

Ticket prices start from 48 MYR ($10.50) and travel time is 7 hours 45 minutes.

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:15
23:30-07:15
48 MYR ($10.50)
Buy Your Bus Tickets
Ekspres Perdana10:00-17:45
22:00-05:45
48 MYR ($10.50)
Buy Your Bus Tickets
Ekspres Mutiara22:00-05:45
22:30-06:15
48 MYR ($10.50)
Buy Your Bus Tickets
Moraza Express00:30-08:15
22:45-06:30
53 MYR ($12)
Buy Your 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 very short taxi ride if you’re carrying huge luggage.

Step 2: Kuala Besut to Perhentian Islands by Ferry

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

Ferries from Kuala Besut to Perhentian Islands are available at Jetty Kuala Besut. As of June 2022, there are only 2 ferries operating this route.

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

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

You can buy your ticket at the jetty, but we highly recommend booking online to be guaranteed a seat. Below are the schedules and corresponding booking links.

Ferry 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)
Buy Your Ferry Tickets
Mieha Holidays
(to Perhentian Kecil)
Every hour from
08:00 to 16:00
45 minutes38 MYR ($8.50)
Buy Your 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.

plane icon

Kuala Lumpur to Perhentian Islands by Flight via Kota Bharu


Duration: 3 hours 15 minutes
Cost: 147 MYR ($33) 

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 as 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 minutes to 1 hour
Cost: 12 MYR ($2.70)

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

If you’re travelling during peak hours, we recommend taking the train to avoid the 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: 1 hour 5 minutes
Cost: 71 MYR ($16) 

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

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

Check Flights with Skyscanner

Step 3: Kota Bharu to Kuala Besut by Minivan or Taxi

Duration: 1 hour
Cost: 31 MYR ($7)

From Kota Bharu Airport, you’ll then have to travel south via minivan or taxi to Kuala Besut Jetty.

The minivan is the cheaper option at only 31 MYR ($7). They pick you up from the airport and take you straight to Kuala Besut Jetty, making it a really good option if it matches your flight’s arrival time.

Minivan schedule from Kota Bharu Airport to Kuala Besut

Minivan CompanyScheduleCosts
Perhentian Trans Holiday*08:00-09:00
11:00-12:00
15:00-16:00
31 MYR ($7)
Buy Your Van Tickets
*COVID-19 UPDATE: This minivan has not yet resumed operations. Please check the provided link to see if anything has changed.

Since the minivan is unavailable though, your best option is to take a taxi. Fares start from 80 MYR ($18) for the 1-hour ride to Jetty Kuala Besut. You can also ride with 3 more persons 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)

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 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)
Buy Your Ferry Tickets
Mieha Holidays
(to Perhentian Kecil)
Every hour from
08:00 to 16:00
45 minutes38 MYR ($8.50)
Buy Your Ferry Tickets
plane icon

Kuala Lumpur to Perhentian Islands by Flight via Kuala Terengganu


Duration: 4 hours
Cost: 322 MYR ($73) 

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 minutes to 1 hour
Cost: 12 MYR ($2.70)

Kuala Lumpur International Airport is located some 55km south of the city centre. To cover this distance, you can take a train for 50 MYR ($11), a bus for 12 MYR ($2.70), or a taxi from 75 MYR ($17). Travel time is 30 minutes to 1 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: 57 MYR ($12.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 2 carriers: Air Asia and Malaysia Airlines. Airfares start from 57 MYR ($12.50) for the 1-hour flight to Sultan Mahmud Airport.

Check Flights with Skyscanner

Step 3: Kuala Terengganu to Kuala Besut by Taxi

Duration: 1 hour 45 minutes
Cost: from 220 MYR ($49.50)

From Sultan Mahmud Airport in Kuala Terengganu, your best option to travel the 95km to Kuala Besut Jetty is a taxi. Taxi fares start from 220 MYR ($49.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 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)

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 located so that you can board the correct ferry!

Ferry 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)
Buy Your Ferry Tickets
Mieha Holidays
(to Perhentian Kecil)
Every hour from
08:00 to 16:00
45 minutes38 MYR ($8.50)
Buy Your Ferry Tickets

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!

Let us improve this post!

Tell us how we can improve this post?

249 views
Copy link
Powered by Social Snap