Most visitors arrive from Singapore. The Johor-Singapore Causeway carries bus and car traffic across the strait — fares on the Singapore-JB buses are nominal, and the crossing takes minutes once you are through immigration (which can take considerably longer during peak hours). The Second Link bridge to the west of the city is a faster option by car when the Causeway is congested. Taxis cross both links but fares are higher; agree a price before you get in.
By air, Senai International Airport sits about 30km north of the city. Malaysia Airlines, AirAsia, and Firefly serve it from domestic and some regional destinations. Taxis and shuttle buses connect the airport to the city centre.
Trains on KTM's intercity network run from Kuala Lumpur and other Malaysian cities to JB Sentral station, which sits at the Causeway end of town. The journey from KL takes around five hours; comfortable but slow. Passengers continuing to Singapore take a shuttle train across the Causeway to Woodlands in Singapore, clearing immigration at both ends.
Ferries connect JB to the Indonesian islands of Batam and Bintan, with the crossing taking around 90 minutes. Desaru on the east Johor coast also runs ferry services to JB.