The nasi kandar counter is the most-complained-about transaction in Malaysian food, and the complaint is always about not knowing the price until the plate is made. That is a real feature of the format and it has a documented shape, because the Malaysian government once measured it.

The last month the state priced a plate

PriceCatcher is the price-surveillance dataset published jointly by the domestic trade ministry and the statistics department, collected by ground staff daily with, in its own words, "over 2 million prices collected every month". Its item classification contains a group called MAKANAN SIAP MASAK, ready-cooked food, and its premise list contains a type called Restoran India Muslim.

Both are still in the classification. Neither is still in the data.

Scanning the monthly files shows exactly when it stopped. January 2022 carried 55,197 cooked-food observations, February 55,606, March 53,370, April none, and May 2022 carried 47,787 — the last month with any. Every month from June 2022 through August 2026 carries zero. The August 2026 file has 1,933,285 price records across supermarkets, wet markets, hypermarkets, mini markets and grocery shops, and not one restaurant row.

So the honest statement is this: the Malaysian government maintains an official item code and a standard serving unit for nasi kandar's components, and has published no price for any of them in over four years. What follows is the last measurement it took.

What twenty Penang counters charged

These are official records. The premises were named in the government's own premise lookup, and the prices are that survey's observations for Penang Indian-Muslim restaurants in May 2022, in ringgit.

Item Unit Observations Lowest Median Highest
Nasi putih kosong plate 19 1.00 1.50 1.80
Nasi + sayur + ayam plate 18 5.70 7.50 8.40
Nasi + sayur + ikan plate 18 6.00 7.35 8.70
Nasi + sayur + daging plate 18 4.50 5.60 7.00
Nasi briyani ayam plate 11 7.60 8.50 14.30
Nasi briyani kambing plate 9 9.90 12.90 14.00
Ayam goreng piece 18 3.70 4.50 6.00
Ayam masak kicap piece 14 3.70 4.50 7.30
Sayur campur serving 10 1.00 1.20 1.80
Telur mata kerbau each 17 1.00 1.20 1.40
Murtabak ayam piece 13 5.00 6.50 8.00
Roti canai biasa piece 15 1.00 1.20 1.50
Roti telur piece 15 2.00 2.20 3.00
Roti tisu piece 15 2.20 2.70 4.20
Mi goreng mamak plate 14 4.00 4.75 5.50
Maggi goreng plate 15 4.00 5.00 5.50
Teh tarik panas small glass 19 1.00 1.40 2.00
Kopi o panas small glass 19 0.80 1.20 1.50
Milo ais large glass 19 2.00 2.70 3.20
Sirap bandung ais large glass 19 1.30 1.90 2.70
Air kosong large glass 18 0.20 0.30 0.40

The twenty premises, as the official register named them: Barvin Restoran, Deen Nasi Kandar, Kassim Mustafa Lebuh Chulia, Khaleel Batu Ferringhi, Khaleel Teluk Bahang, Nasi Kandar Ahmad, Nasi Kandar Line Clear, Pelita Samudera Jalan Tengah, Pelita Samudera Pertama Sungai Dua, Restoran Cahaya Al Amin, Restoran Nasi Kandar ABC Sungai Puyu, Restoran Nasi Kandar Al Nasirah, Restoran Nasi Kandar Mutiara Tanjung, Restoran Nasi Kandar Pelita Jelutong, Restoran Nasi Kandar Rafei Ali, Restoran Nasi Kandar Shahul Hamid Bertam Indah, Restoran Nasi Kandar Subaidah, Restoran Salam, Restoran Seven Star and Restoran Wajibali Sungai Dua.

Two details in that table are worth pausing on. Plain water at thirty sen is priced and surveyed like everything else, which tells you the survey was thorough. And the cheapest line is not the rice — a plate of plain rice at RM1.50 median is roughly a fifth of the median full plate, so almost all of what you pay is the lauk.

What the dictionary does and does not define is covered in the mamak menu decoder.

The spread is the story

Read the range columns rather than the medians and the reason visitors feel uncertain becomes measurable.

For rice with vegetable and chicken, the same survey in the same state in the same month found RM5.70 at the cheapest of twenty premises and RM8.40 at the dearest — a spread of 47 per cent for a dish specified identically. For nasi briyani ayam it is RM7.60 to RM14.30, a factor of 1.88. For ayam masak kicap, a single piece of chicken, RM3.70 to RM7.30, a factor of 1.97. For roti tisu, RM2.20 to RM4.20.

That dispersion is not a survey artefact; it is what the format produces. The counter has no fixed plate price because the plate is assembled, and the operator's judgment about portion and combination is the price. Which means the useful preparation for a visitor is not a target price but a range: for a rice plate with one protein, a median around RM7.50 and a plausible span from under RM6 to nearly RM9, on 2022 figures that are now four years stale.

For what has happened since, the index is all there is. National restaurant and accommodation prices stood at 161.3 in August 2026 against 158.0 a year before, about 2.1 per cent up, while the headline index rose about 1.9 per cent. Penang publishes its own state consumer price index. The classification even defines a "food away from home" series, and no such series is published — only divisional aggregates.

The payment rules that apply at the till are covered in the card surcharge guide.

No law requires a price list

Six instruments were checked, and none obliges a restaurant to show prices before you order.

The price control Act's display provision, section 9, is confined to "price-controlled goods" and "charge-controlled services", and cooked food is not on the published price-controlled list. The Act's section 10B is a different rule with a different trigger: where a prescribed business displays, advertises, publishes or quotes a price, that price must include all government taxes, duties and charges plus all other charges the business will impose. It governs a price once shown; it does not require one to be shown.

Penang's own licensing by-law is the more telling absence, because it is the instrument that actually licenses a George Town eating shop. The Municipal Council food establishment by-laws of 1991, in force from 1 December 1991, run through licensing, fees, hygiene, walls, floors, lighting, storage, toilets and stall conditions across seventeen pages. A full-text search of them for price, list, receipt and bill returns no price-display provision. Nor does the council's parallel trades and industries by-law.

What the consumer statute does instead is regulate the consequence of an unstated price. Its implied guarantee provides that where a price is not determined by the contract, by an agreed method or by a course of dealing, the consumer is not liable to pay more than a reasonable price. And its section 12 prohibits a misleading price indication, expressly reaching what may be "inferred from the indication or any omission from it" and prices that "cover… matters in respect of which an additional charge is in fact made".

The heritage zone rules that shape those shopfronts are set out in the heritage zone guide.

But you may demand an itemised receipt

This is the practical entitlement, and it is stronger than most diners realise.

Section 140(1) of the Consumer Protection Act 1999 requires a supplier to provide a receipt for any purchase exceeding a prescribed value. Section 140(2) then removes the condition entirely: "Notwithstanding anything contained in subsection (1), a consumer shall be supplied with a receipt for any purchase of goods or services if the consumer so requests."

And section 140(3) sets out what that receipt must contain: the trade name and address of the supplier, the date of purchase, "the amount of money paid for each item of purchase", the total "including a separate statement of any amount paid as tax", the make and model where applicable, and anything else prescribed.

So the statutory right is not to see prices in advance. It is to be given, on request, an itemised breakdown afterwards, with tax shown separately. Contravention carries no express penalty, so the Act's general penalty applies: up to RM50,000 or three years for an individual, RM100,000 for a body corporate, with RM1,000 a day for a continuing offence.

The prescribed value for the automatic duty could not be verified — the Act delegates it to regulations, and no such regulations were located.

The tribunal, if it comes to that

Malaysia's consumer claims tribunal is unusually accessible, and its terms are worth knowing even if you never use it.

Feature Provision
Established 15 November 1999, under section 85
Claim limit RM50,000, extendable by written agreement
Time limit Three years from when the cause of action accrued
Filing fee RM5
Form Statement of claim, four copies, free at any registry or online
Respondent's reply Within 14 days of service
Lawyers Not permitted at a hearing
Target duration Award within 60 days of the first hearing day, where practicable
Enforcement Award deemed an order of the magistrates' court
Non-compliance After 14 days: up to RM10,000 or two years, plus RM100 to RM5,000 a day

Its award powers include ordering that "the price or other consideration paid or supplied by the consumer or any other person be refunded", varying or setting aside the contract, and interest at up to 8 per cent a year. It cannot award damages for non-pecuniary loss. A claim may not be split to come within the limit, and only one forum may hear a given claim at a time.

Who counts as a consumer is defined narrowly in the tribunal's own terms: an individual acquiring goods or services ordinarily for personal, domestic or household use. Someone buying for business purposes or in a company's name is not.

For a disputed nasi kandar bill the arithmetic is the same as everywhere: a RM5 filing fee against a claim of a few ringgit. The tribunal is the reason the right exists, not the route most people will take.

Tax, and the heritage zone around the counter

Service tax on food and beverage services sits at 6 per cent, expressly held there when the general rate rose to 8 per cent in March 2024, and the registration threshold for the food and beverage group is RM1,500,000 in annual taxable services. Most single nasi kandar shops fall well under it; the large chains do not. Where a business is registered and displays a price, section 10B requires that displayed price to already include the tax.

The setting is worth sizing too, since George Town's heritage status shapes what the shophouse around the counter may do. The property was inscribed in 2008 under criteria two, three and four, as part of the serial listing "Melaka and George Town, Historic Cities of the Straits of Malacca", with a minor boundary modification in 2011. UNESCO gives the serial property 154.68 hectares of core area and a 392.8-hectare buffer. George Town's own heritage body gives the George Town component specifically as a 109.38-hectare core zone and a 150.04-hectare buffer containing "a total of 5,013 buildings" and 37 places of worship. Those two sets of figures measure different things and do not reconcile; the difference is Melaka.

Buildings fall into two conservation categories. Category I covers "buildings, monuments, objects and sites of exceptional interest" — 82 of them — and their permitted use is constrained: "the use of Category I buildings and sites should remain as originally intended, or be of similar use or nature." Category II covers buildings "of special interest that warrant every effort being made to preserve them", mostly shophouses, and no count is published. Governing document: the George Town Special Area Plan, which also serves as the conservation management plan.

UNESCO's own statement of value names food explicitly: the cities demonstrate "a living multi-cultural heritage and tradition of Asia" whose expressions include "food, and daily life". The heritage body's published trade guild documentation, however, names only two — the goldsmiths' association and the carpenters' guild — and no food business at all.

The sector's scale comes from the economic census. Malaysia's food and beverage services counted 136,453 establishments in 2022 with RM98.96 billion of gross output and 1,079,843 people engaged — up from 645,743 people in 2010. Within food services, restaurants number 39,149 establishments and food stalls and hawkers 43,818. Penang's food services alone counted 8,834 establishments, RM5.40 billion of output and 55,443 people engaged; across all food and beverage services in the state, RM7.01 billion of output and 74,643 people.

What this guide does not cover

No current price for any dish appears here. The figures above are dated May 2022 and are presented as the last official measurement, not as what you will pay. Do not treat the 2022 medians as current; the index has risen every year since and the survey has not resumed.

No premises is recommended. The twenty named above are named because the government's own price register named them, and being in a price survey says nothing about quality.

Several items were sought and not found. No published enforcement statistics for price-related offences could be obtained from the ministry, and no caseload statistics from the tribunal — its pages carry website visitor counters, not case counts. The prescribed value for the automatic receipt duty remains unverified. The 1993 retailer price-indication order named by the ministry as its price-tag instrument could not be retrieved, so its scope as to cooked food is unknown. Whether eating establishments are a prescribed trade for the tax-inclusive rule is treated here as established from the prescribed-business regulations rather than from the ministry's own summary, which uses a different instrument name.

On the heritage side, the Category II building count, the Special Area Plan's year, and the repair incentive amounts are all unpublished in extractable form, the last because the relevant releases are served as images. No register of traditional trades with counts exists beyond the two named guilds. And of 338 sites in the national heritage register, only five are in Penang — a museum building, the municipal building, the clock tower and two others — none of them a food business.