Overview Compare Train Direct Bus via Butterworth Flight Taxi
How to get from Kuala Lumpur to Penang
Penang is a cultural melting pot located on the northwest coast of Malaysia. For such a small island, Penang has so much to offer – vibrant culture, colourful heritage, amazing food, urban wonders, and untouched rainforest. At its heart is George Town, a UNESCO World Heritage Site, and a city rich in history.
You have 4 options when travelling the 290 km distance from Kuala Lumpur to Penang: by train (5 hours), by bus (5.5 to 6 hours), by flight (1 hour), or by taxi (4.5 hours). Fares range from 41 MYR ($9.00) to 813 MYR ($180.00).
5 ways to get from Kuala Lumpur to Penang
The train is the most convenient way to travel from Kuala Lumpur to Penang. There is no direct train, though. This means you will have to take one up to Butterworth and then transfer (via a walkway from the station) to a ferry going to Penang Island. Combined fares start from 79 MYR ($17.50) and the total journey lasts about 5 hours.
The bus is the cheapest option, with tickets from 41 MYR ($9.00). You can choose to take a direct bus to Penang Island (5 hours) or one that goes to Butterworth and then take the ferry from there (5.5 – 6 hours).
Bear in mind that the drop-off point of the direct bus is 10 km from George centre instead of the 2 km distance from the ferry port. For this reason, the indirect option might be as convenient than the direct option.
The flight is the quickest option as it takes only 1 hour. However, we don’t really recommend short-haul flights like this as they are very harmful to the environment. Unless you’re really short on time, we suggest that you take the train or bus instead. Airfares start from 107 MYR ($23.50).
The taxi is the most expensive option starting at 813 MYR ($180.00). However, it’s a good alternative if you prefer to have your own private vehicle and be delivered to your doorstep.
Kuala Lumpur to Penang by Train
What we love most about taking the train is the comfort and serene rural views that flash past the window. Although it doesn’t go all the way to Penang, you get off at Butterworth Train Station and then smoothly transfer to a ferry bound for the island.
Step 1: Kuala Lumpur to Butterworth by Train
The KTM Komuter operates 2 trains from Kuala Lumpur Sentral to Butterworth Station daily. These depart at 11:15 and 17:31, with a travel time of 4 to 4.5 hours. On weekends (Friday to Sunday), there is also an additional trip that departs at 08:05.
There are 2 kinds of trains: ETS Platinum and ETS Gold. The main difference is that the Platinum trains normally reach the destination faster than the Gold ones.
Train fares start from 63 MYR ($14.00) for a standard seat when you book with Baolau.
Check Train Tickets with Baolau
Step 2: Butterworth to Penang by Ferry
Butterworth Train Station is connected to Pangkalan Sultan Abdul Halim Ferry Terminal by a walkway, so you won’t have a hard time finding it. Keep in mind that this walkway includes some stairs, so the 10-min walk can be tiring if you’re carrying a lot of luggage.
At the terminal, you can buy your ferry ticket for 3 MYR ($0.60).
Ferries depart every 20 to 30 minutes from 05:20 to 22:00, and every 40 minutes until the last trip at 00:40. They dock at Weld Quay in Penang Island, which is just a 5-minute taxi ride (2 km) from George Town city centre.
Once you arrived at Penang, you can easily take a taxi from the port, but you can also order one via Grab. Taxi fares start at 13 MYR ($2.80). Alternatively, you can take Bus Line 101 for 5 MYR ($1.00), just make sure this passes somewhere near your hotel. Last, you can even walk to the centre in just 20-30 minutes.
Kuala Lumpur to Penang by Bus
Thanks to the connecting highway of Penang Island and the mainland, there are also direct buses that can bring you straight to Penang Island, without having to take a ferry.
Instead of taking a direct bus, you can also take an indirect option with the bus, by travelling to Butterworth first. Butterworth is the same station where the train arrives. From there you will need to take the same ferry as explained in step 2 of the train ride.
Although this sounds a bit more complicated, it’s still a very easy alternative with the advantage of more luxurious buses when travelling to Butterworth.
In addition, the distance from the arrival point in Penang to George Town centre is much shorter when arriving by ferry (2 km) instead of the direct bus (10 km).
Kuala Lumpur to Penang by Direct Bus
The bus is an affordable way to travel from Kuala Lumpur to Penang. There are at least 2 companies that operate direct trips for this route: KKKL Express and Billion Stars Express.
These buses depart from 06:00 in the morning until 23:00 almost every 30 minutes, so you can be pretty flexible with your schedule.
However, we don’t recommend travelling in the evening as you will arrive in the middle of the night or very early in the morning in Penang. This doesn’t really help if you’re trying to save on accommodation and on top of that, you’ll probably end up having a pretty bad night’s sleep!
We recommend taking the KKKL Express as they receive very good reviews. You can book a ticket online at Baolau for 41 MYR ($9.00).
Below are our recommended schedules, but you can also check more departures through the provided booking link to Baolau.
Bus Schedule from Kuala Lumpur to Penang
Buses depart from Kuala Lumpur Bus Terminal and arrive at Sungai Nibong Bus Terminal, about 10 km from the city centre.
If you’re staying at George Town, you can either take a bus (Line 102) for 50 minutes or a taxi for around 20 minutes. Fares start at 5 MYR ($1.00) and 39 MYR ($8.50), respectively.
Kuala Lumpur to Penang by Indirect Bus
If you prefer a little adventure, you can add a stop to your journey and hop on a bus to Butterworth. From here, just like the train, you can take a ferry to your final destination of Penang.
Step 1: Kuala Lumpur to Butterworth by Bus
KPB Ekspres and Transnational operate trips from Kuala Lumpur to Butterworth. The one advantage of taking this indirect route is the comfort, as VIP buses are available. A ticket costs 47 MYR ($10.00) when you book online via BookAway.
Bus Schedule from Kuala Lumpur to Butterworth
The bus parks at Penang Sentral in Butterworth.
Step 2: Butterworth to Penang by Ferry
The same as the first option, Penang Sentral is connected to the ferry terminal by a walkway. A ferry ticket costs 3 MYR ($0.60) and you can cross to Weld Quay on Penang Island in 10 to 20 minutes, depending on the water condition.
Ferries depart every 20 to 30 minutes from 05:20 to 22:00, and every 40 mins until the last trip at 00:40.
Most likely, once you arrive in Penang, you can take a 5-minute taxi ride to reach your hotel. If you’re staying in George Town, you can also take the bus (Line 101), but this may take longer as it makes a lot of stops. Another alternative is to walk to the centre in 20-30 minutes.
Kuala Lumpur to Penang by Flight
When travelling by flight from Kuala Lumpur to Penang, you can depart from 2 airports: Subang Airport or Kuala Lumpur Airport (KLIA). Subang Airport is closer to Kuala Lumpur city centre, but Kuala Lumpur Airport normally offers cheaper flights.
All flights arrive at Penang Airport, located in the southern end of the island. From here, George Town is 18 km away.
To complete the final step of reaching your hotel, you have two options: take a taxi for around 30 minutes, costing around 30 MYR ($6.50) or you can take the bus for 1 hour, costing 3 MYR ($0.60). There are several bus lines available, but make sure you board one that stops near your hotel.
Flight via Subang Airport (SBZ)
Thai Lion Air, Malindo Air, Firefly and Malaysia Airlines offer several flights daily from Subang Airport (SBZ) to Penang. Fares start from 141 MYR ($31.00) and travel time is 1 hour.
Check Flights from Subang Airport with Skyscanner
Subang Airport is located some 30 minutes away from Kuala Lumpur city centre.
You can reach it via a train from KL Sentral, via bus #U81 (or you can ask your hotel if there are other available buses from your location), or by taxi. Fares start from 2 MYR ($0.40).
Flight via Kuala Lumpur International Airport (KUL)
Air Asia normally offers the cheapest flights from Kuala Lumpur Airport to Penang. Tickets tend to start at 107 MYR ($23.50) and travel time is also 1 hr. Other carriers offering flights for this route are Thai Lion Air, Malaysia Airlines, and Malindo Air.
Check Flights from KL Airport with Skyscanner
KL Airport is 30 minutes to 1 hour away from the city centre, which can be reached by bus, train or taxi. Visit our page on Kuala Lumpur Int’l Airport for more details.
Kuala Lumpur to Penang by Taxi
We don’t really recommend taking a taxi from Kuala Lumpur to Penang as it is quite expensive and the other options are pretty comfortable. However, if you are set on getting a private ride, taxis are available to book online via BookAway from 813 MYR ($180.00).
Ela is a storyteller, content producer, solo traveller and a mermaid-in-training. When she’s not in front of her laptop, you will find her barefoot and living her best tan on some island in the Philippines… Or exploring the depths of its seas as a budding freediver. An island girl at heart, she’ll be happy anywhere there is sea, sand, sun and coffee.
Kate is a writer, (ex)Management Consultant and avid traveller. She recently returned from a 2-year career break exploring the world and decided corporate life wasn’t for her. She’ll soon be testing life as a digital nomad. She’s visited over 40 countries and fell in love with Latin America in particular. Her travelling has inspired a passion for yoga, salsa, hiking and Spanish.