Direct (nonstop) flights from Kuala Lumpur to Johor Bharu
4 airlines fly nonstop from Kuala Lumpur International Airport (KUL) to Sultan Ismail (JHB). It's 155 miles (249 km), about 1h in the air. Operated by AirAsia, Firefly, Malaysia Airlines and others.
Route data last updated: May 31, 2026
Airlines with non-stop flights
Alternative Routes
Other ways to fly from Kuala Lumpur to Johor Bharu with one stop · direct emits 29 kg CO₂ per passenger
Looking for the return flight?
JHB → KUL: Flights from Johor Bharu to Kuala LumpurOther direct flights from Kuala Lumpur
Direct flights from Johor Bharu (JHB)
Frequently Asked Questions
How long is the direct flight from Kuala Lumpur to Johor Bharu?
A nonstop flight from Kuala Lumpur (KUL) to Johor Bharu (JHB) takes approximately 1 hours. The distance is 155 miles (249 km).
Which airlines fly nonstop from Kuala Lumpur to Johor Bharu?
4 airlines: AirAsia, Firefly, Malaysia Airlines, Batik Air Malaysia.
Is there a nonstop flight from Kuala Lumpur to Johor Bharu?
Yes. 4 airlines: AirAsia, Firefly, Malaysia Airlines, Batik Air Malaysia.
How far is Kuala Lumpur from Johor Bharu?
The flight distance from Kuala Lumpur to Johor Bharu is 155 miles (249 km), measured as the great-circle (shortest air) distance.
What type of aircraft flies from Kuala Lumpur to Johor Bharu?
At 1h, this route typically uses narrow-body aircraft — Boeing 737 or Airbus A320. Varies by airline.
What is the carbon footprint of a flight from Kuala Lumpur to Johor Bharu?
Roughly 29 kg CO2 per passenger one-way. That's about the same as driving 145 km.
Is the return flight from Johor Bharu to Kuala Lumpur also nonstop?
Yes — nonstop flights run both ways. Flight time may differ slightly due to wind patterns.
When is the cheapest time to fly from Kuala Lumpur to Johor Bharu?
Midweek flights (Tue/Wed) outside holiday peaks are usually cheapest. 3-6 weeks ahead is a good window for this route. Use "Check Prices" above to compare.
How early should I arrive at Kuala Lumpur International Airport for this flight?
1.5-2 hours for domestic. Add more time during holidays or busy travel weekends.