Kota Kinabalu International Airport (BKI) — Airport Guide 2026
A RM442.3 million expansion is mid-build at BKI, pushing annual capacity from 9 to 12 million passengers by 2028 — the physical acknowledgement that Sabah’s airport has been running above its old design ceiling for years.
Quick Reference
BKI / WBKK
~8 km southwest of central Kota Kinabalu, Sabah, Malaysian Borneo
One passenger terminal (T1); old T2 closed to passengers December 2015, now cargo/charter/GA only
Malaysian ringgit (MYR / RM) — ≈ RM3.97 to US$1, ≈ RM4.64 to €1 (May 2026)
A1 Airport Express — RM5, ~25–30 min, daytime service ~07:30–20:15
Fixed-price coupon taxi or Grab app — RM30–40, ~10–15 min
AirAsia (2nd-largest Malaysian base), Malaysia Airlines, Batik Air, MASwings, Firefly
Plaza Premium (Priority Pass); Travel Club domestic (Priority Pass + DragonPass); Travel Club international (DragonPass only — no Priority Pass)
Malaysia visa-free up to 90 days (many nationalities) or visa, plus mandatory MDAC
Separate state control — applies even on domestic arrivals from Peninsular Malaysia
RM442.3M expansion underway; capacity 9M → 12M by 2028; terminal stays open throughout
🏢 One Terminal, and Why That Actually Matters
Kota Kinabalu has one passenger terminal. Full stop. This was not always the case — Terminal 2 was the low-cost building until AirAsia moved across to Terminal 1 on 1 December 2015, and T2 now handles cargo, charter and general aviation. If you find an older guide directing you to a separate AirAsia terminal, it is out of date by a decade. Everything — AirAsia, Malaysia Airlines, Batik Air, MASwings, Firefly — goes through one building.
The consolidation matters because the airport is a hub for MASwings, the regional operator that runs the short Borneo hops to Tawau, Sandakan, Miri and beyond. Malaysia Airlines and Firefly use it as a secondary hub, AirAsia runs its second-largest Malaysian operation here after KLIA2, and Batik Air adds a domestic schedule. The network skews heavily domestic, with a thinner band of regional international routes across East and Southeast Asia. The realistic shape for many arrivals is an international flight followed by a domestic MASwings or AirAsia connection to the dive towns — which makes the border section below relevant even when you are in transit.
The RM442.3 million expansion approved in November 2024 is now physically underway, with work started in the second half of 2025 and the final phase due in 2028. It adds aircraft parking bays, a multi-storey car park and road improvements alongside the capacity increase. Expect construction hoarding and the occasional rerouted walkway through 2026 and 2027, but the terminal is operational throughout.
⚠️ Ignore the “AirAsia terminal” advice
Any source directing you to Terminal 2 for AirAsia is describing conditions before December 2015. There is one passenger terminal. Head to T1.
🛂 Border & Visa — Three Layers, One Surprise
Three things govern your arrival at BKI. The first two are standard Malaysia; the third is specific to Sabah and reliably catches people who did their research on the wrong part of the country.
🇲🇾 Visa-free entry or a visa
Citizens of the UK, EU, United States, Australia and most of the developed world enter Malaysia visa-free for tourism for up to 90 days. Nationalities outside the visa-free list need an eVisa or a conventional visa arranged before travel. There is no general tourist visa-on-arrival. Check your own passport’s status against the Malaysian Immigration Department directly — the lists change, and assuming you are visa-free when you are not is an expensive mistake to discover at the gate.
📋 The Malaysia Digital Arrival Card (MDAC) — mandatory and free
Almost every foreign visitor must complete the Malaysia Digital Arrival Card online before arriving. It is free, filed through the official Immigration portal at imigresen-online.imi.gov.my, and the timing window is strict: submit it within three days before your arrival, not earlier, or it may not register correctly. Do it yourself on your own phone.
Third-party websites that offer to “process” the MDAC for a fee are charging you for a government form that costs nothing. Avoid them.
The principal exemption is Singapore citizens, who are fully exempt (including at the Johor land crossings). Malaysian permanent residents and diplomatic-passport holders are also exempt. Everyone else should assume they need it.
⚠️ MDAC window: three days, not a week
File the Malaysia Digital Arrival Card within 72 hours of your flight. Earlier submissions may not register. It is free at the official Immigration portal — any site charging for it is selling you a free form.
🏛️ Sabah’s own immigration — the part that surprises Malaysians
Sabah and Sarawak retained control of their own immigration when they joined the federation under the Malaysia Agreement 1963. Both states run a separate entry control to this day. The practical effect at Kota Kinabalu: a foreign arrival clears Malaysian federal immigration and then passes a Sabah immigration check. A West Malaysian flying in on a domestic ticket does the same — a MyKad identity card instead of a passport suffices, but they still receive a Sabah social-visit endorsement capped at three months.
For most foreign visitors this adds one extra queue and a second passport look, not a meaningful obstacle. But it explains why a “domestic” Kuala Lumpur–Kota Kinabalu flight has an immigration desk at all, and why the queue exists even for Malaysian citizens.
This is live politics in 2026. In May, the Sabah government deferred bringing the new federal border agency (AKPS) into the state, with the chief minister describing the state’s immigration powers as non-negotiable. At the desk this changes nothing — Sabah immigration operates as it always has.
🚌 Getting Into Town — Three Options, One Choice
The airport is about 8 km from the city centre. That proximity shapes everything: even the slow option is genuinely short.
🚍 A1 Airport Express — RM5, done
The A1 Airport Express runs from Terminal 1 to the waterfront, Gaya Street and Jesselton Point (the jetty for the island boats). The fare is RM5 — about US$1.25 or €1.10 — paid on board. The journey is roughly 25–30 minutes depending on stops and traffic. Service runs through the daytime, with the airport-posted window approximately 07:30 to 20:15; verify the first and last departures if you are arriving at the edges of that window, because different sources report slightly different times. The bus stop is at the arrivals level.
It is the obvious choice if your hotel is near the waterfront or Jesselton Point and you are arriving in normal daytime hours. After about 20:15, it has stopped running and you are looking at a car.
🚍 A1 Airport Express — RM5 flat, ~25–30 min
Runs from Terminal 1 arrivals to the waterfront, Gaya Street and Jesselton Point. Service approximately 07:30–20:15 — confirm on the day if arriving early or late. Cheapest option by a wide margin.
📱 Grab and the coupon taxi
Grab, the regional rideshare app, gives you a fixed price before you confirm the booking and is usually the best door-to-door value for two or more people. It is widely used in Kota Kinabalu and straightforward to use on arrival.
The airport also operates a fixed-price coupon taxi system. Buy the coupon at the desk inside the terminal, not from any driver who approaches you in the arrivals hall — the unsolicited approach is the standard overcharge play at every Southeast Asian airport. Either option costs roughly RM30–40 and takes ten to fifteen minutes in normal traffic.
A new local bus network (BAS.MY) rolled out in Kota Kinabalu, but for the airport run the A1 Express remains the direct service. For anything beyond the city — Mount Kinabalu, the dive towns — you need a pre-booked transfer or a domestic flight.
⚠️ Coupon taxis only — avoid drivers who approach you
Buy the fixed-price coupon at the desk inside the terminal. Drivers who approach you in the arrivals hall charge more. This applies at every major Southeast Asian airport; BKI is not an exception.
🛋️ Lounges — The Priority Pass Trap
Kota Kinabalu has a small lounge bench, and the detail that matters most is that Priority Pass and DragonPass are not interchangeable here, and one lounge actively splits its acceptance by departure zone.
Plaza Premium Lounge in Terminal 1 accepts Priority Pass and sells pay-per-use entry. It is the safe option for a Priority Pass holder. The exact airside location is subject to the usual terminal signage drift, so follow the lounge signs on the day rather than relying on a fixed gate number.
Travel Club Lounge is where the distinction lands. There are two of them: the domestic Travel Club accepts Priority Pass and DragonPass. The international Travel Club accepts DragonPass only — Priority Pass is not accepted there. If you are flying internationally on a Priority Pass card and walk up to the international Travel Club expecting entry, you will be turned away. The Plaza Premium is your Priority Pass option on the international side.
Neither lounge has confirmed LoungeKey acceptance in current listings. Walk-in pay-per-use prices are sold at the desk; quoted figures from online sources tend to go stale quickly, so ask at the counter.
A Malaysia Airlines business or first class boarding pass gets you lounge access regardless of card. No low-cost carrier operates a lounge here; their passengers use the shared pay-in or Priority Pass lounge like everyone else.
🛋️ International Travel Club: DragonPass only
The international Travel Club does not accept Priority Pass. If you hold Priority Pass and are flying internationally, go to the Plaza Premium instead. The domestic Travel Club does accept Priority Pass — the two lounges with the same name have different rules.
🍜 What to Eat — Sabah Is Not Peninsular Malaysia
Sabah’s food is genuinely distinct from what you find on the Peninsula, and the airport is the wrong place to start. The city is fifteen minutes away and far better value; landside at BKI is the usual captive-audience spread of nasi lemak, noodle counters and kopitiam coffee at airport prices.
The things worth eating in the city:
Tuaran mee is the local signature — springy egg noodles from the town of Tuaran, stir-fried and usually topped with a thin egg roll. It is not the same as KL-style char kway teow or any Peninsula noodle dish; it has its own texture and character.
Sang nyuk mian is the breakfast staple of Kota Kinabalu — a pork-based noodle soup with meat served fresh rather than pre-cooked. Most popular in the morning at the kopitiam shops around the city.
Hinava is the Kadazan-Dusun raw-fish preparation: mackerel cured in lime juice with shallots, chilli and grated bitter-gourd seed. The closest comparison is a Borneo ceviche. It is the one plate that does not travel to the Peninsula and is worth seeking out specifically.
The seafood is the other anchor. The city’s seafood restaurants are cheapest and freshest; airside is not the place to eat it.
🍜 Hinava — order it once
Mackerel cured in lime juice with shallots, chilli and bitter-gourd seed: the Kadazan-Dusun raw-fish dish that does not exist on the Peninsula. Seek it out at a proper Sabahan restaurant in the city, not at the airport food court.
What to buy before you fly
International departures carry the standard duty-free run of liquor, tobacco and perfume. The Sabah-specific purchases — Tenom coffee, dried seafood, pepper, Sabah highland tea — are all cheaper in a city supermarket or at the Gaya Street market than airside. If you have time in the city, buy there. Leave the airport shops for the thing you forgot.
💡 Layover Reality — Honest Math
BKI is one of the more layover-viable airports in the region. The 8 km to the city centre means every option is short, which matters because most of the comparable airports in Malaysian Borneo are far enough out that a connection is not worth attempting.
🌊 Tunku Abdul Rahman Marine Park — the prize, with conditions
The five islands of Tunku Abdul Rahman Marine Park — Gaya, Sapi, Manukan, Mamutik, Sulug — sit 3 to 8 km offshore. Boats leave Jesselton Point roughly every 30 to 60 minutes between about 08:00 and 16:00, reaching the nearest islands in around 15 minutes. This is one of the few major airports in the region where a reef snorkel on a layover is genuinely achievable.
The math is unforgiving, though. From the airport: 15–30 minutes to Jesselton Point, the boat crossing, a couple of hours on the island to make the trip meaningful, the boat back, then the run to the airport with a full international check-in and security buffer. That stacks to a minimum of 5–6 hours, and only if you arrive in the morning — the last return boats are mid-to-late afternoon, so an early-afternoon arrival leaves no margin. Arriving at 13:00 for a 19:00 flight looks workable on paper and is not in practice.
Under about 3 hours, stay in the terminal or take the A1 to the waterfront and back. The marine park is not worth gambling an onward connection on tight timing.
🏖️ Marine park layover threshold: 5–6 hours + morning arrival
The math is boats every 30–60 min from Jesselton Point (~15 min crossing), 2+ hrs on the island, return crossing, then RM30–40 / 15 min back to the airport with an international check-in buffer. Anything under about 5–6 hours, or an arrival after mid-morning, does not have the margin. The waterfront is the right call for shorter stops.
🚶 Short layover: waterfront and Gaya Street
The A1 bus or Grab puts you on the waterfront, Gaya Street and Jesselton Point in 15–30 minutes each way. On a 3–4 hour layover — immigration cleared, return buffer factored in — there is time for a meal and a walk before heading back. That is the safe ceiling for a short stop.
🔧 Practical Details
Payment. Cards and the local e-wallets (Touch ‘n Go, GrabPay) work in the city’s larger restaurants and shops. Markets, seafood stalls and some taxis prefer cash. Carry some ringgit. Use a city ATM rather than the airport exchange counters, which mark up the rate; the counters on the arrivals concourse are there for convenience, not value.
Exchange rate. MYR trades at approximately RM3.97 to the US dollar and RM4.64 to the euro as of May 2026. Change only what you need at the airport; a city ATM or your card will give a better rate for the rest.
Connectivity. Malaysian networks cover Kota Kinabalu well. A local SIM or eSIM is cheap to pick up in the city; signal thins out in the mountains and far offshore. Public Wi-Fi is available in the terminal. Malaysia does not block standard apps — your phone works normally on arrival.
Border summary. Visa-free for many nationalities (up to 90 days) or visa arranged in advance. MDAC filed within 3 days before arrival at the official portal — free, mandatory for almost all foreign visitors, Singapore citizens exempt. Sabah runs its own immigration in addition to federal control — domestic arrivals from the Peninsula clear it too.
🌍 Planning the trip? Read our Malaysia travel guide — best time to go, where to stay, and how to get around.
❓ Frequently Asked Questions
📊 At a Glance — BKI 2026
| Item | Detail |
|---|---|
| IATA / ICAO | BKI / WBKK |
| Distance to centre | ~8 km southwest |
| Terminals | One passenger terminal (T1); old T2 closed to passengers 2015, cargo/charter only |
| Airport bus | A1 Airport Express → city, RM5, ~25–30 min, daytime ~07:30–20:15 (verify) |
| Taxi / Grab | Fixed-price coupon or Grab app — RM30–40, ~10–15 min |
| Currency | MYR (RM) — ≈ RM3.97/US$1, ≈ RM4.64/€1 (May 2026) |
| Payment | Cards + e-wallets in larger venues; cash for markets and stalls |
| Border | Malaysia visa-free up to 90 days (many nationalities) or visa + mandatory MDAC |
| Sabah immigration | Separate state control — applies to domestic arrivals from the Peninsula too |
| Priority Pass lounges | Plaza Premium (T1); Travel Club domestic (also DragonPass) |
| DragonPass-only lounge | Travel Club international (no Priority Pass) |
| Main carriers | AirAsia (2nd Malaysian base), Malaysia Airlines, Batik Air, MASwings, Firefly |
| 2026 construction | RM442.3M expansion underway; capacity 9M → 12M by 2028 |
| Marine park layover | Jesselton Point boats ~08:00–16:00; needs ~5–6 hrs + morning arrival |
| Short layover verdict | Waterfront viable at ~3–4 hrs; marine park needs ~5–6 hrs + morning; stay airside under ~3 hrs |



