Home / Getting there
Getting to the Perhentians from KL, Penang and Singapore
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
-
Get to TBS
All buses from Kuala Lumpur to Kuala Besut leave from Terminal Bersepadu Selatan (TBS).
-
Bus to Kuala Besut
The ride averages 7 hours 45 minutes. Fares run from about RM40 to RM68.
-
Pay the fees at the jetty
Pay the RM30 Marine Park conservation fee and the RM20 jetty fee before entering the pier.
-
Boat to the islands
Shared boats leave hourly from 8 AM to 5 PM and take 30–45 minutes.
-
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.
Boat departures from Kuala Besut Jetty
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
| Ticket | Adult | Child |
|---|---|---|
| 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.
Routes compared
| Route | Leaves from | Travel time | Fare | Source |
|---|---|---|---|---|
| Kuala Lumpur by bus | Terminal Bersepadu Selatan (TBS) | about 7h45m | RM40–68 | Easybook (booking agent) |
| Kuala Lumpur by air via Kota Bharu | Fly to Sultan Ismail Petra Airport, then road | 1h15m airport to jetty | – | Wikivoyage |
| Kuala Lumpur by air via Kuala Terengganu | Fly to Sultan Mahmud Airport, then taxi | about 2h airport to Kuala Besut | – | Wikivoyage |
| Penang by bus | Penang | around 6 hours | from RM50 | Wikivoyage; Easybook (booking agent) |
| Penang by air | Penang to Kota Bharu (Firefly) | 47 min–1h flight | – | Trip.com (booking agent) |
| Singapore by bus | Singapore (E-Mutiara, 17:00) | about 8h11m | RM130 | BusOnlineTicket (booking agent) |
| Singapore by air | Singapore to Kota Bharu (Scoot) | about 1h21m flight | from S$78 | Trip.com (booking agent); bernamabiz.com (news) |
| Johor Bahru by bus | Larkin Terminal | 9–10 hours | from RM108 | Wikivoyage; 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.
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.
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
- Easybook (booking agent) · checked October 2026
- Wikivoyage · checked October 2026
- Wikivoyage · checked October 2026
- besutjetty.com (booking agent) · checked October 2026
- Wikipedia · checked October 2026
- BusOnlineTicket (booking agent) · checked October 2026
- Perhentian Trans (operator) · checked October 2026
- Perhentian Trans (operator) · checked October 2026
- Perhentian Trans (operator) · checked October 2026
- dof.gov.my (official) · checked October 2026
- pulauperhentian.com.my (booking agent) · checked October 2026
- Go Perhentian (booking agent) · checked October 2026
- Buburesort (resort) · checked October 2026
- Perhentian Island Resort (resort) · checked October 2026
- Easybook (booking agent) · checked October 2026
- BusOnlineTicket (booking agent) · checked October 2026
- Trip.com (booking agent) · checked October 2026
- bernamabiz.com (news) · checked October 2026
- Trip.com (booking agent) · checked October 2026
- BusOnlineTicket (booking agent) · checked October 2026
- BusOnlineTicket (booking agent) · checked October 2026
- pulauperhentian.com.my (booking agent) · checked October 2026
- Wikipedia · checked October 2026
- aip.caam.gov.my (official) · checked October 2026
- Wikipedia · checked October 2026
Page history · last changed 15 October 2026
- Updated: new sections: The route from Kuala Lumpur, step by step; Boat departures from Kuala Besut Jetty; What you pay; …, 4 sections removed, 2 sourced facts added, 11 removed.
- First written