Where our numbers come from
This page explains the values on the nibbs.io website: the dish, calories burned and restaurant pages. Each dish value is a typical estimate for one common serving, built from standard recipes, local portion sizes and national food composition tables. The Nibbs app works differently: it estimates your own meal from your photo or description, as the last sections explain.
Last updated:
What a dish value means
A dish page shows calories, protein, carbs and fat for one typical serving, such as one hawker plate, one bowl or one piece. The serving line gives its weight. For example, the nasi lemak value is for one plate with egg, sambal, ikan bilis and peanuts, about 300 g.
The range shows where most servings fall. A small packet from a stall and a large plate with fried chicken can differ by hundreds of calories, so the range matters as much as the single number.
Calories are rounded to the nearest 10 kcal. Macros are in whole grams. Protein and carbs give 4 kcal per gram and fat gives 9 kcal per gram, so the macros add up to within about 10% of the calories.
How we build dish values
Define the serving
We describe the portion people usually get in that country, such as one hawker plate, one bowl or one piece, and give its weight in grams.
Find the closest published data
We look for the same dish in the national food composition table of its home country first. If that table has no entry, we use the closest dish in another national table or in USDA FoodData Central.
Scale it to the serving
Most tables give values per 100 g. We multiply them by the weight of our serving.
Build from the recipe when there is no record
For a dish without a published record, we add up a standard recipe: the rice or noodles, the meat, the oil, the coconut milk and the sugar.
Check, correct and round
We compare the value with other sources. If it differs from the best source by more than about 15% for the same serving, we correct it. Calories are rounded to the nearest 10 kcal.
Sources we use
We prefer national food composition tables and government health bodies, then university and hospital dietitians. We do not use blogs, recipe sites or other calorie apps as sources. For a few dishes, we also checked a peer-reviewed lab study or a restaurant chain's own nutrition information, as supporting evidence only. Each dish page lists the sources for that dish at the bottom of the page.
Malaysia
- Malaysian Food Composition Database (MyFCD), Ministry of Health MalaysiaValues per 100 g for nasi lemak, roti canai, char kway teow, mee goreng, curry laksa, satay and cooked rice.
- Ministry of Health Malaysia, Senarai Kalori Makanan dan Minuman (2023)Calories per serving for hawker dishes, side dishes and drinks such as teh tarik, cendol and Milo.
- Ministry of Health Malaysia (JKN Pahang), Bank Kalori Makanan 2022Calories per serving for local dishes and kopitiam drinks.
Singapore
- Health Promotion Board, Singapore Food Insights Database (SG FoodID)Lab-analysed and recipe-based values for hawker dishes, kopi and teh, and Southeast Asian dishes sold in Singapore.
- Health Promotion Board (HealthHub) and SingHealth HealthXchange dietitian articlesCalories per plate for char kway teow, fried carrot cake, bak chor mee, Hokkien mee and fish ball noodles.
Indonesia, Thailand, the Philippines and Vietnam
- Tabel Komposisi Pangan Indonesia (TKPI), Ministry of Health IndonesiaValues per 100 g for rendang, nasi Padang, bakso, gado-gado, soto and rice.
- Thai Food Composition Database, Institute of Nutrition, Mahidol University (INMU)Values per 100 g for pad thai, khao man gai, som tam, pad kra pao, tom yum goong, green curry and sticky rice.
- Philippine Food Composition Tables, Food and Nutrition Research Institute (FNRI-DOST)Values per 100 g for adobo, halo-halo, lumpia shanghai and the parts of sisig and tapsilog.
- National Institute of Nutrition Vietnam, dish nutrition lookupCalories per serving for pho, bun cha, bun bo Hue, com suon and banh xeo.
Hong Kong, Taiwan, Japan and South Korea
- Centre for Food Safety Hong Kong, Nutrient Information InquiryLab-analysed values for char siu rice, wonton noodles, milk tea, egg tarts, siu mai, pineapple buns and ramen.
- Taiwan Food and Drug Administration, Food Nutrient Database (open data)Values per 100 g for bubble tea, xiao long bao, braised pork and rice.
- Standard Tables of Food Composition in Japan 2020 (MEXT)Values per 100 g for karaage, onigiri, tonkatsu, gyudon topping, rice and salmon.
- Ministry of Food and Drug Safety (MFDS), Food Nutrient Database (K-FIND)Lab-analysed values for bibimbap, kimchi jjigae, tteokbokki, fried chicken, bulgogi, gimbap, japchae and samgyeopsal.
India
- Indian Nutrient Databank (INDB), built on the Indian Food Composition Tables 2017 (ICMR-NIN)Recipe-based values for biryani, masala dosa, dal, butter chicken, chole and sambar.
Generic dishes and ingredients
- USDA FoodData Central (Food and Nutrient Database for Dietary Studies, FNDDS 2021-2023)Values per 100 g and portion weights for dishes and ingredients that national tables do not cover, such as samosa, idli and dosa.
Exercise
- 2024 Adult Compendium of Physical Activities (Herrmann et al., Journal of Sport and Health Science, 2024)MET values for the calories burned pages.
How the calories burned pages work
The calories burned pages use MET values from the 2024 Adult Compendium of Physical Activities. A MET is a measure of how hard an activity is. One MET is about the energy you use when you sit quietly, which the Compendium sets at 1 kcal per kg of body weight per hour.
The formula
kcal = (MET − 1) × body weight (kg) × hours
Example: brisk walking at 5.6 to 6.3 km/h has a MET value of 4.8. A 60 kg person who walks briskly for 30 minutes burns about (4.8 − 1) × 60 × 0.5 = 114 kcal.
We take away 1 MET, the energy your body would use at rest in that time anyway, so the result is the extra energy the activity burns. The Nibbs app does the same when it estimates a logged workout. The Compendium gives average values for adults aged 19 to 59. Its authors note that it was not made to give the exact energy cost of an activity for one person.
How the restaurant pages work
The restaurant pages use each chain's own published nutrition information, not our estimates. Chains change their menus and recipes, so the chain's own website has the latest values.
How the app estimates your own plate
The app does not use the values on this website. In the Nibbs app, you take a photo of your meal, and Nibbs estimates it with AI: it names each item, estimates the portion and counts calories, protein, carbs and fat for your actual plate. Mixed plates such as nasi campur are split into each item.
You can edit any item and any portion before you save it. You can also type a description, scan a barcode or scan a nutrition label.
Limits of these estimates
- The same dish changes from cook to cook. Oil, coconut milk, sugar and portion size move the number most.
- Food composition tables report the average of the samples that a lab tested. Your plate is not that sample.
- A photo cannot see everything. Oil inside fried rice, sugar in a drink and gravy under the rice are hard to judge.
- Exercise values are for an average adult. Your age, sex, fitness and body composition change what you really burn.
- Estimates work best as a guide and for trends over days and weeks, not as an exact count for one meal.
Not medical or dietary advice
The values on this site are general information, not medical or dietary advice. If you have a health condition, are pregnant, or need a special diet, talk to a doctor or a registered dietitian.
Report an error
If a value looks wrong, email support@nibbs.io. Include the page link, the value you think is wrong and a source if you have one. We check each report and update the page when the evidence is clear.
Questions about our numbers
How accurate are the dish values on this site?
Each value is a typical estimate for one common serving, checked against national food composition tables and other published sources. Real dishes vary with the portion, the recipe and the cooking oil, so each dish page also shows a range where most servings fall.
Why does my plate have different calories from the dish page?
The dish page shows one typical serving. Your plate can have more rice, more gravy or a different side. The Nibbs app does not use the dish pages: a photo of your meal gives an estimate for your actual plate, and you can edit any item and portion before you save it.
Where do the calories burned numbers come from?
They use MET values from the 2024 Adult Compendium of Physical Activities, the same values as the Nibbs app. The pages show the calories an activity burns above rest: (MET − 1) × body weight in kg × hours. For example, a 60 kg person who walks briskly for 30 minutes burns about (4.8 − 1) × 60 × 0.5 = 114 kcal.
Where do restaurant calories come from?
Restaurant pages use each chain's own published nutrition information. Chains change their menus and recipes, so the chain's own website has the latest values.
How do I report a wrong value?
Email support@nibbs.io with the page link, the value you think is wrong and a source if you have one. We check each report and update the page when the evidence is clear.
Get calories for your own plate
Nibbs is the AI calorie tracker built for Asian food. Take a photo of your meal and get calories and macros in seconds, then edit anything before you save.