Travelers from other countries can reach Semarang via air, at the Ahmad Yani International Airport. Flights to Singapore, Jakarta, Balikpapan, Surabaya, Banjarmasin and Bali are available from the airport.
Semarang can be reached by car from locations like Jakarta, Solo, Banyumas/Cilacap and Surabaya by separate routes. Usually, Pantura road is taken to be the safest and most convenient route for long journeys. It takes around 10-12 hours to drive from Jakarta, 2-3 hours from Solo, 5-6 hours from Banyumas and around the same time period from Surabaya.
By train, locals usually travel to and from Jakarta, Bandung and Surabaya as these locations remain well connected to Semarang via railways.
Most bus companies operate from terminals in Jakarta at the extreme ends, and some even provide the option of overnight travel to Semarang. Joglosemar is a popular tourist bus service that takes travelers from Jogjakarta to Semarang through Solo, they also provide snacks on board and pick passengers up from their hotels.