Route

Our route: Kuala Lumpur → Ipoh → Penang → Mersing → Tioman → SingaporePenang → Johor Bahru by air; onward to Mersing by road.
Kuala Lumpur3 nights
Ipoh2 nights
Penang4 nights
Mersing1 night
Tioman5 nights
Singapore4 nights

Our actual 19-day route

Stop Dates Nights Our take
Kuala Lumpur 9–12 Aug 3 A strong start and a city we would happily revisit.
Ipoh 12–14 Aug 2 Optional on a three-week Malaysia trip.
Penang / Batu Ferringhi 14–18 Aug 4 A clear recommendation.
Mersing 18–19 Aug 1 Practical overnight stop before the ferry.
Tioman Island 19–24 Aug 5 One of the highlights of the trip.
Singapore 24–28 Aug 4 A good finish for the trip.

How we moved between Penang and Tioman

We flew from Penang (PEN) to Johor Bahru (JHB) with AirAsia. The flight cost €240.75 for four people. From Johor Bahru we continued by road to Mersing, stayed overnight, and took the ferry to Tioman the next day.

Why the route worked for us

The strongest part of the itinerary was the contrast. Kuala Lumpur and Singapore bookended the journey with two very different city experiences, while Penang and Tioman gave the trip much more character than a city-only itinerary would have had.

Five nights on Tioman were important. It gave us enough time for the island to feel like a destination rather than simply another stop.

What we would change next time

If the total trip length stayed around three weeks, Ipoh is where we would most likely save time. We would still make room for the orangutan experience, because that was one of the things we would absolutely repeat.

We would also keep Mersing exactly what it was: one practical night. For us, it was a transfer point rather than a destination that needed extra time.