Timetable data last refreshed August 2026. Operators change schedules at short notice — always confirm when you book.
151 scheduled routes run from Johor to Kedah, operated by 14 coach companies. There are 256 departures a day, with fares from RM79.00.
- Departing from
- Johor — 21 boarding points
- Arriving in
- Kedah — 13 arrival points
- Operators
- 14 on this corridor
- Departures
- 256 a day
- Fares from
- RM79.00 one way
Book Johor to Kedah
Compare all 14 operators on this route with live seat availability.
Timetable and fares
Every scheduled service on this corridor is listed below, grouped by operator. Use the filter box to narrow a table to your boarding point, or click a column heading to sort by departure time or fare.
Please note: fares and timings are set by the operators and change at short notice. Everything here is a guide — reconfirm when you book.
| Boarding point | Arrival point | Departure times | Fare from | Seating |
|---|---|---|---|---|
| Air Hitam | Sungai Petani | 9:30 PM | RM100.00 | 1+2 |
| Johor Bahru (JB Larkin Term.) | Alor Setar | 3:29 PM9:29 PM10:59 PM | RM120.00 | 1+2 |
| Johor Bahru (JB Larkin Term.) | Bukit Kayu Hitam | 7:29 PM | RM150.00 | 1+2 |
| Johor Bahru (JB Larkin Term.) | Changlun | 7:29 PM9:29 PM | RM122.00 | 1+2 |
| Johor Bahru (JB Larkin Term.) | Gurun | 3:29 PM9:29 PM10:59 PM | RM114.00 | 1+2 |
| Johor Bahru (JB Larkin Term.) | Jitra | 9:29 PM | RM122.00 | 1+2 |
| Johor Bahru (JB Larkin Term.) | Kulim | 10:14 AM10:29 PM | RM110.00 | 1+2 |
| Johor Bahru (JB Larkin Term.) | Sungai Petani | 8:59 AM3:29 PM7:29 PM9:29 PM10:59 PM | RM110.00 | 1+2 |
| Johor Jaya | Alor Setar | 3:00 PM9:00 PM10:30 PM | RM120.00 | 1+2 |
| Johor Jaya | Bukit Kayu Hitam | 7:00 PM | RM150.00 | 1+2 |
| Johor Jaya | Changlun | 7:00 PM9:00 PM | RM122.00 | 1+2 |
| Johor Jaya | Gurun | 3:00 PM9:00 PM10:30 PM | RM114.00 | 1+2 |
| Johor Jaya | Jitra | 9:00 PM | RM122.00 | 1+2 |
| Johor Jaya | Kulim | 9:45 AM10:00 PM | RM110.00 | 1+2 |
| Johor Jaya | Sungai Petani | 8:30 AM3:00 PM7:00 PM9:00 PM10:30 PM | RM110.00 | 1+2 |
| Kulai | Alor Setar | 4:30 PM10:30 PM11:59 PM | RM120.00 | 1+2 |
| Kulai | Bukit Kayu Hitam | 8:30 PM | RM150.00 | 1+2 |
| Kulai | Changlun | 8:30 PM10:30 PM | RM122.00 | 1+2 |
| Kulai | Gurun | 4:30 PM10:30 PM11:59 PM | RM114.00 | 1+2 |
| Kulai | Jitra | 10:30 PM | RM122.00 | 1+2 |
| Kulai | Kulim | 11:15 AM11:30 PM | RM110.00 | 1+2 |
| Kulai | Sungai Petani | 10:00 AM4:30 PM8:30 PM10:30 PM11:59 PM | RM110.00 | 1+2 |
| Pasir Gudang | Alor Setar | 2:15 PM8:30 PM10:00 PM | RM125.00 | 1+2 |
| Pasir Gudang | Bukit Kayu Hitam | 6:15 PM | RM155.00 | 1+2 |
| Pasir Gudang | Changlun | 6:15 PM8:30 PM | RM127.00 | 1+2 |
| Pasir Gudang | Gurun | 2:15 PM8:30 PM10:00 PM | RM119.00 | 1+2 |
| Pasir Gudang | Jitra | 8:30 PM | RM127.00 | 1+2 |
| Pasir Gudang | Kulim | 9:00 AM9:30 PM | RM115.00 | 1+2 |
| Pasir Gudang | Sungai Petani | 7:45 AM2:15 PM6:15 PM8:30 PM10:00 PM | RM105.00 | 1+2 |
| Terminal Bas Kluang | Sungai Petani | 9:00 PM | RM103.00 | 1+2 |
| Tun Aminah | Alor Setar | 4:00 PM10:00 PM11:30 PM | RM120.00 | 1+2 |
| Tun Aminah | Bukit Kayu Hitam | 8:00 PM | RM150.00 | 1+2 |
| Tun Aminah | Changlun | 8:00 PM10:00 PM | RM122.00 | 1+2 |
| Tun Aminah | Gurun | 4:00 PM10:00 PM11:30 PM | RM114.00 | 1+2 |
| Tun Aminah | Jitra | 10:00 PM | RM122.00 | 1+2 |
| Tun Aminah | Kulim | 10:45 AM11:00 PM | RM110.00 | 1+2 |
| Tun Aminah | Sungai Petani | 9:30 AM4:00 PM8:00 PM10:00 PM11:30 PM | RM110.00 | 1+2 |
| Yong Peng | Sungai Petani | 10:00 PM | RM100.00 | 1+2 |
| Boarding point | Arrival point | Departure times | Fare from | Seating |
|---|---|---|---|---|
| JB Merlin Tower | Changlun | 5:00 PM6:00 PM7:00 PM | RM110.00 | 1+2 |
| JB Merlin Tower | ICQS Complex, Bukit Kayu Hitam | 5:00 PM6:00 PM7:00 PM | RM125.00 | 1+2 |
| Johor Bahru (JB Larkin Term.) | Alor Setar | 10:30 AM9:00 PM | RM115.00 | 1+2 |
| Johor Bahru (JB Larkin Term.) | Changlun | 5:30 PM6:30 PM7:30 PM9:00 PM | RM110.00 | 1+2 |
| Johor Bahru (JB Larkin Term.) | Gurun | 10:30 AM12:00 PM9:00 PM | RM115.00 | 1+2 |
| Johor Bahru (JB Larkin Term.) | ICQS Complex, Bukit Kayu Hitam | 5:30 PM6:30 PM7:30 PM | RM125.00 | 1+2 |
| Johor Bahru (JB Larkin Term.) | Jitra Bus Terminal | 9:00 PM | RM120.00 | 1+2 |
| Johor Bahru (JB Larkin Term.) | Kulim | 7:30 AM9:30 PM | RM102.00 | 1+2 / 2+2 |
| Johor Bahru (JB Larkin Term.) | Sungai Petani | 8:00 AM8:30 AM10:30 AM12:00 PM9:00 PM | RM105.00 | 1+2 |
| Johor Jaya | Alor Setar | 10:00 AM8:30 PM | RM115.00 | 1+2 |
| Johor Jaya | Changlun | 4:00 PM5:00 PM6:00 PM8:30 PM | RM110.00 | 1+2 |
| Johor Jaya | Gurun | 10:00 AM11:30 AM8:30 PM | RM115.00 | 1+2 |
| Johor Jaya | ICQS Complex, Bukit Kayu Hitam | 4:00 PM5:00 PM6:00 PM | RM125.00 | 1+2 |
| Johor Jaya | Jitra Bus Terminal | 8:30 PM | RM120.00 | 1+2 |
| Johor Jaya | Kulim | 9:00 PM | RM105.00 | 1+2 |
| Johor Jaya | Sungai Petani | 10:00 AM11:30 AM8:30 PM | RM110.00 | 1+2 |
| Muar | Sungai Petani | 9:45 AM | RM85.00 | 2+2 |
| Pasir Gudang | Alor Setar | 8:00 PM | RM117.00 | 1+2 |
| Pasir Gudang | Changlun | 8:00 PM | RM127.00 | 1+2 |
| Pasir Gudang | Gurun | 11:00 AM8:00 PM | RM117.00 | 1+2 |
| Pasir Gudang | Jitra Bus Terminal | 8:00 PM | RM122.00 | 1+2 |
| Pasir Gudang | Sungai Petani | 11:00 AM8:00 PM | RM112.00 | 1+2 |
| Tun Aminah | Alor Setar | 11:00 AM9:30 PM | RM115.00 | 1+2 |
| Tun Aminah | Changlun | 6:00 PM7:00 PM8:00 PM9:30 PM | RM110.00 | 1+2 |
| Tun Aminah | Gurun | 11:00 AM12:30 PM9:30 PM | RM115.00 | 1+2 |
| Tun Aminah | ICQS Complex, Bukit Kayu Hitam | 6:00 PM7:00 PM8:00 PM | RM125.00 | 1+2 |
| Tun Aminah | Jitra Bus Terminal | 9:30 PM | RM120.00 | 1+2 |
| Tun Aminah | Kulim | 8:00 AM10:00 PM | RM102.00 | 1+2 / 2+2 |
| Tun Aminah | Sungai Petani | 8:30 AM9:00 AM11:00 AM12:30 PM9:30 PM | RM105.00 | 1+2 |
| Boarding point | Arrival point | Departure times | Fare from | Seating |
|---|---|---|---|---|
| Batu Pahat Bus Terminal | Changlun Bus Terminal | 6:00 PM | RM95.00 | 1+2 |
| Batu Pahat Bus Terminal | Jitra Bus Terminal | 6:00 PM | RM95.00 | 1+2 |
| Batu Pahat Bus Terminal | Shahab Perdana Bus Terminal, Alor Setar | 6:00 PM | RM90.00 | 1+2 |
| Batu Pahat Bus Terminal | Terminal Bas Ekspres Ukir Square Sungai Petani | 6:00 PM | RM80.00 | 1+2 |
| Hentian Teksi Dan Bas Bandar Maharani Muar | Changlun Bus Terminal | 7:30 PM | RM90.00 | 1+2 |
| Hentian Teksi Dan Bas Bandar Maharani Muar | Jitra Bus Terminal | 7:30 PM | RM90.00 | 1+2 |
| Hentian Teksi Dan Bas Bandar Maharani Muar | Shahab Perdana Bus Terminal, Alor Setar | 7:30 PM | RM90.00 | 1+2 |
| Hentian Teksi Dan Bas Bandar Maharani Muar | Terminal Bas Ekspres Ukir Square Sungai Petani | 7:30 PM | RM80.00 | 1+2 |
| Larkin Sentral | Changlun Bus Terminal | 9:00 PM | RM115.00 | 1+2 |
| Larkin Sentral | Jitra Bus Terminal | 9:00 PM | RM115.00 | 1+2 |
| Larkin Sentral | Shahab Perdana Bus Terminal, Alor Setar | 9:00 PM | RM110.00 | 1+2 |
| Larkin Sentral | Terminal Bas Ekspres Ukir Square Sungai Petani | 9:00 PM | RM100.00 | 1+2 |
| Pasir Gudang Bus Terminal | Changlun Bus Terminal | 8:00 PM | RM125.00 | 1+2 |
| Pasir Gudang Bus Terminal | Jitra Bus Terminal | 8:00 PM | RM120.00 | 1+2 |
| Pasir Gudang Bus Terminal | Shahab Perdana Bus Terminal, Alor Setar | 8:00 PM | RM115.00 | 1+2 |
| Pasir Gudang Bus Terminal | Terminal Bas Ekspres Ukir Square Sungai Petani | 8:00 PM | RM110.00 | 1+2 |
| Tun Aminah Bus Terminal | Changlun Bus Terminal | 9:30 PM | RM125.00 | 1+2 |
| Tun Aminah Bus Terminal | Jitra Bus Terminal | 9:30 PM | RM120.00 | 1+2 |
| Tun Aminah Bus Terminal | Shahab Perdana Bus Terminal, Alor Setar | 9:30 PM | RM115.00 | 1+2 |
| Tun Aminah Bus Terminal | Terminal Bas Ekspres Ukir Square Sungai Petani | 9:30 PM | RM100.00 | 1+2 |
| Boarding point | Arrival point | Departure times | Fare from | Seating |
|---|---|---|---|---|
| Johor Bahru (JB Larkin Term.) | Alor Setar | 9:45 PM | RM115.00 | 1+2 |
| Johor Bahru (JB Larkin Term.) | Changlun | 9:45 PM | RM120.00 | 1+2 |
| Johor Bahru (JB Larkin Term.) | Jitra | 9:45 PM | RM117.00 | 1+2 |
| Johor Bahru (JB Larkin Term.) | Sungai Petani | 9:45 PM | RM106.00 | 1+2 |
| Johor Jaya | Alor Setar | 8:45 PM | RM116.00 | 1+2 |
| Johor Jaya | Changlun | 8:45 PM | RM120.00 | 1+2 |
| Johor Jaya | Jitra | 8:45 PM | RM117.00 | 1+2 |
| Johor Jaya | Sungai Petani | 8:45 PM | RM106.00 | 1+2 |
| Pasir Gudang | Alor Setar | 9:15 PM | RM118.00 | 1+2 |
| Pasir Gudang | Changlun | 9:15 PM | RM122.00 | 1+2 |
| Pasir Gudang | Jitra | 9:15 PM | RM119.00 | 1+2 |
| Pasir Gudang | Sungai Petani | 9:15 PM | RM109.00 | 1+2 |
| Tun Aminah | Alor Setar | 10:15 PM | RM114.00 | 1+2 |
| Tun Aminah | Changlun | 10:15 PM | RM118.00 | 1+2 |
| Tun Aminah | Jitra | 10:15 PM | RM115.00 | 1+2 |
| Tun Aminah | Sungai Petani | 10:15 PM | RM106.00 | 1+2 |
| Boarding point | Arrival point | Departure times | Fare from | Seating |
|---|---|---|---|---|
| Larkin Sentral | Changlun Bus Terminal | 8:00 PM | RM116.00 | 1+2 |
| Larkin Sentral | Jitra Bus Terminal | 8:00 PM | RM116.00 | 1+2 |
| Larkin Sentral | Shahab Perdana Bus Terminal, Alor Setar | 8:00 PM | RM116.00 | 1+2 |
| Larkin Sentral | Terminal Bas Ekspres Ukir Square Sungai Petani | 10:30 AM8:00 PM | RM106.00 | 1+2 |
| Muar Bentayan Bus Terminal | Changlun Bus Terminal | 10:30 PM | RM90.00 | 1+2 |
| Muar Bentayan Bus Terminal | Jitra Bus Terminal | 10:30 PM | RM90.00 | 1+2 |
| Muar Bentayan Bus Terminal | Kulim Bus Terminal | 10:30 AM | RM79.00 | 1+2 |
| Muar Bentayan Bus Terminal | Shahab Perdana Bus Terminal, Alor Setar | 10:00 AM10:30 PM | RM90.00 | 1+2 |
| Muar Bentayan Bus Terminal | Terminal Bas Ekspres Ukir Square Sungai Petani | 10:00 AM10:30 PM10:45 PM | RM80.00 | 1+2 |
| Boarding point | Arrival point | Departure times | Fare from | Seating |
|---|---|---|---|---|
| Johor Bahru (JB Larkin Term.) | Alor Setar | 8:00 PM | RM110.00 | 1+2 |
| Johor Bahru (JB Larkin Term.) | Changlun | 8:00 PM | RM115.00 | 1+2 |
| Johor Bahru (JB Larkin Term.) | Terminal Bas Ekspres Ukir Square Sungai Petani | 8:00 PM | RM105.00 | 1+2 |
| Kulai | Alor Setar | 9:00 PM | RM110.00 | 1+2 |
| Kulai | Changlun | 9:00 PM | RM115.00 | 1+2 |
| Kulai | Terminal Bas Ekspres Ukir Square Sungai Petani | 9:00 PM | RM105.00 | 1+2 |
| Tun Aminah | Alor Setar | 8:30 PM | RM110.00 | 1+2 |
| Tun Aminah | Changlun | 8:30 PM | RM115.00 | 1+2 |
| Tun Aminah | Terminal Bas Ekspres Ukir Square Sungai Petani | 8:30 PM | RM105.00 | 1+2 |
| Boarding point | Arrival point | Departure times | Fare from | Seating |
|---|---|---|---|---|
| Bandar Penawar Bus Terminal | Kulim | 8:30 PM | RM95.00 | 1+2 |
| Johor Jaya Bus Terminal | Kulim | 9:30 PM | RM103.00 | 1+2 |
| Larkin Sentral | Kulim | 10:00 PM | RM103.00 | 1+2 |
| Pasir Gudang Bus Terminal | Kulim | 9:00 PM | RM103.00 | 1+2 |
| Sri Putri Johor Bahru (Shell Station) | Kulim | 10:16 PM | RM101.00 | 1+2 |
| Sungai Rengit Bus Terminal | Kulim | 8:00 PM | RM95.00 | 1+2 |
| Tun Aminah Bus Terminal | Kulim | 10:15 PM | RM103.00 | 1+2 |
| Boarding point | Arrival point | Departure times | Fare from | Seating |
|---|---|---|---|---|
| Johor Bahru (JB Larkin Term.) | Gurun | 8:45 AM9:15 PM | RM105.00 | 1+2 |
| Johor Bahru (JB Larkin Term.) | Sungai Petani | 8:45 AM9:15 PM | RM100.00 | 1+2 |
| Terminal Taman Universiti | Gurun | 10:00 PM | RM105.00 | 1+2 |
| Terminal Taman Universiti | Sungai Petani | 10:00 PM | RM100.00 | 1+2 |
| Tun Aminah | Gurun | 9:15 AM9:45 PM | RM105.00 | 1+2 |
| Tun Aminah | Sungai Petani | 9:15 AM9:45 PM | RM100.00 | 1+2 |
| Boarding point | Arrival point | Departure times | Fare from | Seating |
|---|---|---|---|---|
| Larkin Sentral | Changlun Bus Terminal | 9:00 PM | RM122.00 | 1+2 |
| Larkin Sentral | Jitra Bus Terminal | 9:00 PM | RM117.00 | 1+2 |
| Larkin Sentral | Shahab Perdana Bus Terminal, Alor Setar | 9:00 PM | RM117.00 | 1+2 |
| Larkin Sentral | Terminal Bas Ekspres Ukir Square Sungai Petani | 9:00 PM | RM107.00 | 1+2 |
| Boarding point | Arrival point | Departure times | Fare from | Seating |
|---|---|---|---|---|
| Johor Bahru (JB Larkin Term.) | Alor Setar | 10:30 PM | RM114.00 | SVIP 31 SEAT |
| Johor Bahru (JB Larkin Term.) | Changlun | 10:30 PM | RM121.00 | SVIP 31 SEAT |
| Johor Bahru (JB Larkin Term.) | Jitra | 10:30 PM | RM117.00 | SVIP 31 SEAT |
| Johor Bahru (JB Larkin Term.) | Sungai Petani | 10:30 PM | RM105.00 | SVIP 31 SEAT |
| Boarding point | Arrival point | Departure times | Fare from | Seating |
|---|---|---|---|---|
| Johor Jaya Bus Terminal | Kulim Bus Terminal | 9:15 PM | RM103.00 | 1+2 |
| Pasir Gudang Bus Terminal | Kulim Bus Terminal | 9:00 PM | RM103.00 | 1+2 |
| Sri Putri Johor Bahru (Shell Station) | Kulim Bus Terminal | 10:16 PM | RM90.00 | 1+2 |
| Tun Aminah Bus Terminal | Kulim Bus Terminal | 10:15 PM | RM103.00 | 1+2 |
| Boarding point | Arrival point | Departure times | Fare from | Seating |
|---|---|---|---|---|
| Larkin Sentral | Kulim Bus Terminal | 9:45 AM10:05 PM | RM100.00 | Executive |
| Tun Aminah Bus Terminal | Kulim Bus Terminal | 10:15 AM10:35 PM | RM100.00 | Executive |
| Boarding point | Arrival point | Departure times | Fare from | Seating |
|---|---|---|---|---|
| Larkin Sentral | Kulim Bus Terminal | 9:00 AM9:30 AM9:30 PM | RM100.00 | SVIP |
| Tun Aminah Bus Terminal | Kulim Bus Terminal | 9:45 AM10:00 PM | RM100.00 | SVIP |
| Boarding point | Arrival point | Departure times | Fare from | Seating |
|---|---|---|---|---|
| Larkin Sentral | Shahab Perdana Bus Terminal, Alor Setar | 8:30 PM | RM116.00 | 1+2 |
Boarding points in Johor
- Johor Bahru (JB Larkin Term.)
- Tun Aminah
- Johor Jaya
- Pasir Gudang
- Larkin Sentral
- Kulai
- Tun Aminah Bus Terminal
- Pasir Gudang Bus Terminal
- Muar Bentayan Bus Terminal
- Batu Pahat Bus Terminal
- Hentian Teksi Dan Bas Bandar Maharani Muar
- JB Merlin Tower
- Terminal Taman Universiti
- Johor Jaya Bus Terminal
- Sri Putri Johor Bahru (Shell Station)
- Terminal Bas Kluang
- Air Hitam
- Yong Peng
- Muar
- Sungai Rengit Bus Terminal
- Bandar Penawar Bus Terminal
Arrival points in Kedah
- Sungai Petani
- Changlun
- Alor Setar
- Kulim
- Gurun
- Jitra Bus Terminal
- Terminal Bas Ekspres Ukir Square Sungai Petani
- Jitra
- Shahab Perdana Bus Terminal, Alor Setar
- Kulim Bus Terminal
- Changlun Bus Terminal
- Bukit Kayu Hitam
- ICQS Complex, Bukit Kayu Hitam
Frequently asked questions
How much is the bus from Johor to Kedah?
Fares start from RM79.00 one way. 14 operators run this route, so prices vary with coach class and departure time.
Which companies run buses from Johor to Kedah?
What time is the first and last bus from Johor to Kedah?
The earliest scheduled departure is 7:30 AM and the last is 11:59 PM. Exact times vary by operator and boarding point.