Photo: Eat and eat some more.


Use the quicklinks below to jump to the desired section regarding transport in and around Kota Kinabalu.


Kota Kinabalu International Airport (BKI) lies about 7 kilometres west from downtown. It’s the second busiest in all of Malaysia, with an extensive network of domestic flights and international routes to major destinations across Asia.

As of April 2016, the following airlines fly to and from Kota Kinabalu:
AirAsia: Bali, Guangzhou, Hangzhou, Hong Kong, Jakarta, Johor Bahru, Kota Bharu, Kuala Lumpur, Kuching, Manila, Miri, Penang, Sandakan, Shenzhen, Singapore, Taipei, Tawau, Wuhan
Asiana Airlines: Seoul
Cebu Pacific: Manila
China Southern Airlines: Guangzhou
Dragonair: Hong Kong
Eastar Jet: Seoul
Jin Air (Korean Air): Seoul
Malaysia Airlines: Kuala Lumpur, Kuching, Perth, Sandakan, Shanghai, Taipei, Tawau, Tokyo
MASwings: Bintulu, Kuching, Kudat, Labuan, Lahad Datu, Lawas, Limbang, Miri, Mulu, Sandakan, Sibu, Tarakan, Tawau
Malindo Air: Kuala Lumpur
Rayani Air: Kuala Lumpur, Kuching
Royal Brunei Airlines: Bandar Seri Begawan
Shanghai Airlines: Shanghai
SilkAir: Singapore
Spring Airlines: Shanghai
Tigerair: Taipei

Taxi from the airport to the city is by a coupon system at a fixed price of 30 ringgit (maximum four). Coupons are available from a booth inside the terminal arrival hall. From the city to the airport they’ll ask for the same, but you can haggle them down a few ringgit.

An airport bus runs to and from the city for 5 ringgit for adults and 3 ringgit for children under 12. The trip takes 25-40 minutes. There are three scheduled stops: near Asia City Complex, near Horizon Hotel, and near Padang Merdeka. Tickets are available from a booth inside the terminal arrival hall, and booths at the city stops. The bus operates daily 07:30-20:30.
KKIA — KK (Padang Merdeka): 08:00; 08:45; 09:30; 10:15; 11:00; 11:45; 12:30; 13:15; 14:00; 14:45; 15:30; 16:15; 17:00; 17:45; 18:30; 19:15; 20:00; 20:30
KK (Padang Merdeka) — KKIA: 07:30; 08:45; 09:30; 10:15; 11:00; 11:45; 12:30; 13:15; 14:00; 14:45; 15:30; 16:15; 17:00; 17:45; 18:30; 19:15

Duty-free shopping is available inside the terminal before clearing customs. Duty free allowances include 1 litre of spirits or wine and 200 cigarettes per person.

ATMs and foreign exchange services are available in the arrivals hall once you have cleared immigration.

Several phone companies sell local SIM card in the arrival hall.

Left luggage facilities are located on level 3. They are open daily 7:30-20:30; 5 ringgit per bag for 3 hours + 2 ringgit for every 3 hours thereafter; for 24 hours: 15 ringgit per bag per 24 hours, over-sized and sports equipment 30 ringgit per item. Locker storage is available for 5 ringgit per 2 hours.

A lounge is available on Level 3, International Departure (near Gate B3) with showers; open daily 06:30-01:00; 2 hours: 168 ringgit; 5 hours: 238 ringgit; 10 hours: 258 ringgit; Shower: 32 ringgit per person; 30% less for children 3-11. Children under 2 free.

Top of page


Sabah State Railway runs daily trains from Kota Kinabalu (Tanjung Aru) south to Beaufort (adult 4.80 ringgit; child 2.40 ringgit) and Tenom (adult 7.50 ringgit; child 3.75 ringgit) with the following stops: Kota Kinabalu (Tanjung Aru), Putatan, Kinarut, Kawang, Papar, Kimanis, Bongawan, Membakut, Beaufort, Saliwangan, Halogilat, Rayoh, Pangi and Tenom.

Monday to Saturday departing Tanjung Aru 7:45; 13:40; 17:30 — arrive Beaufort 09:40; 15:42; 19:34; departing Beaufort 7:50; 13:30— arrive Tenom 10:13; 15:55
Sunday departing Tanjung Aru 7:45; 13:40; 17:06 — arrive Beaufort 09:40; 15:42; 19:00; departing Beaufort 07:50; 13:30— arrive Tenom 10:13; 15:55

Monday to Saturday departing Tenom 7:30; 13:00 — arrive Tanjung Aru 13:10; 19:10; departing Beaufort 05:00; 11:01; 17:00— arrive Tanjung Aru 06:57; 13:10; 19:10
Sunday departing Tenom 7:30; 12:30 — arrive Tanjung Aru 13:10; 18:45; departing Beaufort 05:00; 11:01; 16:30— arrive Tanjung Aru 06:57; 13:10; 17:45.

North Borneo Railway runs a steam train tourist attraction from Tanjung Aru to Papar on Wednesdays and Saturdays at 09:30. It's 345 ringgit including breakfast and lunch.

North Borneo Railway: The Magellan Sutera Resort, Level 2, 1 Sutera Harbour Boulevard, Sutera Harbour, Kota Kinabalu; T: (088) 308 500;;

Top of page


Kota Kinabalu has three long-distance bus terminals. The North Bus Terminal Inaman will require a minivan or taxi to reach, while the others are walking distance from the centre. Travel times are quoted by bus companies, and should be taken with a large pinch of salt. Departure times and prices may change. Long-distance buses up the air-con -- it can get very cold so come prepared. They usually stop for meal breaks -- sometimes a meal is include in the ticket price.

To get to Kinabalu Park: From North Bus Terminal Inanam all buses bound for Sandakan, Lahad Dat and Tawau will pass the park entrance (1.5 hours), but you’re better off taking a minivan or share taxi from Padang Merdeka Terminal.

To get to Sepilok Orangutang Rehabilitation Centre: From North Bus Terminal Inanam take a Sandakan bus and ask to be dropped at Sepilok Junction, then it’s a two kilometre walk.

North Bus Terminal Inanam on Jalan Undan, Inanam (8km northeast of the city centre) services large air-con buses departing to destinations north and east. T: (088) 384 701. To get to the terminal from the city centre: local buses 4A, 5A, 6A, 7A, 8A depart from Padang Merdeka Terminal (30 minutes); 2 ringgit. A taxi will be about 30 ringgit.

Lahad Datu via Ranau, Telupid, Kota Kinabatangan: 55 ringgit; 8 hours.
Tung Ma Express: T: (088) 381 190; 07:00; 09:00; 20:00
Dyna Express: (088) 389 997; 07:30; 08:30; 14:00; 19:30

Sandakan via Ranau, Telupid: 45 ringgit; 6 hours.
Tung Ma Express: T: (088) 381 190; 07:00; 08:00; 09:00; 10:00; 11:30; 12:30; 13:30; 14:00; 18:00; 19:00; 20:00
Sida Express: T: (088) 384 676; 07:00; 08:00; 09:00; 10:00; 11:00; 12:00; 14:00; 15:30; 17:00; 19:00; 20:00
Bintang Jaya Express: T: (013) 800 7178; 07:15; 17:15

Semporna via Ranau, Telupid, Kota Kinabatangan, Lahad Datu: 75 ringgit; 9 hours.
Dyna Express: (088) 389 997; 07:30; 08:30; 14:00; 19:30

Tawau via Ranau, Telupid, Kota Kinabatangan, Lahad Datu: 75 ringgit; 9 hours.
Tung Ma: T: (088) 381 190; 07:00; 20:00
Sida Express: T: (019) 869 1149; 07:30; 08:00
Ali Topan Express: T: (088) 262 209; 10:30; 14:00; 20:00
Bintang Jaya Express: T: (013) 800 7178; 07:00; 17:45

Padang Merdeka Terminal (near Dreamtel Hotel) services buses, minivans and share taxis departing to destinations north, south and interior. Buses have scheduled departure times. Minivans and share taxis depart when they are full.

Keningau via Papar, Kimanis: 20 ringgit; 2.5 hours.
Tung Ma: T: (088) 264 315; 07:00; 08:00; 09:00; 10:00; 11:30; 12:00; 13:00; 14:30; 16:00; 17:00

Kudat via Kota Belud, Kota Marudu: Kota Belud: 10 ringgit; 1 hour; Kota Marud: 15 ringgit; 2 hours; Kudat: 30 ringgit; 3 hours; 08:00-15:00; minivan; share taxi.

Ranau via Kinabalu Park: 20 ringgit; 2 hours.
07:30-17:00; minivan; share taxi.

Tambunan via Moyog: 20 ringgit; 2 hours.
07:30-14:00; minivan; share taxi.

Tenom via Papar, Kimanis: 25 ringgit; 3 hours.
Tung Ma: T: (088) 264 315; 08:00; 12:00; 14:00; 16:00

City Park Terminal (in front of City Hall) services large air-con buses to southern Sabah, Brunei and Sarawak.

Brunei via Lawas, Limbang: Lawas: 25 ringgit; 3.5 hours; Limbang: 55 ringgit; 4.3 hours; Brunei: 100 ringgit; 7 hours.
Jesselton (Sipitang) Express: T: (016) 836 0009; 08:00
Borneo Express: T: (013) 893 8811; 07:45

Miri: 90 ringgit; 10 hours
Bintang Jaya Express: T: (013) 800 7178; 07:30
Borneo Express: T: (013) 893 8811; 07:45
Menumbok: 20 ringgit; 2.5 hours
Sipitang Express: T: (016) 836 0009; 07:00; 09:00; 13:00
Borneo Express: T: (013) 893 8811; 06:45; 10:30; 12:30
Menumbok Express: T: (016) 819 1990; (016) 845 4548; 06:30; 11:30; 12:30

Sipitang via Beaufort: 20 ringgit; 3 hours
Sipitang Express: T: (016) 836 0009; 08:00; 08:30; 10:00; 12:00; 14:30; 16:40
Borneo Express: T: (013) 893 8811; 07:45

Local buses and minivans service outlying suburban areas and towns. They run from about 06:00-20:00 with prices from 1-5 ringgit. There are three terminals around town, but no set departure times -- buses leave when they are full so outside peak hours you may have to wait.

Wawasan Terminal on Jalan Tun Fuad Stephens stretches for near Warisan Square Mall to Wawasan Plaza and services the city centre and outlying suburban areas and towns to the south:
Luyang (11A), Beverly Hills (12A, 12B), Donggongon (13A, 13B, 13C), Penampang (13F), Kepayan Ridge (14A, 14B), Sembulan (15A, 15B), Tanjung Aru (16C), Kepayan (17A, 17B), Putatan (18B, 18C), Lok Kawi (19A, 19B, 19C), Kinarut (20A, 20B), Papar (21A, 21B, 22A).

Padang Merdeka Terminal on Jalan Padang near the long distance bus terminal and merging with the Bandaraya Terminal services the north: Likas (1A, 1B), City Mall (3A), Inanam (4A), Menggatal (5A), Telipok (7A, 7B, 7C) Tamparuli (10A).

Bandaraya Terminal is just behind the Padang Merdeka Terminal on Jalan Tunku Abdul Rahman and services the east: Sepanggar (6A, 6B), Tuaran (8A, 8B, 8C).

Top of page


Daily ferries ply the water from Kota Kinabalu to Labuan, a duty-free island on the way to Brunei. Boats depart from the Jesselton Point Ferry Terminal at the northern end of Kota Kinabalu, along Jalan Fuad Stephens daily at 8:00 and 13:30, arriving in Labuan 3.5 hours later. Connecting ferries can take you to Muara in Brunei daily at 09:00; 13:30; 15:30; 16:00; with and additional service on weekends at 11:00 (1 hour). Return times are Muara to Labuan 08:00; 09:00; 15:30; 16:30 and Labuan to Kota Kinabalu 08:00 and 13:00.

Kota Kinabalu to Labuan
First class: Adult 36 ringgit, child (3-11) 23 ringgit
Economy class: Adult 53 ringgit, child (3-11) 33 ringgit
Terminal fee: Adult 3.60 ringgit; child 3.00 ringgit

Labuan to Muara
Adult 30 ringgit, child (3-11) 15 ringgit
Terminal fee: 5 ringgit per person

Kota Kinabalu to Muara
Economy class: Adult 31 ringgit, child (3-11) 18 ringgit
Terminal fee: Adult 8.60 ringgit, child 8.00 ringgit

Boats to the islands of Tunku Abdul Rahman Marine Park depart Jesselton Point Ferry Terminal daily 8:30-16:30 about every 20 minutes and take 15-20 minutes to the islands. The last boat back to Kota Kinabalu leaves at 17:00.

Top of page

Getting around

Kota Kinabalu is quite spread out, but most of the attractions of interest to visitors are within walking distance from the city centre. Taxis ply the streets, but since they don’t use meters it’s a hassle to take one. Agree on a price before getting in. Around 10-15 ringgit is fair for anywhere within the city.

If you’d prefer your own wheels, Go Go Sabah rents cars and motorcycles. Prices start from 45 ringgit for a motorbike or 120 ringgit for a Suzuki Alto car for the day — you will need a proper license.
Go Go Sabah: T: (088) 317 385;;

Bicycles are available from City Bike Rentals, based in Biru Biru Cafe for 35 ringgit per day (deposit 50 ringgit). Helmets are not available, but the price includes a backpack with a first aid kit and a raincoat.
City Bike Rentals; Australia Place, 24, Lorong Dewan, Kota Kinabalu; T: (012) 806 5805; (014) 351 1700; open daily 10:00-18:00.

Large air-con yellow and green Kota Kinabalu City Buses run between 06:00-21:00 with three routes around the city. Routes A and B are circular, route C joins route A. Fixed fare is 1.50 ringgit.

Route A: Marina Court — Wawasan Plaza — The Waterfront — Central Market — Wisma Sabah — Suria Sabah — Jesselton Point — Old Warehouse — Jalan Pantai — Warisan Square — Marina Court.
Route B: Wisma Budaya — City Hall — Old Warehouse — Wisma Merdeka — KK Plaza — Asia City — Indonesia Consulate — Chung Hwa School — Wisma Budaya.
Route C: Bandaran Berjaya — Karamunsing Police Station — Karamunsing Complex — Wisma Radio — Karamunsing Capital — BSN Bank — Marina Court.

Top of page

Where to next?

Where are you planning on heading to after Kota Kinabalu? Here are some spots commonly visited from here, or click here to see a full destination list for Malaysia.

Top of page