There are 9 ways to get from Johor Bahru to Kangar by train, bus, car, plane, or ferry
Select an option below to see step-by-step directions and to compare ticket prices and travel times in Rome2Rio's travel planner.
Train
best- Take the train from Jb Sentral to Arautrain Ets
10h 5mRM 23–142Bus
- Take the bus from JB Larkin Terminal to Terminal Bukit Lagibus
11h 25mRM 80–210Drive 803.3 km
- Drive from Johor Bahru to Kangarcar 803.3 km
8h 45mRM 312–450Fly Senai International Airport to Alor Setar, train, bus
- Fly from Senai International Airport (JHB) to Alor Setar (AOR)plane JHB - AOR
- Take the train from Alor Setar to Arautrain
- Take the bus from Sma Almaad to Kayangan Square Kangarbus
6h 10mRM 193–521Bus via Changloon
- Take the bus from Larkin Bus Terminal to Changloonbus Larkin Bus Terminal
- Take the bus from Terminal Changlun to Mega Star Innbus R10
12h 48mRM 95–220Fly Singapore Changi Airport to Hat Yai, bus
- Fly from Singapore Changi Airport (SIN) to Hat Yai (HDY)plane SIN - HDY
- Take the bus from Hat Yai Airport to KTM Malaysia Railaway Station sidebus
8h 24mRM 582–1,190Fly Senai International Airport to Ipoh, train
- Fly from Senai International Airport (JHB) to Ipoh (IPH)plane JHB - IPH
- Take the train from Ipoh to Arautrain
8h 16mRM 189–821Fly Singapore Changi Airport to Langkawi International Airport, ferry, drive
- Fly from Singapore Changi Airport (SIN) to Langkawi International Airport (LGK)plane SIN - LGK
- Take the ferry from Langkawi International Airport to Tammalang Pierferry
- Drive from Tammalang Pier to Kangarcar
10h 22mRM 408–1,082Fly Seletar Airport to Alor Setar
- Fly from Seletar Airport (XSP) to Alor Setar (AOR)plane XSP - AOR
9h 48mRM 450–1,146
Johor Bahru to Kangar by bus
Comparing Your Travel Options
The cheapest way to get from Johor Bahru to Kangar is to train which costs RM 23 - RM 150 and takes 10h 5m.
The fastest way to get from Johor Bahru to Kangar is to fly and train and bus which takes 6h 10m and costs RM 190 - RM 550.
Yes, there is a direct bus departing from JB Larkin Terminal and arriving at Terminal Bukit Lagi. Services depart once daily, and operate every day. The journey takes approximately 11h 25m.
No, there is no direct train from Johor Bahru to Kangar. However, there are services departing from Jb Sentral and arriving at Arau via . The journey, including transfers, takes approximately 10h 5m.
The distance between Johor Bahru and Kangar is 851 km. The road distance is 803.3 km.
The best way to get from Johor Bahru to Kangar without a car is to train which takes 10h 5m and costs RM 23 - RM 150.
It takes approximately 10h 5m to get from Johor Bahru to Kangar, including transfers.
Johor Bahru to Kangar bus services, operated by Mayang Sari Express, depart from JB Larkin Terminal station.
Johor Bahru to Kangar train services, operated by KTM Intercity, depart from Jb Sentral station.
The best way to get from Johor Bahru to Kangar is to train which takes 10h 5m and costs RM 23 - RM 150. Alternatively, you can bus, which costs RM 80 - RM 210 and takes 11h 25m, you could also fly, which costs RM 450 - RM 1200 and takes 9h 48m.
What companies run services between Johor Bahru, Malaysia and Kangar, Malaysia?
KTM Intercity operates a train from Jb Sentral to Arau twice daily. Tickets cost RM 21–95 and the journey takes 9h 18m. KTM ETS also services this route once daily. Alternatively, Mayang Sari Express operates a bus from JB Larkin Terminal to Terminal Bukit Lagi once daily. Tickets cost RM 90–170 and the journey takes 11h 25m. Sri Maju also services this route once daily.
- Website
- airasia.com
Flights from Senai International Airport to Alor Setar
- Ave. Duration
- 1h 15m
- When
- Monday, Wednesday, Friday, and Sunday
- Estimated price
- RM 180–500
Flights from Senai International Airport to Ipoh
- Ave. Duration
- 1h
- When
- Every day
- Estimated price
- RM 170–390
Flights from Singapore Changi Airport to Langkawi International Airport
- Ave. Duration
- 1h 30m
- When
- Every day
- Estimated price
- RM 140–650
Flights from Singapore Changi Airport to Langkawi International Airport via Penang
- Ave. Duration
- 3h 30m
- When
- Every day
- Estimated price
- RM 140–650
Flights from Singapore Changi Airport to Langkawi International Airport via Kuala Lumpur
- Ave. Duration
- 3h 49m
- When
- Every day
- Estimated price
- RM 140–650
- Website
- malaysiaairlines.com
Flights from Senai International Airport to Alor Setar via Kuala Lumpur
- Ave. Duration
- 3h 15m
- When
- Saturday and Sunday
- Estimated price
- RM 240–380
Flights from Singapore Changi Airport to Langkawi International Airport via Kuala Lumpur
- Ave. Duration
- 3h 35m
- When
- Monday to Saturday
- Estimated price
- RM 430–1,100
Flights from Seletar Airport to Alor Setar via Sultan Abdul Aziz Shah
- Ave. Duration
- 3h 52m
- When
- Every day
- Estimated price
- RM 500–1,400
- Website
- flyscoot.com
Flights from Singapore Changi Airport to Hat Yai
- Ave. Duration
- 1h 35m
- When
- Every day
- Estimated price
- RM 320–750
Flights from Singapore Changi Airport to Langkawi International Airport
- Ave. Duration
- 1h 36m
- When
- Every day
- Estimated price
- RM 230–700
- Website
- fireflyz.com.my
Flights from Senai International Airport to Alor Setar via Kuala Lumpur
- Ave. Duration
- 3h 15m
- When
- Saturday and Sunday
- Estimated price
- RM 240–380
Flights from Singapore Changi Airport to Langkawi International Airport via Kuala Lumpur
- Ave. Duration
- 4h
- When
- Monday to Saturday
- Estimated price
- RM 430–1,100
Flights from Seletar Airport to Alor Setar via Sultan Abdul Aziz Shah
- Ave. Duration
- 3h 52m
- When
- Every day
- Estimated price
- RM 500–1,400
- Website
- bangkokair.com
Flights from Singapore Changi Airport to Hat Yai via Phuket
- Ave. Duration
- 4h 5m
- When
- Every day
- Estimated price
- RM 500–950
- Website
- malindoair.com
Flights from Singapore Changi Airport to Langkawi International Airport via Kuala Lumpur
- Ave. Duration
- 3h 35m
- When
- Monday, Tuesday, Thursday, Friday, and Saturday
- Estimated price
- RM 290–850
- Phone
- +603 - 9779 1200
- [email protected]
- Website
- KTMB
Train from Jb Sentral to Arau
- Ave. Duration
- 9h 18m
- Frequency
- Twice daily
- Estimated price
- RM 21–95
- Website
- KTMB
- Shuttle
- RM 21–30
- Express
- RM 65–95
Train from Alor Setar to Arau
- Ave. Duration
- 20 min
- Frequency
- Every 3 hours
- Estimated price
- RM 1–17
- Website
- KTMB
- Shuttle
- RM 1–2
- Express
- RM 11–17
Train from Ipoh to Arau
- Ave. Duration
- 2h 39m
- Frequency
- Every 3 hours
- Estimated price
- RM 7–40
- Website
- KTMB
- Shuttle
- RM 7–11
- Express
- RM 28–40
- Phone
- +603 - 9779 1200
- [email protected]
- Website
- KTM
Train from Jb Sentral to Arau
- Ave. Duration
- 10h
- Frequency
- Once daily
- Estimated price
- RM 126
- Website
- KTM
- Silver
- RM 75–80
- Gold
- RM 126
- Platinum
- RM 170–180
Train from Alor Setar to Arau
- Ave. Duration
- 21 min
- Frequency
- 5 times a day
- Estimated price
- RM 13
- Website
- KTM
- Silver
- RM 11–13
- Gold
- RM 13
- Platinum
- RM 14–15
- Phone
- +603 - 9779 1200
- [email protected]
- Website
- KTM Intercity
Train from Alor Setar to Arau
- Ave. Duration
- 24 min
- Frequency
- Hourly
- Estimated price
- RM 10–14
- Website
- KTM Intercity
- Phone
- +606 952 0642
- [email protected]
- Website
- mayangsariexpress.com.my
Bus from JB Larkin Terminal to Terminal Bukit Lagi
- Ave. Duration
- 11h 25m
- Frequency
- Once daily
- Estimated price
- RM 90–170
- Schedules at
- mayangsariexpress.com.my
- Book at
- easybook.com
Bus from Larkin Bus Terminal to Changloon
- Ave. Duration
- 10h 46m
- Frequency
- Once daily
- Estimated price
- RM 90–160
- Schedules at
- mayangsariexpress.com.my
- Book at
- easybook.com
- Phone
- +60 5-253 8898
- [email protected]
- Website
- Sri Maju
Bus from JB Larkin Terminal to Terminal Bukit Lagi
- Ave. Duration
- 11h 25m
- Frequency
- Once daily
- Estimated price
- RM 80–210
- Website
- Sri Maju
- Phone
- +60 3-2385 9090
- [email protected]
- Website
- Mara Liner MyBAS
Bus from Sma Almaad to Kayangan Square Kangar
- Ave. Duration
- 26 min
- Frequency
- Hourly
- Estimated price
- RM 2–20
- Website
- Mara Liner MyBAS
Bus from Terminal Changlun to Mega Star Inn
- Ave. Duration
- 1h 11m
- Frequency
- Hourly
- Estimated price
- RM 5–60
- Website
- Mara Liner MyBAS
- Phone
- +60 12-470 7815
- [email protected]
- Website
- KPB Express Facebook
Bus from Larkin Bus Terminal to Changloon
- Ave. Duration
- 10h 46m
- Frequency
- 3 times a day
- Estimated price
- RM 95–160
- Website
- KPB Express Facebook
- Phone
- +66 2 295 1095
- [email protected]
- Website
- Zee Zenith Travel
Bus from Hat Yai Airport to KTM Malaysia Railaway Station side
- Ave. Duration
- 1h 20m
- Frequency
- Once daily
- Estimated price
- RM 189
- Schedules at
- Zee Zenith Travel
- Phone
- +66 2 326 1126
- [email protected]
- Website
- Satun Center Tour
Ferry from Langkawi International Airport to Tammalang Pier
- Ave. Duration
- 3h 30m
- Frequency
- Once daily
- Estimated price
- RM 143
- Schedules at
- Satun Center Tour
Want to know more about travelling around the world?
Rome2Rio's Travel Guide series provide vital information for the global traveller. Read our range of informative guides on popular transport routes and companies - including How to get from Luton Airport into central London, Travelling Croatia’s Dalmatian Coast by boat, bus, car and train, and 5 incredible day trips from Florence by train - to help you get the most out of your next trip.
Booking & Getting There
Johor Bahru to Kangar bus services, operated by Mayang Sari Express, arrive at Terminal Bukit Lagi station.
Johor Bahru to Kangar train services, operated by KTM Intercity, arrive at Arau station.
Yes, the driving distance between Johor Bahru to Kangar is 803 km. It takes approximately 8h 45m to drive from Johor Bahru to Kangar.
Book your Johor Bahru to Kangar bus tickets online with Omio and 12go.asia.
There are 352+ hotels available in Kangar.


















