How to get from Kuala Lumpur to Penang
Leaving from...
Going to...
Loading route:
Why visit Penang?
Penang is a cultural melting pot on the northwest coast of Malaysia. For such a small island, it 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. Famous for its street art, you can easily spend hours exploring its alleys. Sure, the island can be touristy. Yet somehow, it is able to maintain a laidback vibe and a charm that you can only find in Penang.
What are the 5 ways to travel from Kuala Lumpur to Penang?
There are 5 ways to travel the 290 kilometre (180 miles) distance from Kuala Lumpur to Penang. You can choose between the bus, taxi, train, flight and indirect bus. The journey takes 1 hour to 9 hours 15 minutes and the quickest way is by flight. If you're on a budget, the cheapest option is by indirect bus with tickets starting at 32.50 MYR ($8.20).
Kuala Lumpur to Penang by Indirect Bus
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).
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 29.50 MYR ($7.50) when you book online via BookAway.
- 24/7 customer support
- 24/7 customer support
- 24/7 customer support
- 24/7 customer support
- 24/7 customer support
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.80) and you can cross to Weld Quay on Penang Island in 10 – 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 Bus
Thanks to the connecting highway between Penang Island and the mainland, there are direct buses that can bring you straight to Penang Island, without having to take a ferry.
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.
Bus ticket prices start from 34.50 MYR ($8.70).
Bus options 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.30) and 39 MYR ($9.90), respectively.
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 – 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 ($16) for a standard seat when you book 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.80).
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 ($3.30). Alternatively, you can take Bus Line 101 for 5 MYR ($1.30), 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 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 ($7.60) or you can take the bus for 1 hour, costing 3 MYR ($0.80). There are several bus lines available, but make sure you board one that stops near your hotel.
TIP: If you decide to travel by plane, please consider including a carbon compensation fee to reduce your impact on the environment.
Option 1: 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 140 MYR ($36) and travel time is 1 hour.
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.50).
Option 2: 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 105 MYR ($27) and travel time is also 1 hour. Other carriers offering flights for this route are Thai Lion Air, Malaysia Airlines, and Malindo Air.
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 12go.Asia from 855 MYR ($215).
Rounding it up
We hope this guide was helpful in planning how to get from Kuala Lumpur to Penang. If there's anything else you're wondering about, drop us a comment and we'll do our best to answer you within a few days.
PS: If you've recently travelled this route, share your experience with fellow travellers and help us improve this post. Thanks for helping out our travel community!
Frequently Asked Questions about Kuala Lumpur to Penang
What is the distance from Kuala Lumpur to Penang?
The distance from Kuala Lumpur to Penang is 290 kilometre (180 miles).
What is the fastest way to get from Kuala Lumpur to Penang?
The fastest way to get from Kuala Lumpur to Penang is by flight and takes 1 hour.
What is the cheapest way to get from Kuala Lumpur to Penang?
The cheapest way to get from Kuala Lumpur to Penang is by indirect bus with ticket costs starting from 32.50 MYR ($8.20).
Was this post helpful?
Click on a star to rate it!
Average rating 5 / 5. Vote count: 8
No votes so far! Be the first to rate this post.
We are sorry that this post didn't meet your expectations.
Your feedback is very valueable to us
What was missing in this post? (TIP: If you want us to reply to your feedback, you can leave your email in this text box.)
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 travel content creator, writer and founder of Stay Wild Travel, a tour company running group trips for women beyond your typical destinations. Her full-time travels have taken her to almost 60 countries, and she doesn’t intend to stop anytime soon.

