
Flight
Direct, fastest option, best overall for long distance
Bus
Cheapest option, overnight possible, long journey
Train
More comfortable, but multiple transfers and slower
Complicated transfers
Too many changes, long travel time, not practical
Quick answer: From Kuala Johor Bahru to Penang your main options are bus, train (via multiple transfers), or a direct flight. Buses are the most budget‑friendly, trains offer a more relaxed land route (but with transfers), and flights are the fastest. It is also possible to book a private car with driver. Always check current schedules and book in advance for best deals.
At a glance:
- 📍 Distance / context: Approx. ~600‑700 km as the route travels between Johor Bahru and Penang (train/bus).
- ⏱️ Travel time: Bus: ~9‑17 hours | Train: ~12‑15 hours (via multiple transfers) | Flight: ~1 h 10 min air time
- 💰 Price range: Bus: ~$16‑25 per person | Train: ~$23‑40 per person | Flight: ~$40‑100 per person
- 🚍 Bus: Cheapest, many departures, but can be long and subject to road delays.
- 🚆 Train: More comfortable land journey for those not in a rush, but requires transfers and takes longer.
- ✈️ Flight: Fastest and most convenient for time‑sensitive travellers.
Last updated in April 2026
From Johor Bahru to Penang you can travel by bus, train, plane or private car.
Traveling from Johor Bahru to Penang covers about 700 km by land or around 600 km by air. You can travel by direct flight, tourist bus, KTM train via Gemas and Butterworth, or private taxi. The fastest option is a direct flight, taking about 1.5 hours, with fares starting from $40-50/pp.
The cheapest option is usually the bus, with tickets from $16-25/pp and a journey time of about 9-17 hours. You can also travel by KTM train via Gemas to Butterworth, with a total travel time of about 12-15 hours. From Butterworth, a short ferry or local bus ride takes you to Georgetown on Penang Island.
Penang is one of Malaysia’s most popular destinations, famous for historic Georgetown, beautiful beaches, excellent street food and Penang National Park. From Penang you can also continue by ferry or flight to Langkawi, or travel south to Kuala Lumpur. Another interesting stop on this route is Ipoh.
| Transfer modes from Johor Bahru to Penang: | Travel Time | Cost Range |
|---|---|---|
| Bus (via Kuala Lumpur) | 9–17 hours | $16–25 per person |
| Train (KTM via Gemas and Kuala Lumpur) | 12–15 hours | $23–40 per person |
| Plane (Direct Flight) | 1 hour 10 minutes | $40–100 per person |
| Private car with a driver | 7 hours | $340–720 per car |
How do I get from Johor Bahru to Penang?
1. BUS from Johor Bahru to Penang
👉 Bus is the most budget-friendly way to travel from Johor Bahru to Penang.
- ✔️ Ideal for: low-cost travelers and those with flexible schedules
- ✔️ Travel time: ~9–17 hours
- ✔️ Cost: $16–23 per person
- ✔️ Comfort level: moderate (long-distance buses with seats and AC)
- ✅ Best Option: Direct buses to Sungai Nibong or Penang Sentral with companies like Super Nice Express or KKKL Express
- 💡 Tip: If arriving in Butterworth, plan a short ferry transfer to Georgetown and expect possible delays on longer routes.
The cheapest way to travel from Johor Bahru to Penang is by tourist bus. Companies such as Billion Stars Express, KPB Express, Super Nice Express, Pancaran Matahari, Starmart, KKKL Express, LA Holidays, Sin Yong, Mayang Sari and Plusliner operate daily services on this route.
Buses depart from Larkin Bus Terminal and arrive at Sungai Nibong, Penang Sentral or Butterworth. If you arrive in Butterworth, you can continue to Georgetown by ferry in about 20 minutes.
The journey takes about 9-17 hours and bus tickets cost around $16-23/pp. Tickets can be booked online in advance, and it is recommended to check departure and arrival points before traveling.
| Bus Company | Departs in Johor Bahru | Arrival in Penang |
|---|---|---|
| Billion Stars | 06:29 | 15:44 |
| Billion Stars | 08:30 | 17:45 |
| Billion Stars | 10:00 | 19:14 |
| Billion Stars | 12:00 | 21:15 |
| Billion Stars | 13:30 | 22:45 |
| Billion Stars | 15:00 | 00:15 |
| Billion Stars | 21:30 | 06:45 |
| KPB Express | 09:00 | 18:15 |
| KPB Express | 12:00 | 21:12 |
| KPB Express | 17:30 | 02:42 |
| KPB Express | 18:30 | 03:42 |
| KPB Express | 19:30 | 04:42 |
| KPB Express | 21:00 | 06:12 |
| KPB Express | 22:00 | 07:00 |
| Mayang Sari | 10:30 | 03:42 |
| Mayang Sari | 20:00 | 13:12 |
| Sri Maju Group | 20:30 | 05:42 |
| Pancaran Matahari | 21:00 | 14:12 |
| KKKL Express | 21:00 | 14:12 |
| KKKL Express | 22:00 | 15:12 |
| LA Holidays | 21:30 | 14:42 |
| Sin Yong | 22:15 | 15:13 |
| Super Nice Express | 23:00 | 08:00 |

2. TRAIN from Johor Bahru to Penang (Butterworth)
👉 Train via Gemas is a comfortable but longer way to travel from Johor Bahru to Penang.
- ✔️ Ideal for: travelers who prefer train journeys and don’t mind transfers
- ✔️ Travel time: ~12–15 hours
- ✔️ Cost: $23–40 per person
- ✔️ Comfort level: high (KTM trains with seating classes)
- ✅ Best Option: KTM trains from JB Sentral to Gemas + onward train to Butterworth + ferry to Penang
- 💡 Tip: Book both train segments in advance and check connection times carefully to avoid long waiting periods.
You can also travel from Johor Bahru to Penang by KTM Berhad train via Gemas. This option requires 2 train journeys—first from Johor Bahru to Gemas, then from Gemas to Butterworth. The main drawback is the limited train schedule and the transfer in Gemas.
1. BOOK TRAIN TICKETS to Gemas ➜
Trains depart from JB Sentral and arrive at Gemas Railway Station, where you change to a train bound for Butterworth. See the Malaysia Railway Map. From Butterworth, you can take a 20-minute ferry to Georgetown on Penang Island.
The total journey takes about 12-15 hours and train tickets cost around $23-40/pp, depending on the seat class. Tickets for both train segments must be booked separately and are available online as e-tickets.
2. BOOK TICKETS to Butterworth ➜

3. DIRECT FLIGHT from Johor Bahru to Penang
👉 Flight is the fastest and most convenient way to travel from Johor Bahru to Penang.
- ✔️ Ideal for: travelers who want to save time and prefer a quick transfer
- ✔️ Travel time: ~1h 10min (up to ~5 hours total including airport procedures)
- ✔️ Cost: $40–100 per person
- ✔️ Comfort level: high (direct flights with modern airlines)
- ✅ Best Option: Direct flights with AirAsia or Malaysia Airlines
- 💡 Tip: Compare direct and connecting flights, and allow enough time for airport transfers and check-in.
The fastest and most convenient way to travel from Johor Bahru to Penang is by direct flight. Flights operate from Johor Bahru Senai International Airport to Penang International Airport and take only about 1 hour 10 minutes. Including airport transfers and check-in, the total travel time is around 4-5 hours.
Flights are operated by Malaysia Airlines, Firefly and AirAsia, with AirAsia usually offering the lowest fares. Economy class tickets typically cost between $40-100/pp, although prices vary throughout the year. Some connections include a stopover in Kuala Lumpur.
You can easily search and book flights online in advance. A direct flight is the best transport option if you want to save time and enjoy the fastest journey between southern and northern Malaysia.
BOOK DIRECT FLIGHT to Penang ➜
| Airline | Departs in Johor Bahru | Arrival in Penang |
|---|---|---|
| Air Asia | 07:00 | 08:10 |
| Air Asia | 12:05 | 13:15 |
| Air Asia | 15:25 | 16:35 |
| Air Asia | 20:45 | 21:55 |
| Firefly | 23:35 | 00:50 |
| Malaysia Airlines | 23:35 | 00:50 |

4. PRIVATE CAR / TAXI from Johor Bahru to Penang
👉 Private taxi/car is the most comfortable and direct land option from Johor Bahru to Penang.
- ✔️ Ideal for: groups, families, and travelers wanting a hassle-free journey
- ✔️ Travel time: ~7 hours
- ✔️ Cost: $340–720 per vehicle
- ✔️ Comfort level: very high (private cars or minivans with driver)
- ✅ Best Option: Private transfer with companies like Daytrip
- 💡 Tip: Split the cost among passengers and customize pickup/drop-off locations for a smoother trip.
A private car with a driver is the most comfortable land transfer from Johor Bahru to Penang. Daytrip offers modern sedans and larger minivans, making this option ideal for families or small groups traveling together.
The journey takes about 7 hours, depending on traffic and your exact pickup and drop-off locations. One of the main advantages is the flexibility to choose your departure time and travel directly to your hotel without additional transfers.
Private transfers cost about $340-720/car, depending on the vehicle type. Smaller cars are the cheapest option, while larger minivans for 4-7 passengers cost more. You can book your private transfer online in advance and should always read the transfer conditions before departure.
❓ FAQ + Information – Johor Bahru to Penang
How to book tickets from Johor Bahru to Penang?
Book bus, train and flight tickets online via 12go.asia ➜ or Baolau ➜. You can also search for other routes across Malaysia.
How long does it take to travel from Johor Bahru to Penang?
By bus: 9-17 hours. By KTM train via Gemas: 12-15 hours. By direct flight: about 1 hour 10 minutes. By private car: about 7 hours.
How much does it cost?
Bus: $16-25/pp. Train: $23-40/pp. Direct flight: $40-100/pp. Private car: $340-720/car.
What is the travel distance?
The distance is about 700 km by land and around 600 km by air.
What is the best way to travel?
A direct flight is the fastest and most convenient option, taking just over 1 hour with competitive fares.
What is the cheapest option?
The cheapest way is by tourist bus. Tickets start at around $16 per person.
Is there a direct train to Penang?
No. You need to change trains at Gemas before continuing to Butterworth.
How do I get from Butterworth to Georgetown?
Take the ferry from Sultan Abdul Halim Ferry Terminal, located next to Butterworth Railway Station.
Where can I travel from Penang?
You can continue to Kota Bharu, Kuala Terengganu or visit Redang Island.
How do you travel from Penang to Kota Bharu?
You can travel by direct flight or tourist bus. Bus tickets start at about $9-10/pp.
Is Malaysia suitable for solo travelers?
Yes. Malaysia has reliable transport, affordable accommodation and is one of the easiest countries in Southeast Asia for independent travel. Read more: Solo Travel in Malaysia.
💡 Practical Travel Tips for Johor Bahru to Penang
Traveling from Johor Bahru to Penang covers about 700 km. You can travel by direct flight, bus, KTM train via Gemas, or private car.
- Fly to Save Time: Direct flights take about 1 hour 10 minutes and are the fastest option.
- Bus for the Best Value: Buses are the cheapest choice, with both daytime and overnight departures available.
- Train Requires a Transfer: KTM trains require a change at Gemas before continuing to Butterworth.
- Don’t Forget the Ferry: If arriving in Butterworth by train, take the short ferry to George Town.
- Book Early: Flights and popular bus departures can sell out during weekends and holidays.
- Pack for a Long Journey: Bring water, snacks, a power bank and a light jacket for bus or train travel.
Tip: Bus, train, flight and private transfer tickets from Johor Bahru to Penang can be searched and booked online in advance.
