ThingstodoKualaLumpur
Malaysian ringgit banknotes
The price nobody prints · August 2026

What you pay,
and what a Malaysian pays

+180% at Petronas+94% at Zoo NegaraSome charge the same

Nearly every ticketed attraction in Malaysia has two gate prices: one for MyKad holders and one for you. No reseller publishes the comparison, because resellers cannot — they sell the ticket, and the gap is not their story to tell. It is ours. Below is every ticketed thing in and around Kuala Lumpur with both numbers side by side, the percentage between them, and the mechanism that produces it, explained without outrage.

Photo: Bank Negara Malaysia
Quick answer
WORTH IT — knowing this before you budget, that is

Budget the non-MyKad rate or you will be out by 100–200% on tickets. The Petronas Twin Towers charge you RM98 and a Malaysian RM35 — a 180% gap. Zoo Negara is RM93 against RM48. Genting SkyWorlds is RM168 against RM88. The practice is legal, it is common across Southeast Asia, and it funds domestic access to attractions in a country where the median wage makes a RM98 ticket absurd. The problem is not that it exists. The problem is that nobody discloses it, so a visitor who priced a week from reseller headlines walks into a gate charging double. Klook has headlined Petronas at “from US$5.25” — that is the RM35 MyKad rate; the non-MyKad rate on the same listing works out around US$17.09. Some of the best things here charge everyone the same, and that section is worth reading twice.

RM98 vs RM35Legal, and normalNobody discloses itRM 4.09 = US$1
The full table

Every ticketed attraction, both prices

Gate prices as published by each operator and checked in August 2026, at RM 4.09 to the US dollar. The left-hand column is the number you will actually be charged. Where the gap reads “same price”, that is a genuine finding rather than missing data — and the pattern in those rows is the most interesting thing on this page.

AttractionYou payMyKad holder paysThe gap
Petronas Twin TowersAdult. Child and senior RM50 against RM17. One ticket covers the Skybridge on L41 and level 86.RM98RM35+180%
Zoo NegaraAdult; child RM48 against RM21. 09:00–17:00. We give it a SKIP on price alone.RM93RM48+94%
Genting SkyWorldsOnline rate. RM198 walk-in, and online booking needs at least a day's notice. Closed Tuesdays.RM168RM88+91%
KL Bird ParkAdult. Steep for a solo traveller; the per-head maths changes with children.RM90RM50+80%
Sunway LagoonOne-day ticket, range by season and package. Two-day RM320–429. Night Park RM84–94.RM200–268RM145–193+38%
Aquaria KLCCA readable floor, not a firm price — the operator's full price list could not be resolved. 10:00–20:00, last entry 19:00.from RM80from RM54+48%
GOKL city busFree for Malaysians, RM1 a ride for foreigners since 1 January 2024. A percentage against zero is meaningless, but the principle is the same.RM1 per rideFreesame price
Petrol, RON95MyKad holders pay the subsidised BUDI95 rate. This is why self-drive is irrational here and Grab plus rail is not.RM3.62–3.82 per litreRM1.99 per litre+87%
My50 unlimited monthly passMyKad only. There is no foreigner equivalent at any price — this one is not a markup, it is a door you cannot open.UnavailableRM50 / 30 dayssame price
Awana SkyWay cable carOne price for everyone. RM11 one way, 07:00–23:00, and one of the best-value rides in Malaysia.RM19 returnRM19 returnsame price
Batu Caves Temple CaveFree for everyone, 07:00–21:00. Ramayana Cave RM5, Cave Villa RM15, sarong hire RM5–10.FreeFreesame price
Islamic Arts Museum MalaysiaSame price for everyone. Student and Malaysian senior RM10, non-Malaysian senior RM20, under-6 free.RM20RM20same price

Checked August 2026 against operator pricing. The KL Tower MyKad rate is quoted inconsistently across sources, so we do not publish it — the non-Malaysian rate of RM110 for the Observation Deck plus Sky Deck is firm. Merdeka 118 publishes no public deck price at all and we will not invent one.

The mechanism

Why two prices exist, and why that is not the scandal

Dual pricing in Malaysia is legal, long-established and common across Southeast Asia. Thailand, Indonesia, Vietnam, Cambodia and India all do some version of it. Understanding why makes it much easier to budget for calmly.

The logic is straightforward. A national zoo, a state aquarium or a subsidised bus exists partly as public infrastructure, funded in part by Malaysian taxpayers, and priced so that a Malaysian family can actually use it. Malaysian median household income does not support a RM98 ticket to a domestic attraction. Charging visitors — who arrived on an international flight and are spending in a strong currency — a rate closer to what the experience is worth on the world market is how the domestic price stays low. The MyKad rate is the subsidy; your rate is closer to the unsubsidised one.

The same reasoning drives the fuel gap. Under BUDI95, MyKad holders buy RON95 at RM1.99 a litre while everyone else pays the float rate of RM3.62–3.82. That is a targeted subsidy doing exactly what a targeted subsidy is meant to do. It is also the reason renting a car in Kuala Lumpur is a bad idea for you specifically, quite apart from the traffic and the parking.

So the problem is not the two-tier structure. The problem is disclosure. Almost nothing in the booking chain tells you which price you are looking at. Klook has run the Petronas Twin Towers under a headline of “from US$5.25” — about RM21, which is not a foreigner price at any point in the ticket table; it is the MyKad child or adult rate doing promotional work. The non-MyKad adult ticket on that same listing works out at roughly US$17.09. Nothing about that is illegal and nothing about it is unusual. It is simply the reason a traveller who built a budget from search results arrives 100–200% short on tickets.

There is a second-order effect worth naming. Because the gap is invisible until the gate, it lands hardest on exactly the people who planned most carefully — the ones who costed the trip in advance. A traveller who books nothing and decides each morning absorbs the difference as it comes. A traveller with a spreadsheet gets a nasty week. That is backwards, and it is the whole reason this page exists.

The good news

The attractions with no gap are disproportionately the good ones

Read the “same price” rows again. There is a pattern in them, and it flatters Kuala Lumpur considerably.

The Islamic Arts Museum Malaysia — the best museum in the country, and by some distance — is RM20 for everyone. No MyKad rate, no foreigner rate, one ticket. Batu Caves' Temple Cave, the most photographed site in the Klang Valley, is free for everyone. The Royal Selangor Visitor Centre, TripAdvisor's #2-ranked attraction in Kuala Lumpur at 4.7/5 from 5,142 reviews, is free to enter and runs a free shuttle. The Awana SkyWay at Genting is RM19 return for everyone, and it is a better ride than most of what it delivers you to.

Masjid Negara, Masjid Jamek and Masjid Wilayah are free, with robes provided at no charge. Thean Hou Temple is free, 09:00–18:00. The Chinatown lorongs, Merdeka Square, the Perdana Botanical Gardens, KLCC Park and its fountain shows, the Saloma Link, Bank Negara Museum, Taman Tugu — all free, all to everyone. The FRIM Forest SkyWalk is RM5 for a foreign adult, which is inside the noise floor.

Put those together and a properly built Kuala Lumpur itinerary barely touches the dual-priced tier at all. Fifteen free things are listed on our free things to do page. The gap matters enormously if your plan is Petronas, Aquaria, the Bird Park and Zoo Negara — four attractions, roughly RM361 for one adult, against RM181 on a MyKad. It matters hardly at all if your plan is temples, lorongs, hills and hawker stalls, which is the better trip anyway.

The practical rule: treat the dual-priced attractions as a shortlist to choose one or two from, not a checklist. Petronas at the sunset slot, or KL Tower at 09:00 for the photograph. Not both, and certainly not the zoo as well.

Book with the gap in view

Where to buy, knowing which price is which

Almost every ticketed attraction in Kuala Lumpur charges foreigners more than Malaysians — Petronas is RM98 against RM35, a 180% gap. Resellers headline the MyKad rate. Every price on this site is the non-MyKad rate you will actually pay, and the gate price sits next to the reseller price so you can see the markup.

Our pick
GetYourGuide
Petronas Twin Towers e-ticket
vs RM98 gate compare before you book
The gate price for a non-MyKad adult is RM98. Treat anything meaningfully above that as a convenience fee, and anything far below it as the RM35 resident rate in disguise. Click through to the ticket type before you assume a bargain.
Check the real price ↗
GetYourGuide
KL Tower admission with options
vs RM110 gate compare before you book
RM110 non-Malaysian for Observation Deck plus Sky Deck; Tower Walk 100 RM27.69, combo RM125.99. We do not publish a KL Tower MyKad rate because sources contradict each other — so compare against RM110 only.
Compare options ↗
GetYourGuide
Aquaria KLCC entry ticket
vs RM80 floor the gate price is a floor, not a fixture
The only figure we could read reliably is a floor of from RM80 non-MyKad against from RM54 MyKad. Treat RM80 as the bottom of the range rather than the price, and check what the ticket type actually says at checkout.
Check current price ↗
Questions people actually search

Dual pricing in Malaysia FAQ

Is dual pricing legal in Malaysia?

Yes. Operators are entitled to set a resident rate and a non-resident rate, and doing so is standard practice across Southeast Asia — Thailand, Indonesia, Vietnam, Cambodia and India all run some version of it. The Malaysian versions are published on operators' own price lists; the issue is that resellers headline whichever number is lower.

Can I use the MyKad rate if I have a Malaysian friend?

No. The card is checked at the counter, physically, against the person collecting the ticket. Attractions that price by MyKad ask to see it, and a friend buying on your behalf does not transfer the entitlement to the person who walks through the turnstile. Budget the non-MyKad rate.

Does MM2H or a work permit get me the local rate?

It varies by operator and you should not assume it. Some attractions extend the resident rate to holders of a Malaysia My Second Home visa or a valid work pass on production of the document; others price strictly by MyKad. Ask at the counter before you buy, and have the physical document, not a photo of it.

Which Kuala Lumpur attractions charge everyone the same?

The Islamic Arts Museum at RM20, the Awana SkyWay at RM19 return, the Batu Caves Temple Cave and the mosques at free, and the Royal Selangor Visitor Centre at free with a free shuttle. That list contains the best museum, the best cable car and the fourth-highest-rated attraction in the city, which tells you something.

Why is the Petronas price online so much lower than RM98?

Because the headline is usually the MyKad rate. Klook has advertised the Twin Towers “from US$5.25”, which is around RM21 and is not a foreigner price at any point in the table. The non-MyKad adult ticket on the same listing works out around US$17.09, and RM98 is the gate price you will actually pay.

How much extra should I budget for dual pricing?

If your plan is heavy on ticketed attractions, budget roughly double what a Malaysian would spend on the same list — Petronas, Aquaria, KL Bird Park and Zoo Negara together are about RM361 for one foreign adult against RM181 on a MyKad. If your plan is temples, markets, hills and hawker food, the gap is close to irrelevant.

Can foreigners buy the My50 travel pass?

No. The RM50 unlimited 30-day Rapid pass is MyKad-only and there is no equivalent for visitors at any price. Pay per journey instead — MRT and LRT fares are a couple of ringgit a trip, which for a week-long visit still works out cheaper than a monthly pass would.

Is it worth renting a car in Kuala Lumpur?

No. Beyond the traffic and the parking, foreigners pay RM3.62–3.82 a litre for RON95 against RM1.99 for MyKad holders under BUDI95. Grab is cheap and metered, the rail network reaches almost everything, and self-drive is the one decision the fuel gap makes straightforwardly irrational.