Home / Getting there

Getting to the Perhentians from KL, Penang and Singapore

Last checked: October 2026

The Perhentian Islands seen from the northeast, from about 1,500 m up
Photo: Casarher, CC BY-SA 4.0

Quick pick. Fewest changes: the direct bus from TBS. Shortest airport transfer: Kota Bharu, 1 hour 15 minutes3 from Kuala Besut Jetty. Cheapest crossing: the shared boat at RM35–402 per adult one way, against RM4504 for a private boat.

Every route ends at the same jetty. The Perhentian Islands lie about 19 km2 off the coast of Besut District in Terengganu. The islands have no paved roads or airstrips5, so the last leg is always by boat, mainly by speedboat from Kuala Besut.

The route from Kuala Lumpur, step by step

  1. Get to TBS

    All buses from Kuala Lumpur to Kuala Besut leave from Terminal Bersepadu Selatan (TBS).

  2. Bus to Kuala Besut

    The ride averages 7 hours 45 minutes. Fares run from about RM40 to RM68.

  3. Pay the fees at the jetty

    Pay the RM30 Marine Park conservation fee and the RM20 jetty fee before entering the pier.

  4. Boat to the islands

    Shared boats leave hourly from 8 AM to 5 PM and take 30–45 minutes.

  5. Water taxi to your beach

    Hops between beaches cost about RM12, and the price is negotiable.

By bus from TBS

All buses from Kuala Lumpur to Kuala Besut leave from Terminal Bersepadu Selatan (TBS). Wikivoyage names Mutiara, Perdana, Sani and Mahligai as direct operators. BusOnlineTicket lists Sani Express, Perdana Express, MyXPress, Queen Express and E-Mutiara on the route.

Wikivoyage gives departures at 9AM and 9PM3, arriving in Kuala Besut around 5AM3. BusOnlineTicket’s guide text says the first bus leaves at 9:30am6 and the last at 9:30pm6, but its own table lists times from 01:00 to 23:306 across operators. Check the exact time when you book.

Fares vary by source. Easybook lists the TBS to Kuala Besut bus from RM67.801. BusOnlineTicket’s text says RM40–486, while its schedule table shows RM67.80 to RM68.206. Budget for about RM40 to RM681.

By air to Kota Bharu or Kuala Terengganu

The nearest airports are Kota Bharu (Sultan Ismail Petra Airport) and Kuala Terengganu (Sultan Mahmud Airport). Both have near-hourly2 flights to and from Kuala Lumpur. Firefly flies to Kota Bharu from Kuala Lumpur International and Subang.

The trip from Kota Bharu Airport to Kuala Besut Jetty takes 1 hour 15 minutes3. Malaysia’s official aeronautical publication lists bus or coach, limousine and taxi services at the airport. Perhentian Trans also runs a shuttle that picks passengers up at any time from Kota Bharu Airport. From Kota Bharu town, the City Liner bus #6393 runs to Kuala Besut roughly every hour3.

At Sultan Mahmud Airport, the official publication lists only taxis for ground transport, and there is an ATM. The ride to Kuala Besut takes about 2 hours3 according to Wikivoyage’s Kuala Besut page, though its main Perhentian page puts it closer to 1.5 hours2.

Kuala Besut jetty taxi fares, June 2018
Kuala Besut jetty taxi fares, June 2018. Photo: Bcd4e6, CC BY-SA 4.0

Boat departures from Kuala Besut Jetty

Shared boats between Kuala Besut Jetty and the islands

Perhentian Trans (operator)
Kuala Besut Jetty to the islands
  • 08:00
  • 09:00
  • 10:00
  • 11:00
  • 13:00
  • 14:00
  • 15:00
  • 17:00
Islands to Kuala Besut Jetty
  • 08:00
  • 10:00
  • 12:00
  • 16:00

Estimated times. besutjetty.com also lists a 16:00 boat from Kuala Besut. Transfers depend on the weather.

Perhentian Trans says its boats leave Kuala Besut every hour from 8 AM to 5 PM7. Its estimated list is shown above. The booking site besutjetty.com also lists a 16:004 departure from the jetty.

The operator’s timetable shows the 08:008 boat arriving at 08:408, a 40-minute8 scheduled crossing. Return boats are fewer: 8am, 10am, 12pm and 4pm9. If you have a bus or flight to catch on the way home, take an early boat.

What you pay

Boat fares and fees, Kuala Besut Jetty

TicketAdultChild
Shared boat, one way (Perhentian Trans) RM40 RM25 (infants RM0)
Shared boat, one way (Wikivoyage) RM35 RM20
Return boat ticket RM80 RM50
Marine Park conservation fee, no MyKad RM30 RM15 (ages 6–12)
Marine Park conservation fee, MyKad holders RM5 RM2 (ages 6–12)
Jetty service and access fee RM20 per person –
Private boat, small group RM450 per boat (max 10) –
Private boat, large group RM900 per boat (max 24) –
Late-evening charter boat RM350–500 per boat, after 6pm –
Bubu Resort boat transfer MYR 100 one way, MYR 180 return –
Water taxi between beaches about RM12 –

Perhentian Trans (operator); Wikivoyage; pulauperhentian.com.my (booking agent); Go Perhentian (booking agent); dof.gov.my (official); besutjetty.com (booking agent); Buburesort (resort)

Two charges come on top of the boat. The Marine Park conservation fee is RM 30.0010 for adults without a MyKad and RM 5.0010 for MyKad holders. A RM202 service and jetty access fee is charged too. Both must be paid before you enter the pier2 at Kuala Besut.

The return boat ticket costs RM80 per adult and RM50 per child11 from February 202611, excluding the marine park fee. Go Perhentian sells it at the same RM80 adult and RM50 child12.

Some resorts run their own boats. Bubu Resort charges MYR 100 one way or MYR 180 return13 per adult, and guests check in at its jetty office at least 20 minutes13 before departure. Perhentian Island Resort says its speedboat takes 30 to 45 minutes14.

Perhentian Trans sells tickets online and issues an e-ticket straight away. Wikivoyage says it doesn’t matter which agency you book with, because all agencies put you on the same boats. For more on the jetty itself, see the Kuala Besut boat operators and fares in detail. If you’d rather book room and boat together, compare the full board island package inclusions.

Boatman. Moving between islands. Pulau Perhentian Besar Island, Malaysia. Boat transfer

Perhentian Island - Kuala Besut Jetty Ferry

4.6 out of 5 · 226 reviews

RM40 from Check dates

Booked on Klook

Pulau Perhentian Besar Island, Malaysia. Breathtakingly beautiful. Clear blue turquoise water. Package

3D2N Perhentian Island Resort Full Board Package

4.5 out of 5 · 11 reviews3 days

RM560 from Check dates

Booked on Klook

Routes compared

Routes to Kuala Besut compared
RouteLeaves fromTravel timeFareSource
Kuala Lumpur by busTerminal Bersepadu Selatan (TBS)about 7h45mRM40–68Easybook (booking agent)
Kuala Lumpur by air via Kota BharuFly to Sultan Ismail Petra Airport, then road1h15m airport to jetty–Wikivoyage
Kuala Lumpur by air via Kuala TerengganuFly to Sultan Mahmud Airport, then taxiabout 2h airport to Kuala Besut–Wikivoyage
Penang by busPenangaround 6 hoursfrom RM50Wikivoyage; Easybook (booking agent)
Penang by airPenang to Kota Bharu (Firefly)47 min–1h flight–Trip.com (booking agent)
Singapore by busSingapore (E-Mutiara, 17:00)about 8h11mRM130BusOnlineTicket (booking agent)
Singapore by airSingapore to Kota Bharu (Scoot)about 1h21m flightfrom S$78Trip.com (booking agent); bernamabiz.com (news)
Johor Bahru by busLarkin Terminal9–10 hoursfrom RM108Wikivoyage; BusOnlineTicket (booking agent)

Wikivoyage; Easybook (booking agent); BusOnlineTicket (booking agent); Trip.com (booking agent); bernamabiz.com (news); Wikipedia; aip.caam.gov.my (official)

From Penang

The sources disagree here. Wikivoyage says there is no direct bus from Butterworth3 to Kuala Besut. It lists direct buses to Jerteh instead: Mutiara at 10PM3 and S.P.Bumi at 9AM and 9PM3, for RM42–42.703.

Booking sites do sell Penang to Kuala Besut tickets. Easybook lists them from RM5015, and BusOnlineTicket gives RM50.50 to RM10016 depending on the operator. BusOnlineTicket’s first bus leaves at 8:30am16 and the last at 9pm16. The ride takes around 6 hours3.

Firefly flies from Penang to Kota Bharu. Trip.com counts about 7 flights a week17, with a flight time of 47 minutes to 1 hour17.

From Singapore and Johor Bahru

The business news site bernamabiz.com reported that Scoot would fly twice weekly18 from Singapore to Kota Bharu from 26 October 202518, with fares from S$7818. Trip.com still shows two flights a week19 and quotes fares for 25 October 202619. The flight takes about 1 hour 21 minutes19.

By road, BusOnlineTicket lists one daily E-Mutiara bus from Singapore at 17:0020, costing RM13020 and taking about 8 hours 11 minutes20. From Johor Bahru, buses leave Larkin Terminal and take 9–10 hours3. BusOnlineTicket lists an E-Mutiara departure at 18:3021 from RM10821.

View on Perhentian Besar island, from Perhentian Kecil, Perhentian islands, Malaysia
View on Perhentian Besar island, from Perhentian Kecil, Perhentian islands, Malaysia. Photo: Colocho, CC BY-SA 2.5

Tips and common mistakes

  • Ignoring the season. The islands have a heavy monsoon season from November to February5. Most resorts are usually closed from the end of October to the end of February22. The best months run from March or April to late October2. Read the Perhentian monsoon and dry season guide before you book.
  • Letting the taxi pick your agent. Taxi drivers may take you to a travel agent who pays them commission. Some are reportedly paid to take passengers to Tok Bali, a fishing port about 48 km23 from Kota Bharu, instead of Kuala Besut.
  • Not booking ahead. Wikivoyage advises buying boat tickets in advance, especially in high season. If you miss your boat, agencies are usually happy to put you on the next one.
  • Leaving electronics loose. The boats have no safe space for electronics, so wrap anything that can’t get wet in plastic. Seats at the back, near the engines, are less bumpy but wetter and noisier.
  • Arriving without cash. Few places on the islands accept credit cards. Money can be changed on Long Beach (Pasir Panjang) on Perhentian Kecil.
  • Forgetting the weather on the day. Bubu Resort says boat transfers are subject to weather conditions13.

Once on the islands, a water taxi between beaches such as Long Beach and Coral Bay costs about RM122 for most hops, and the price is negotiable. Perhentian Kecil draws more travellers because its accommodation is cheaper, while Perhentian Besar is a little more expensive. Compare places to stay by beach so you know where to ask the boat to drop you.

View of Coral Bay on Pulau Perhentian Kecil
View of Coral Bay on Pulau Perhentian Kecil. Photo: DTravel AU, CC BY-SA 3.0

Questions people ask

How far is Perhentian Island from Kuala Lumpur?

The islands lie about 19 km off the mainland coast; the bus from TBS to Kuala Besut averages 7 hours 45 minutes.

Can I get to Pulau Perhentian from KL by train?

Only part of the way. Tanah Merah, three stops before the end of the KTM Jungle Line, is the nearest station to Kuala Besut.

Is there a ferry, or only speedboats?

Perhentian Trans sells speedboat and ferry trips for the same RM80 return, but pulauperhentian.com.my says there are no ferry services.

Can I drive to Kuala Besut and leave the car?

Bubu Resort says drivers will find plenty of secure parking around the Kuala Besut jetty area.

Sources

  1. Easybook (booking agent) · checked October 2026
  2. Wikivoyage · checked October 2026
  3. Wikivoyage · checked October 2026
  4. besutjetty.com (booking agent) · checked October 2026
  5. Wikipedia · checked October 2026
  6. BusOnlineTicket (booking agent) · checked October 2026
  7. Perhentian Trans (operator) · checked October 2026
  8. Perhentian Trans (operator) · checked October 2026
  9. Perhentian Trans (operator) · checked October 2026
  10. dof.gov.my (official) · checked October 2026
  11. pulauperhentian.com.my (booking agent) · checked October 2026
  12. Go Perhentian (booking agent) · checked October 2026
  13. Buburesort (resort) · checked October 2026
  14. Perhentian Island Resort (resort) · checked October 2026
  15. Easybook (booking agent) · checked October 2026
  16. BusOnlineTicket (booking agent) · checked October 2026
  17. Trip.com (booking agent) · checked October 2026
  18. bernamabiz.com (news) · checked October 2026
  19. Trip.com (booking agent) · checked October 2026
  20. BusOnlineTicket (booking agent) · checked October 2026
  21. BusOnlineTicket (booking agent) · checked October 2026
  22. pulauperhentian.com.my (booking agent) · checked October 2026
  23. Wikipedia · checked October 2026
  24. aip.caam.gov.my (official) · checked October 2026
  25. Wikipedia · checked October 2026
Page history · last changed 15 October 2026