Airports in Indonesia

Indonesia is a country consisting of over 17,000 islands, situated in Southeast Asia and Oceania. Given its size, it is no surprise that there are more than 600 airports, 34 of which are commercial. They range from grand international airports to the ones that are unpaved and located on remote islands. The biggest and busiest airport is Soekarno Hatta International Airport, serving the capital city of Jakarta. It is followed by Ngurah Rai International Airport in Bali and Juanda International Airport in Sedati. What’s more, four of Indonesia’s airports are listed among the top 50 best airports in the world

In this guide, we will present all major and international airports in Indonesia. At the end of the post, you will also find a map of all airports in Indonesia for easier navigation.

Jakarta Airport – IATA code – CGK

~ 60 million passengers

Jakarta Airport, also known as Soekarno Hatta International Airport or Cengkareng Airport, is the most significant and busiest airport in Indonesia, handling around 60 million passengers per year. It serves the capital city of Jakarta and Jabodetabek, its metropolitan area. CGK is located in Tangerang City, approximately 20 kilometers from Central Jakarta. The airport has 3 passenger terminals at the moment, and the 4th one is under construction. It is ranked 27th on the list of the top 50 best airports in the world. CGK serves as a hub for Batik Air, Citilink, Lion Air and Garuda Indonesia. The nearby cities are its satellite cities Bogor, Depok, Tangerang, South Tangerang, and Bekasi.

Bali Airport – IATA code – DPS

~ 24 million passengers

Bali Airport, also known as Ngurah Rai International Airport or I Gusti Ngurah Rai International Airport, is the main airport in Bali and the second busiest airport in Indonesia. It serves the city of Denpasar as well as the Gianyar and Badung Regencies. DPS is located approximately 13 kilometers south of Denpasar. The airport has two terminals, International Terminal and Domestic Terminal, which handle around 24 million passengers per year. It serves as a hub for Garuda Indonesia. Ngurah Rai International Airport is ranked 41st on the list of the top 50 best airports in the world. The nearby cities include Kuta, Singaraja and Ubud.

Surabaya Airport – IATA code – SUB

~ 22 million passengers

Surabaya Aiport, also known as Juanda International Airport, is the third busiest airport in Indonesia, serving the city of Surabaya and its metropolitan area. It is located approximately 12 kilometers from downtown Surabaya. The airport has two terminals that annually handle around 22 million passengers. It serves as a hub for Citilink and Lion Air. Juanda International Airport is ranked 25th on the list of the top 50 best airports in the world. The nearby cities include Malang, Salatiga, Batu and Kediri.

Makassar Airport – IATA code – UPG

~ 13 million passengers

Makassar Airport, also known as Sultan Hasanuddin International Airport, is an international airport located in the city of Makassar. It is situated approximately 20 kilometers from the city center. The airport currently has a single terminal under construction due to expansion. It handles around 13 million passengers per year. UPG serves as a hub for Batik Air, Garuda Indonesia and Lion Air. Besides Makassar, the nearest city is Parepare.

Medan Kuala Namu Airport – IATA code – KNO

~ 12 million passengers

Medan Kuala Namu Airport, also known as Kualanamu International Airport, is an international airport serving the city of Medan. It is located approximately 23 kilometers from Medan, in the Deli Serdang Regency. The airport has a single terminal that handles both domestic and international flights. KNO annually handles around 12 million passengers. It serves as a hub for Indonesia AirAsia, Garuda Indonesia and Susi Air. Kualanamu International Airport is ranked 10th on the list of the top 50 best airports in the world. The nearby cities include Pematangsiantar, Tebing Tinggi and Binjai

Yogyakartal Airport – IATA code – JOG

~ 8 million passengers

Yogyakarta Airport, also known as Adisutjipto International Airport, is an international airport serving the city of Yogyakarta. It is located approximately 6 kilometers from the city centre. The airport has two terminals that annually handle around 8 million passengers. There are several airlines providing flights, among which are Citilink, Sriwijaya Air and Garuda Indonesia. The nearby cities include Semarang, Pekalongan, Salatiga and Magelang

Halim Perdana Kusuma Airport – IATA code – HLP

~ 7,4 million passengers

Halim Perdanakusuma International Airport is an international airport serving East Jakarta, the biggest of five administrative cities that form Jakarta. Besides commercial flights, it is also used for military, private, and presidential purposes. The airport has two terminals, but only one for passengers. The other one is used solely by the President of the Republic of Indonesia and for government flights. Annually it handles around 7,4 million passengers. There are several airlines providing flights, among which are Citilink, Batik Air and Susi Air. The nearby cities are its satellite cities Bogor, Depok, Tangerang, South Tangerang, and Bekasi.

Batam Airport – IATA code – BTH

~ 6,5 million passengers

Batam Airport, also known as Hang Nadim International Airport, is an international airport located in Batam. It is located approximately 12 kilometers from the city center. The airport currently has a single terminal that handles around 6,5 million passengers per year. The second one is about to be constructed so the terminals should reach a capacity of 16 million passengers per year. There are several airlines providing flights, among which are Citilink, Lion Air, Garuda Indonesia and Wings Air. The nearby cities include Tanjung Pinang and Singapore.

Palembang Airport – IATA code – PLM

~ 4 million passengers

Palembang Airport, also known as Sultan Mahmud Badaruddin II International Airport, is an international airport serving Palembang and its surrounding areas. It is located approximately 15.6 kilometers from the center of Palembang. The airport has one three-floor terminal which annually handles around 4 million passengers. There are several airlines providing flights, among which are Citilink, Lion Air, Garuda Indonesia and Wings Air. The nearby cities include Prabumulih, Kayu Agung and Muara Enim.

Semarang Airport – IATA code – SRG

~ 5 million passengers

Semarang Airport, also known as Ahmad Yani International Airport or Jenderal Ahmad Yani International Airport, is an international airport serving the city of Semarang. It is located approximately 11 kilometers from the city center. The airport has one passenger terminal which is also the first floating terminal in Indonesia. It handles around 5 million passengers per year and, due to passenger traffic growth, is one of the fastest-growing airports in the world. There are several airlines providing flights, among which are Citilink, Lion Air, Garuda Indonesia and Batik Air. The nearby cities include Tegal, Pekalongan and Magelang.

Airports with more than 1 million passengers

Bandung Airport – IATA code – BDO

  • Also called: Husein Sastranegara International Airport
  • Passengers: ~ 4 million
  • Airline(s): Citilink, TransNusa, Wings Air
  • Nearby city(s): Jakarta, Sukabumi, Tasikmalaya

Pontianak Airport – IATA code – PNK

  • Also called: Supadio International Airport
  • Passengers: ~ 4 million
  • Airline(s): AirAsia, Citilink, Garuda Indonesia, Lion Air, Wings Air
  • Nearby city(s): Singkawang

Lombok International Airport – IATA code – LOP

  • Also called: Zainuddin Abdul Madjid International Airport
  • Passengers: ~ 4 million
  • Airline(s): Batik Air, Citilink, Garuda Indonesia, Lion Air, Wings Air
  • Nearby city(s): Mataram

Pekanbaru Airport – IATA code – PKU

  • Also called: Sultan Syarif Kasim II Airport, Sultan Syarif Qasim II International Airport
  • Passengers: ~ 4 million
  • Airline(s): AirAsia, Batik Air, Citilink, Garuda Indonesia, Lion Air
  • Nearby city(s): Dumai, Payakumbuh

Padang Airport – IATA code – PDG

  • Also called: Minangkabau International Airport
  • Passengers: ~ 4 million
  • Airline(s): AirAsia, Batik Air, Citilink, Garuda Indonesia, Lion Air
  • Nearby city(s): Padang, Bukittinggi, Payakumbuh

Banjarmasin Airport – IATA code – BDJ

  • Also called: Syamsudin Noor International Airport
  • Passengers: ~ 4 million
  • Airline(s): Batik Air, Citilink, Garuda Indonesia, Lion Air, Wings Air
  • Nearby city(s): Banjarmasin

Manado Airport – IATA code – MDC

  • Also called: Sam Ratulangi International Airport
  • Passengers: ~ 3 million
  • Airline(s): AirAsia, Batik Air, Citilink, Garuda Indonesia, Lion Air
  • Nearby city(s): Tomohon, Bitung

Bandar Lampung Airport – IATA code – TKG

  • Also called: Radin Inten II International Airport
  • Passengers: ~ 3 million
  • Airline(s): Batik Air, Citilink, Garuda Indonesia, Lion Air, Wings Air
  • Nearby city(s): Palembang

Solo/Surakarta Airport – IATA code – SOC

  • Also called: Adisumarmo International Airport
  • Passengers: ~ 3 million
  • Airline(s): Batik Air, Citilink, Garuda Indonesia, Lion Air, Wings Air
  • Nearby city(s): Semarang, Pekalongan, Salatiga

Jayapura Airport – IATA code – DJJ

  • Also called: Dortheys Hiyo Eluay International Airport
  • Passengers: ~ 2 million
  • Airline(s): Batik Air, Citilink, Garuda Indonesia, Lion Air, Wings Air

Pangkalpinang Airport – IATA code – PGK

  • Also called: Depati Amir Airport
  • Passengers: ~ 2 million
  • Airline(s): Batik Air, Citilink, Garuda Indonesia, Lion Air, Wings Air
  • Nearby city(s): Sungai Liat, Mentok, Koba

Kupang Airport – IATA code – KOE

  • Also called: El Tari International Airport
  • Passengers: ~ 2 million
  • Airline(s): Batik Air, Citilink, Garuda Indonesia, Lion Air, Wings Air
  • Nearby city(s): Soe

Jambi Airport – IATA code – DJB

  • Also called: Sultan Thaha Syaifuddin Airport
  • Passengers: ~ 2 million
  • Airline(s): Batik Air, Citilink, Garuda Indonesia, Lion Air, Wings Air

Sorong Airport – IATA code – SOQ

  • Also called: Domine Eduard Osok Airport
  • Passengers: ~ 2 million
  • Airline(s): Batik Air, Garuda Indonesia, Lion Air, Susi Air, Wings Air

Kendari Airport – IATA code – KDI

  • Also called: Haluoleo Airport
  • Passengers: ~ 1,5 million
  • Airline(s): Batik Air, Citilink, Garuda Indonesia, Lion Air, Wings Air

Ambon Airport – IATA code – AMQ

  • Also called: Pattimura Airport
  • Passengers: ~ 1,5 million
  • Airline(s): Batik Air, Citilink, Garuda Indonesia, Lion Air, Wings Air

Palu Airport – IATA code – PLW

  • Also called: Mutiara SIS Al-Jufrie Airport
  • Passengers: ~ 1 million
  • Airline(s): Batik Air, Citilink, Garuda Indonesia, Lion Air, Wings Air

Malang Airport – IATA code – MLG

  • Also called: Abdul Rachman Saleh Airport
  • Passengers: ~ 1 million
  • Airline(s): Batik Air, Citilink, Garuda Indonesia, Lion Air, Wings Air
  • Nearby city(s): Surabaya, Kediri, Blitar, Probolinggo

Banda Aceh Airport – IATA code – BTJ

  • Also called: Sultan Iskandar Muda International Airport
  • Passengers: ~ 1 million
  • Airline(s): Batik Air, Citilink, Garuda Indonesia, Lion Air, Wings Air

Bengkulu Airport – IATA code – BKS

  • Also called: Fatmawati Soekarno Airport
  • Passengers: ~ 1 million
  • Airline(s): Batik Air, Citilink, Garuda Indonesia, Lion Air, Wings Air
  • Nearby city(s): Lubuklinggau, Pagar Alam

Belitung (Tanjung Pandan) Airport – IATA code – TJQ

  • Also called: H.A.S. Hanandjoeddin International Airport
  • Passengers: ~ 1 million
  • Airline(s): Batik Air, Citilink, Garuda Indonesia, Lion Air, Wings Air

Tarakan Airport – IATA code – TRK

  • Also called: Juwata International Airport
  • Passengers: ~ 1 million
  • Airline(s): Batik Air, Lion Air, Malaysia Airlines, Susi Air, Wings Air

Palangkaraya Airport – IATA code – PKY

  • Also called: Tjilik Riwut Airport
  • Passengers: ~ 1 million
  • Airline(s): Batik Air, Citilink, Garuda Indonesia, Lion Air, Wings Air
  • Nearby city(s): Banjarmasin

Airports with less than 1 million passengers

Ternate Airport – IATA code – TTE 

  • Also called: Sultan Babullah Airport
  • Passengers: ~ 900 000
  • Airline(s): Batik Air, Citilink, Garuda Indonesia, Lion Air, Wings Air
  • Nearby city(s): Tidore

Balikpapan Airport – IATA code – BPN 

  • Also called: Sepinggan Airport, Sultan Aji Muhammad Sulaiman Sepinggan Airport
  • Passengers: ~ 900 000
  • Airline(s): Batik Air, Citilink, Garuda Indonesia, Lion Air, Wings Air
  • Nearby city(s): Samarinda, Bontang

Manokwari Airport – IATA code – MKW

  • Also called: Rendani Airport
  • Passengers: ~ 700 000
  • Airline(s): Batik Air, Garuda Indonesia, Lion Air, Sriwijaya Air, Wings Air

Gorontalo Airport – IATA code – GTO

  • Also called: Jalaluddin Airport
  • Passengers: ~ 680 000
  • Airline(s): Batik Air, Citilink, Garuda Indonesia, Lion Air, Wings Air

Pangkalanbuun Airport – IATA code – PKN

  • Also called: Iskandar Airport
  • Passengers: ~ 660 000
  • Airline(s): Citilink, NAM Air, Susi Air, Wings Air

AP Tumenggung Pranoto Airport – IATA code – AAP

  • Also called: Aji Pangeran Tumenggung Pranoto International Airport
  • Passengers: ~ 570 000
  • Airline(s): Batik Air, Citilink, Garuda Indonesia, Lion Air, Wings Air
  • Nearby city(s): Balikpapan, Bontang

Berau Airport – IATA code – BEJ

  • Also called: Kalimarau Airport, Raja Alam International Airport
  • Passengers: ~ 520 000
  • Airline(s): Batik Air, Garuda Indonesia, Lion Air, Susi Air, Wings Air

Komodo Airport – IATA code – LBJ

  • Passengers: ~ 470 000 
  • Airline(s): Batik Air, Citilink, Garuda Indonesia, Lion Air, Wings Air

Sampit Airport – IATA code – SMQ

  • Also called: H. Asan Airport
  • Passengers: ~ 440 000
  • Airline(s): Citilink, NAM Air, Sriwijaya Air, Wings Air
  • Nearby city(s): Palangkaraya

Merauke Airport – IATA code – MKQ

  • Also called: Mopah International Airport
  • Passengers: ~ 440 000
  • Airline(s): Batik Air, Garuda Indonesia, Lion Air, Susi Air

Map of Indonesian airports