Data & method
Every number here is reproducible. This page says exactly how, and where it is weakest.
The composition data
Nutrient values for single ingredients — wheat flour, rice, pulses, paneer, milk, oils, vegetables, meat, eggs — are taken from the Indian Food Composition Tables 2017, published by the National Institute of Nutrition (ICMR) in Hyderabad. IFCT 2017 is the current authoritative analysis of Indian foods, measured on Indian samples, and it is the right base for Indian cooking in a way that a US database is not: Indian wheat, Indian pulses and Indian milk are not compositionally identical to their American equivalents.
Citation: Longvah T, Ananthan R, Bhaskarachary K, Venkaiah K. Indian Food Composition Tables 2017. National Institute of Nutrition, Indian Council of Medical Research, Hyderabad. Nutrient values are measured scientific quantities, reproduced here as data with attribution; the publication's own text is not reproduced.
Composite dishes
Most of what people actually search for is not an ingredient — it is a dish. Biryani, chole, dal makhani and pav bhaji do not appear in any composition table because they are recipes, and every household cooks them differently. Those entries are built by standard recipe analysis: a normal home recipe is written out ingredient by ingredient, each ingredient's composition is taken from IFCT, water loss or gain during cooking is applied, and the result is divided by the finished weight.
Where a dish is normally restaurant food rather than home food — butter chicken, a biryani plate, pav bhaji — the recipe used is a restaurant-style one, with the fat that implies, and the page says so. Where a dish is normally home food, a measured home hand with the oil is assumed. Neither assumption is hidden: the serving box at the top of every page states it.
Serving weights
This is the part other sites skip. A calorie figure per 100 g is useless if you do not know what a roti weighs, so every dish here carries a stated serving in grams:
- One medium phulka roti — 40 g, made from about 25 g of atta, no ghee.
- One katori of cooked dal — 150 g, the standard katori used in ICMR–NIN dietary guidance.
- One katori of cooked rice — 150 g, roughly 50 g of raw rice.
- One restaurant plate of biryani — 350 g.
- One cup of masala chai with milk and sugar — 150 ml.
These weights come from ICMR–NIN dietary guidance for Indians and from weighing normal portions. They are typical, not universal. If your roti is bigger, scale the number — the arithmetic is linear and the per-100 g table on every page lets you do it in one step.
The energy check
Energy is not an independent measurement here; it has to agree with the macronutrients that produce it. Every build runs each food through Atwater factors — 4 kcal per gram of protein, 4 per gram of available carbohydrate, 9 per gram of fat — and refuses to publish if the stated energy is more than 15% away from that sum (20% for high-fibre foods, where a share of the carbohydrate is not fully available). A dataset of 246 foods entered by hand will contain typos; this check is what stops one becoming 246 wrong pages.
Carbohydrate is quoted as available carbohydrate, with dietary fibre listed separately, following the IFCT convention. That is why the columns on a food page do not always add to the serving weight.
Burning it off
The activity minutes on each page use the standard ACSM relationship, kcal per minute = MET × 3.5 × body mass in kg ÷ 200, for a 70 kg adult, with MET values from the 2024 Adult Compendium of Physical Activities. The full activity dataset is published on a sister site, BurnLab.
What these numbers cannot tell you
- Oil is the biggest variable, by far. One extra tablespoon of oil in a pan of sabzi is around 120 kcal spread across the dish. Two cooks making "the same" aloo sabzi can differ by 40%.
- Restaurant portions are larger. Where a plate size is stated it is a normal restaurant plate, but portions vary by city, by restaurant and by whether it arrived in a thali.
- Recipes are regional. Sambar in Chennai is not sambar in Bengaluru. The recipe used is a common one, not the only one.
- These are averages. Composition tables report a mean across analysed samples. Individual batches vary.
- Ghee is never assumed unless stated. If you apply ghee to your roti, add about 45 kcal per teaspoon yourself.
General information only — not medical or nutrition advice. Home-cooked Indian food varies enormously with oil, ghee and portion size; every value here is an average for a stated serving, with the assumption shown.
Corrections
If a figure here disagrees with IFCT 2017, IFCT wins and the page gets fixed. Send the page URL and what looks wrong.