Independent guide to express bus & coach travel across Malaysia

Book bus tickets online →

City Express

58 routes · 7 states · 230 daily departures · from RM22.00

58
Routes
230
Daily departures
RM22.00
Fares from
Advertisement

Timetable data last refreshed August 2026. Operators change schedules at short notice — always confirm when you book.

City Express operates 58 scheduled routes to Johor, Kuala Lumpur, Kedah, Thailand, Selangor, Perak and Singapore, with 230 departures a day and fares from RM22.00.

Passenger rating
3.8 / 5
Destination states
7
Scheduled routes
58 · 230 daily departures
Seating layouts
1+2
Fares from
RM22.00
Official website
cityexpress.com.my

Book City Express online

Check live City Express seat availability and get an instant e-ticket.

Check live fares & availability

City Express coaches

Where they go

Timetable and fares

Routes are grouped by destination state. Open a section to see its services, or type in the filter box to search every section at once.

Please note: this timetable is a guide. City Express may add, withdraw or retime services without notice.

To Johor17 routes · 112 departures · from RM25.00
City Express timetable — To Johor
Boarding pointArrival pointDeparture timesFare fromSeating
Klang Sentral Sani Bus TerminalKulai
10:00 PM11:00 PM
RM48.001+2
Klang Sentral Sani Bus TerminalLarkin Sentral
8:30 AM10:00 AM12:00 PM2:00 PM3:30 PM4:30 PM10:00 PM11:00 PM
RM52.001+2
Klang Sentral Sani Bus TerminalSkudai Johor
8:30 AM10:00 AM12:00 PM2:00 PM3:30 PM4:30 PM10:00 PM11:00 PM
RM52.001+2
Larkin SentralBukit Gambir
6:30 PM
RM27.001+2
Larkin SentralTangkak Bus Terminal
9:30 AM2:30 PM6:30 PM
RM27.001+2
Larkin SentralTerminal Bentayan Muar
6:45 AM7:30 AM8:30 AM11:15 AM1:30 PM2:30 PM3:30 PM7:30 PM
RM25.001+2
TBS (Terminal Bersepadu Selatan)Kulai
7:30 AM8:30 AM9:30 AM10:00 AM11:00 AM12:30 PM2:30 PM4:45 PM6:30 PM7:30 PM9:00 PM10:00 PM11:00 PM11:45 PM
RM44.001+2
TBS (Terminal Bersepadu Selatan)Larkin Sentral
8:30 AM9:30 AM11:00 AM12:30 PM6:30 PM7:30 PM9:00 PM11:45 PM
RM48.001+2
TBS (Terminal Bersepadu Selatan)Masai Bus Terminal
7:30 AM10:00 AM2:30 PM4:45 PM9:00 PM10:00 PM11:00 PM
RM54.001+2
TBS (Terminal Bersepadu Selatan)Pasir Gudang Bus Terminal
7:30 AM10:00 AM2:30 PM4:45 PM9:00 PM10:00 PM11:00 PM
RM54.001+2
TBS (Terminal Bersepadu Selatan)Skudai Johor
7:30 AM8:30 AM9:30 AM10:00 AM11:00 AM12:30 PM2:30 PM3:00 PM4:45 PM6:30 PM7:30 PM9:00 PM10:00 PM11:00 PM11:45 PM
RM34.101+2
TBS (Terminal Bersepadu Selatan)Terminal Bentayan Muar
8:00 AM1:30 PM6:30 PM
RM25.001+2
Tangkak Bus TerminalLarkin Sentral
10:00 AM2:30 PM5:30 PM
RM27.001+2
Terminal 17, Shah AlamKulai
10:30 PM11:30 PM
RM48.001+2
Terminal 17, Shah AlamLarkin Sentral
9:05 AM10:30 AM12:30 PM2:30 PM4:00 PM5:00 PM10:30 PM11:30 PM
RM52.001+2
Terminal 17, Shah AlamSkudai Johor
9:05 AM10:30 AM12:30 PM2:30 PM4:00 PM5:00 PM10:30 PM11:30 PM
RM52.001+2
Terminal Bentayan MuarLarkin Sentral
8:00 AM10:00 AM12:30 PM3:00 PM4:45 PM6:00 PM7:00 PM
RM25.001+2
To Kuala Lumpur12 routes · 49 departures · from RM22.00
City Express timetable — To Kuala Lumpur
Boarding pointArrival pointDeparture timesFare fromSeating
Bukit Kayu Hitam (CTC Recreation)Hentian Duta
1:00 PM
RM70.001+2
Bukit Kayu Hitam (CTC Recreation)TBS (Terminal Bersepadu Selatan)
1:00 PM
RM70.001+2
Bukit Kayu Hitam Check PointHentian Duta
12:00 PM
RM70.001+2
Bukit Kayu Hitam Check PointTBS (Terminal Bersepadu Selatan)
12:00 PM
RM70.001+2
Changloon Bus TerminalHentian Duta
2:00 PM
RM60.001+2
Changloon Bus TerminalTBS (Terminal Bersepadu Selatan)
2:00 PM
RM60.001+2
Larkin SentralTBS (Terminal Bersepadu Selatan)
6:30 AM8:30 AM9:30 AM10:30 AM11:30 AM2:30 PM3:30 PM5:30 PM6:30 PM7:30 PM9:30 PM11:00 PM11:45 PM
RM48.001+2
Masai Bus TerminalTBS (Terminal Bersepadu Selatan)
8:15 AM9:30 AM12:45 PM4:30 PM8:30 PM10:45 PM
RM53.001+2
Pasir Gudang Bus TerminalTBS (Terminal Bersepadu Selatan)
8:30 AM9:45 AM1:00 PM4:45 PM8:45 PM11:00 PM
RM53.001+2
Tangkak Bus TerminalTBS (Terminal Bersepadu Selatan)
10:15 AM3:45 PM
RM22.001+2
Terminal Bentayan MuarTBS (Terminal Bersepadu Selatan)
9:30 AM3:00 PM6:00 PM
RM25.001+2
Tun Aminah Bus TerminalTBS (Terminal Bersepadu Selatan)
7:10 AM9:00 AM10:00 AM11:00 AM12:00 PM2:00 PM3:00 PM4:00 PM7:10 PM8:00 PM10:00 PM11:30 PM11:59 PM
RM48.001+2
To Kedah9 routes · 15 departures · from RM50.00
City Express timetable — To Kedah
Boarding pointArrival pointDeparture timesFare fromSeating
Hentian DutaAlor Setar Bus Terminal
11:30 PM
RM50.001+2
Hentian DutaBukit Kayu Hitam Check Point
10:30 PM11:30 PM
RM80.001+2
Hentian DutaChangloon Bus Terminal
10:30 PM11:30 PM
RM70.001+2
TBS (Terminal Bersepadu Selatan)Alor Setar Bus Terminal
11:00 PM
RM50.001+2
TBS (Terminal Bersepadu Selatan)Bukit Kayu Hitam Check Point
10:00 PM11:00 PM
RM80.001+2
TBS (Terminal Bersepadu Selatan)Changloon Bus Terminal
10:00 PM11:00 PM
RM70.001+2
Terminal Amanjaya, IpohAlor Setar Bus Terminal
2:00 AM
RM50.001+2
Terminal Amanjaya, IpohBukit Kayu Hitam Check Point
1:00 AM2:00 AM
RM70.001+2
Terminal Amanjaya, IpohChangloon Bus Terminal
1:00 AM2:00 AM
RM70.001+2
To Thailand6 routes · 12 departures · from RM70.00
City Express timetable — To Thailand
Boarding pointArrival pointDeparture timesFare fromSeating
Hentian DutaDanok
10:30 PM11:30 PM
RM80.001+2
Hentian DutaHatyai (New Star Tour)
10:30 PM11:30 PM
RM80.001+2
TBS (Terminal Bersepadu Selatan)Danok
10:00 PM11:00 PM
RM80.001+2
TBS (Terminal Bersepadu Selatan)Hatyai (New Star Tour)
10:00 PM11:00 PM
RM80.001+2
Terminal Amanjaya, IpohDanok
1:00 AM2:00 AM
RM70.001+2
Terminal Amanjaya, IpohHatyai (New Star Tour)
1:00 AM2:00 AM
RM70.001+2
To Selangor6 routes · 34 departures · from RM22.00
City Express timetable — To Selangor
Boarding pointArrival pointDeparture timesFare fromSeating
Larkin SentralKlang Sentral Sani Bus Terminal
7:30 AM9:00 AM10:00 AM3:30 PM4:30 PM8:30 PM10:00 PM11:00 PM
RM54.001+2
Larkin SentralTerminal 17, Shah Alam
7:30 AM9:00 AM10:00 AM3:30 PM4:30 PM8:30 PM10:00 PM11:00 PM
RM54.001+2
Melaka SentralKlang Sentral Sani Bus Terminal
1:30 PM
RM24.001+2
Melaka SentralTerminal 17, Shah Alam
1:30 PM
RM22.001+2
Tun Aminah Bus TerminalKlang Sentral Sani Bus Terminal
8:00 AM9:30 AM10:30 AM4:00 PM5:00 PM9:00 PM10:30 PM11:30 PM
RM54.001+2
Tun Aminah Bus TerminalTerminal 17, Shah Alam
8:00 AM9:30 AM10:30 AM4:00 PM5:00 PM9:00 PM10:30 PM11:30 PM
RM54.001+2
To Perak5 routes · 5 departures · from RM30.00
City Express timetable — To Perak
Boarding pointArrival pointDeparture timesFare fromSeating
Bukit Kayu Hitam (CTC Recreation)Terminal Amanjaya, Ipoh
1:00 PM
RM70.001+2
Bukit Kayu Hitam Check PointTerminal Amanjaya, Ipoh
12:00 PM
RM70.001+2
Changloon Bus TerminalTerminal Amanjaya, Ipoh
2:00 PM
RM60.001+2
Hentian DutaTerminal Amanjaya, Ipoh
11:30 PM
RM30.001+2
TBS (Terminal Bersepadu Selatan)Terminal Amanjaya, Ipoh
11:00 PM
RM30.001+2
To Singapore3 routes · 3 departures · from S$30.00
City Express timetable — To Singapore
Boarding pointArrival pointDeparture timesFare fromSeating
TBS (Terminal Bersepadu Selatan)Downtown East
3:00 PM
S$30.001+2
TBS (Terminal Bersepadu Selatan)Our Tampines Hub
3:00 PM
S$30.001+2
TBS (Terminal Bersepadu Selatan)Woodlands CIQ (Checkpoint)
3:00 PM
S$30.001+2
No routes match your filter.
Click a section to expand it, or type in the filter box to search every section at once. Book City Express

Boarding points

City Express picks up at 15 locations. Arrive at least 20 minutes before departure — coaches do not wait, and no-shows are not refunded.

Frequently asked questions

How much does a City Express ticket cost?

City Express fares start at RM22.00 one way, depending on the route and coach class.

Where does City Express go?

City Express serves 7 states — Johor, Kuala Lumpur, Kedah, Thailand, Selangor, Perak, Singapore.

How do I book a City Express ticket?

You can book City Express tickets online with instant e-ticket confirmation, or buy at the counter subject to availability.

What time do City Express buses depart?

Departures run from 1:00 AM through to 11:59 PM, depending on the route.

Other operators to Johor

Advertisement