Malaysia
Getting around Malaysia: trains, buses, driving and domestic flights
Fly between Peninsular Malaysia and Borneo, and take the ETS train for KL–Ipoh–Butterworth; use express buses for Melaka and Cameron Highlands, Grab inside cities, and rent a car only for the Cameron Highlands or rural Borneo. Book ETS seats on the KTMB app days ahead because weekend trains sell out.
- Source checked
- A source and a date are on record: we read it from an official or published page. Not yet confirmed on the ground.
- Field checked
- Someone checked it on the ground, with the date shown.
- Plan calculated
- Worked out by Voykit from its own data (times, distances, budgets). A calculation, not a measurement.
Unknown times stay unknown. How we verify
GuideMalaysia
Key facts
- Best for KL–Penang
- ETS train, about 4 h, RM60–110; buses 5 h, RM30–60
- Best for Borneo
- Flight; KL–Kota Kinabalu or Kuching about 1 h air, RM80–300
- City default
- Grab; RM10–30 for most KL trips
- Airport transfercheck
- KLIA Ekspres 28 min, RM55; check the timetable after 2024–25 disruptions
- When a car pays off
- Cameron Highlands, Fraser's Hill, rural Sabah and Sarawak; RM100–200 a day
- Tolls
- Touch 'n Go card; drive on the left
- East-coast ferriescheck
- Perhentian and Redang boats stop roughly Nov–Feb
- Rail passes
- No nationwide tourist rail pass; buy point-to-point on KTMB
First decision: peninsula or Borneo
Malaysia splits into two halves that barely connect by land. Peninsular Malaysia runs from the Thai border to Singapore and holds Kuala Lumpur, Penang, Melaka and the east coast. Sabah and Sarawak sit across the South China Sea on Borneo, reachable in practice only by plane.
So the first choice is not train versus bus, it is whether you are flying. If your trip includes Kota Kinabalu, Kuching, Sandakan or Semporna, book a domestic flight and treat the peninsula as a separate loop. Trying to combine both halves overland is not possible.
| Route | Best mode | Time | Cost (2026 estimate) |
|---|---|---|---|
| KL – Penang / Butterworth | ETS train | About 4 h | RM60–110 |
| KL – Ipoh | ETS train | About 2.5 h | RM60–110 |
| KL – Melaka | Express bus | About 2 h | RM30–60 |
| KL – Cameron Highlands | Bus, or car | 4–5 h | RM30–60 bus |
| KL – Kota Kinabalu / Kuching | Flight | About 1 h air, 3 h door to door | RM80–300 |
| KLIA – KL Sentral | KLIA Ekspres | 28 min | RM55 |
| Penang – Langkawi | Ferry | About 3 h | RM40–80 |
| Kuala Besut – Perhentian | Ferry | 30–45 min | RM40–80 |
Trains: the ETS and where it does not go
The ETS electric train is the comfortable option on the Kuala Lumpur–Ipoh–Butterworth spine, running city centre to city centre and usually on time. Book on the KTMB app; weekend and holiday departures sell out days ahead, and the cheapest fares go first.
Butterworth is the railhead for Penang: you cross to George Town by ferry or take a taxi over the bridges. Beyond that, the network thins. There is no useful train to Melaka, the Cameron Highlands or the east coast, and Sabah's only railway is a heritage line, not transport.
Kuala Lumpur's commuter lines (KTM Komuter, LRT, MRT, monorail) work well for the Klang Valley but are not a way to cross the country.
Express buses
Buses cover everything the train does not: Melaka, the Cameron Highlands, Kota Bharu, Kuantan, Johor Bahru and the Singapore crossing. They are frequent, cheap and reasonably comfortable on the long-haul coaches.
In Kuala Lumpur, most long-distance buses leave from Terminal Bersepadu Selatan (TBS), south of the centre and linked by LRT. Allow extra time in the evening peak. Buy seats online or at the counter; popular Friday and Sunday services fill up.
- KL – Melaka: about 2 h, RM30–60
- KL – Penang: about 5 h, RM30–60
- KL – Cameron Highlands: 4–5 h, RM30–60
- KL – Johor Bahru: 4–5 h, RM30–60
Driving and ride-hailing
Grab is the default in every Malaysian city and the simplest way to move around Kuala Lumpur, George Town, Johor Bahru and Kota Kinabalu. Fares inside KL are typically RM10–30; airport pickups carry a surcharge. Metered taxis exist but are less predictable.
A rental car makes sense for the Cameron Highlands, Fraser's Hill and rural Sabah and Sarawak, where buses are slow or absent. Expect RM100–200 a day. You drive on the left, highways are good, and tolls are paid with a Touch 'n Go card — buy one at a toll plaza or convenience store and top it up. Parking in city centres is the main hassle.
| Situation | Use | Why |
|---|---|---|
| City sightseeing | Grab | Cheap, no parking |
| KLIA to the centre | KLIA Ekspres or Grab | 28 min by rail; 55–90 min by car |
| Cameron Highlands, Fraser's Hill | Rental car | Winding roads, thin bus coverage |
| Rural Sabah and Sarawak | Rental car or tour | Long distances, few services |
| Peninsular long haul | Train or bus | Cheaper than driving and no tolls |
Domestic flights and ferries
Flying is the only practical way to Borneo and often the fastest way to Penang, Langkawi or Johor Bahru. Fares run about RM80–300 for KL–Penang, KL–Langkawi, KL–Kota Kinabalu and KL–Kuching. Low-cost fares usually exclude checked bags, and Kuala Lumpur has two terminals: KLIA and KLIA2. Check which one your flight uses before booking the airport train.
Ferries handle the islands: Penang–Langkawi takes about 3 h (RM40–80), and boats to the Perhentian Islands and Redang run 30–45 minutes from the east coast. East-coast services stop roughly November to February with the monsoon, so plan island trips for March to October.
Practical notes
Buy a Touch 'n Go card for tolls, some parking and selected transit. Most intercity tickets are sold online or through apps, so a local SIM or eSIM helps; see our Malaysia SIM and eSIM page.
Weekends differ by state: Kelantan, Terengganu and Kedah take Friday–Saturday, while Johor moved to Saturday–Sunday in 2025 (check). Buses and trains fill on those days, and many shops close for Chinese New Year and Hari Raya.
For long trips, travel insurance is worth arranging before you fly, especially if you plan to drive or take ferries.
- Book ETS and holiday buses days ahead
- Keep small change for some public toilets (RM0.20–1)
- Allow 55–90 minutes by car between KLIA and the centre
Questions people ask
What is the best way to get around Malaysia?
Fly between Peninsular Malaysia and Borneo. On the peninsula, take the ETS train for KL–Ipoh–Butterworth, express buses for Melaka and the Cameron Highlands, and Grab inside cities. Rent a car only for the Cameron Highlands or rural Borneo.
Do I need a car in Malaysia?
No for Kuala Lumpur, Penang, Melaka and Johor Bahru, where Grab and public transport cover most trips. A car helps in the Cameron Highlands, Fraser's Hill and rural Sabah and Sarawak, at roughly RM100–200 a day plus tolls.
Are there rail or bus passes for Malaysia?
There is no nationwide tourist rail or bus pass. KTMB sells point-to-point ETS and commuter tickets, and bus operators sell single seats. Frequent travellers can top up a Touch 'n Go card for Klang Valley transit and tolls.
How do I get from Kuala Lumpur to Penang?
The ETS train takes about 4 hours to Butterworth, RM60–110, then a ferry or taxi to George Town. Express buses take about 5 hours, RM30–60. Flights take about 1 hour but add airport time.
How do I get to Borneo?
Fly. Kuala Lumpur to Kota Kinabalu or Kuching is about 1 hour in the air, RM80–300, roughly 3 hours door to door. There is no practical overland link from the peninsula.
Can I take a train to Melaka or the Cameron Highlands?
No. Both are reached by express bus or car. Melaka is about 2 hours from Kuala Lumpur; the Cameron Highlands 4–5 hours by bus on winding roads.
Deep dive
Every source; changeable facts are marked check
Sources
- officialTourism Malaysia
- officialKTMB (Keretapi Tanah Melayu Berhad)
- officialKLIA Ekspres
- secondaryWikivoyage – Malaysia