Use the quicklinks below to jump to the desired section regarding transport in and around Johor Bahru.
JB is served by the Sultan Ismail International Airport (also known as "Senai Airport" -- airport code JHB) which is about 30 km from the city centre. The airport has a food court, restaurants, a pharmacy, and car rental agencies. There is not an airport hotel. There is a shuttle bus service to the city centre as well as pre-paid taxis (40 RM to Johor Bahru).
As at mid 2009, at least three airlines operate out of Senai Airport to destinations in Thailand, Malaysia and Indonesia. FireFly flies to Penang and Subang, and Malaysia Airlines flies to Kuala Lumpur and Kuching. Senai Airport is an AirAsia hub and there are flights to Bangkok, Kota Kinabalu, Kuala Lumpur, Kuching, Jakarta, Miri, Penang, Sibu, Surabaya.
The airport tax is 51 RM for international flights and 9 RM for domestic flights, but this is included in ticket prices. Flights out of JB are often a steal -- especially if you're headed to Borneo.
The shiny new JB Sentral Train Station is connected to City Square Mall and the new Immigration complex. Heading north, the train passes through the small cities of Kluang and Seremban before reaching Kuala Lumpur. Express trains depart at 8:30, 14:50, or 23:10 and arrive about seven hours later. Prices range from 20 ringgit for a 3rd class seat to 135 ringgit for a spacious 1st class berth on the overnight train. You can also take the train across the Causeway to Singapore (5 - 13 ringgit). Check schedules and reserve tickets on the very useful KTMB website: http://www.ktmb.com.my/
JB has two bus stations -- Kotaraya terminal for buses to Singapore or the airport and Larkin main station for everywhere else.
Kotaraya terminal is a five-minute walk from the city centre and the main hub for buses running to and from Singapore. A Singapore-bound bus departs at least every 10 minutes and costs about 2 ringgit. Hold on to your ticket as you'll have to leave/re-board the bus for Immigration. Many different companies operate bus services across the Causeway. The Causeway Express and Singapore-Johor Express services terminate at Queen Street Terminal in Singapore (near Bugis MRT) and SBS Bus #170 goes to Kranji MRT.
Shared taxis to Singapore also depart from Kotaraya Terminal and cost 15 ringgit a person or 60 ringgit for the whole car. Even if traffic is heavy the taxis can get you to Singapore much faster as there's a drive-thru Immigration service.
The shuttle bus to the Senai Airport costs 8 ringgit and takes about 45 minutes. You can purchase your ticket and check the bus schedule at the City Airport Lounge.
All other destinations are served by Larkin terminal (T: (07) 223 3159), a two-storey tangle of ticket booths, food stands, clothing shops and shouting ticket agents that is annoyingly located 4 km north of the city. The ticket booths have signs with destinations and departure times or, easier yet, tell one of the roaming ticket agents where you want to go and he'll lead you to the right place. Tickets clearly have the price printed on them so you don't have to worry about getting ripped off. There's a left luggage counter on the ground floor (2 ringgit per bag).
Numerous bus companies cover the route to Kuala Lumpur and Melaka and departures are so frequent that it's not necessary to book in advance. Business class buses between JB and KL have individual TV screens, meal service, and some even have WiFi. For overnight bus tickets to Butterworth or Kota Bahru it's advisable to make a reservation -- especially on weekends. Tickets anywhere need to be booked in advance during holidays like Chinese New Year.
Melaka departs hourly 8:00 – 22:00, taking 3 hours and costs 20 ringgit
Kuala Lumpur (standard) departs every 30 minutes between 7:00 – 24:00, taking 4-5 hours and costs 30 ringgit
Kuala Lumpur (business) departs every 30 minutes between 7:00 – 24:00, taking 4-5 hours and costs 50 ringgit
Butterworth / Penang departs 20:00, 21:00, 21:30, taking 10 hours and costs 60 ringgit
Mersing (for Tioman Island) departs 8:30, 9:00, 10:30, 11:00, 15:00, 21:00, taking 2 hours and costs 10 ringgit
Kuantan (via Mersing) departs 8:30, 10:30, 11:00, 15:00, 18:00, taking 5 hours and costs 30 ringgit
Kota Bahru departs 9:00, 20:30. 21:00, taking 9 hours and costs 60 ringgit