How we calculate

Calories and nutrients

For now, nutrients are added up from each dish’s recipe using USDA FoodData Central values per 100 g, or taken from the closest USDA dish (see below). A serving is a typical portion; each dish page says where its size comes from.

When there is no local recipe

Many hawker dishes have no published recipe with weights. When a dish in USDA FoodData Central is a close match (same staple, same cooking method, same main sources of fat and sugar), we use it for one serving and label it “closest USDA dish” on the page, with a link to the USDA entry and a note on how the local version differs. If the local dish is usually cooked with much more oil, santan or sugar, we do not use a stand-in: the dish waits for Malaysian data. These dishes only show a lab-measured GI, never an estimate, and a serving size from a cited source.

Some foods are often eaten in a bigger amount than the standard serving. Their pages add one more common serving under the portion table, with its own calories, GL and impact level, worked out the same way.

Glycemic index (GI)

Where a lab has measured the dish, we use that GI, mostly from Henry et al. 2021. With several studies we show the median and the lowest to highest result. Many hawker dishes were never tested: we then estimate the GI from the recipe, as the average GI of the ingredients weighted by their carbohydrate, and label it as an estimate.

Glycemic load (GL) and impact level

GL = GI × available carbohydrate in the portion (g) ÷ 100. Available carbohydrate is total carbohydrate minus fibre. The level is decided on the rounded number shown:

Drinks and foods with under 5 g of available carbohydrate per serving have no meaningful GI; their impact is low.

Limits

Recipes, portions and people differ, so read every number as a guide, not a measurement of your own blood sugar. Ranges show how much the source values disagree.