Food calorie calculator: count calories from a meal description or a photo
Type what you ate (“2 eggs, a slice of toast with butter”) or use a food photo, then fix any row and get calories, protein, carbs, fat and fibre from USDA data.
Loading tool…
How it works
Describe a meal the way you would say it, for example “2 eggs, a slice of toast with butter and a cup of orange juice”, and the calculator splits it into foods, reads the amounts and units, matches each food in the USDA database and shows calories, protein, carbohydrate, fat and fibre for every item plus the meal total. Every row is editable: pick a different food from its list, change the amount or serving, or type the grams.
Prefer a picture? The From a photo tab recognises a single dish with a small AI model (OpenAI’s CLIP) that runs inside your browser. It shows its five best guesses with a match score; you tick what is on the plate and set the portion. The photo is never uploaded, and a photo cannot show how much food there is, so the portion is always yours to set.
The nutrition values come from the USDA National Nutrient Database for Standard Reference (SR28), which USDA FoodData Central publishes as SR Legacy: about 8,250 foods with values per 100 g and USDA’s measured household portions (a large egg is 50 g, a cup of cooked white rice 158 g). It is public domain and free to use. The results are estimates to help you keep track, not medical or nutrition advice.
How it works
Text: the description is split into items at commas, “and”, semicolons and new lines. Each item is read for a quantity (digits, fractions like 1/2 or ½, ranges like 2-3, and words such as a, half, one and a half, a dozen), a unit (g, kg, oz, lb, ml, l, cup, tbsp, tsp, slice, piece, serving, can, clove, strip, small, medium, large) and the food name. “Toast with butter” becomes toast plus a pat of butter; “chicken breast with skin” stays one food because USDA has a food with that name. The food name is matched against about 620 everyday foods with short names and search words first, then the whole USDA list, allowing a typo or two; the closest alternatives go into the row’s drop-down list.
Amounts use USDA’s own portion weights: “2 eggs” is two large eggs (2 × 50 g), “a cup of orange juice” is 248 g, “a slice of toast” is one slice of white bread (29 g). A food with no count (“rice”, “milk”) gets one cup or one serving; a spread or sauce without an amount gets a spoonful. Bowl, plate and handful have no USDA weight, so the tool assumes 1 cup, 1 serving and 1 oz and marks the row as estimated. Nothing is guessed silently: every row shows its grams, and you can change them.
Photo: the image is cropped to a square and passed to CLIP ViT-B/32, an image-and-text model released by OpenAI under the MIT licence, running on your device with ONNX Runtime Web. The model compares the photo with descriptions of about 260 common foods and dishes (“a photo of hummus, a type of food”) and ranks them. Each guess is linked to a USDA food, so the numbers you add are the same USDA values as in text mode.
Meals in Arabic and other languages
The text box also reads meals written in Arabic (Modern Standard Arabic and Egyptian, Gulf, Levantine, Iraqi and Maghrebi dialects), Arabizi such as “nos taba2 foul”, and Spanish, French, German, Portuguese, Italian, Turkish, Hindi and Urdu (Devanagari, Urdu script or Latin letters), Indonesian/Malay and Russian. The language is picked from the script and from the words each language’s word list knows, and the row shows the food’s name in that language above the USDA name. English text goes through the same English parser as before.
Each language has a hand-written word list for numbers and fractions, containers and spoons, and the most common foods, linked to the same USDA foods: «نص طبق مربى» (half a plate of jam) is USDA “Jams and preserves”, half a plate. Plates, bowls, small cups, handfuls and sandwiches keep the estimated-weight rules above and are marked estimated. Dishes that USDA does not describe, such as koshari, mulukhiyah, mandi, paella or biryani, are listed as not in the database with buttons for their main ingredients rather than given invented numbers. On phrasings written after the word lists were finished, 52 of 58 meals (90%) were read completely right; the rest need a row fixed by hand.
Everyday measures we understand
Few people weigh their food, so the text box also reads everyday amounts in every supported language: “a pinch of salt”, “a bit of rice”, “a heaped tablespoon of sugar”, “a cup and a bit of milk”, «ربع وشوية رز» (a quarter and a bit of rice), «معلقتين سكر», «لقمتين عيش», “un chorrito de aceite” or “ek chutki namak”. Each expression means either a share of the food’s usual USDA serving or an assumed volume or weight. The row shows the words you wrote with a ≈ note that states the assumption, is marked estimated, and you can change the amount or the grams.
Where a convention exists it is used: a pinch is 1/16 teaspoon (0.31 ml, about 0.4 g of salt), a dash ⅛ teaspoon, a metric drop 0.05 ml, and teaspoons, tablespoons and cups are the US measures USDA weighs its portions with. Where the meaning is fuzzy by nature (a bit, a bite, a splash, a knob of butter) there is no standard, so the table gives the middle value chosen. Arithmetic words work too: “and a bit” adds a quarter of the amount before it (at least 1/12), so a quarter and a bit is ⅓; “minus a bit” takes off 10%; “more than” and “less than” multiply by 1.2 and 0.8, “almost” by 0.9; “about” keeps the number and marks it estimated. A small, large or jumbo cup, bowl or plate counts as 0.75, 1.5 or 2 of the usual one, and a heaped spoon as 1.5 level spoons.
| Measure | Assumed amount | How it is written |
|---|---|---|
| a bit | ¼ serving: ≈ 40 g cooked rice, 4 g sugar | English: bit, little bit, little, tad · Arabic: شوية, شويا, شوي, شوايه · Spanish: un poco, poco, algo · French: un peu, peu · German: ein bisschen, bisschen, ein wenig, wenig · Portuguese: um pouco, pouco, um bocado · Italian: un po, po · Turkish: biraz, bir parça · Hindi/Urdu: thoda, thodi, thora, thori · Indonesian/Malay: sedikit, sikit, sesikit · Russian: немного |
| ½ × a bit | ½ × (¼ serving: ≈ 40 g cooked rice, 4 g sugar) | English: tiny bit, wee bit, teeny bit · Arabic: حاجة بسيطة, شوية صغيرين, شوية صغيرة, شوية بسيطة · Spanish: un poquito, poquito · French: un petit peu · German: ein klein wenig, ein kleines bisschen · Portuguese: um pouquinho, pouquinho · Italian: un pochino, pochino · Turkish: birazcık, azıcık, az biraz · Hindi/Urdu: zara sa, zara si, bas thoda, ज़रा सा · Indonesian/Malay: sedikit sekali, sedikit saja, secuil · Russian: немножко, чуть, чуть чуть, чуточку |
| ¼ × a bit | ¼ × (¼ serving: ≈ 40 g cooked rice, 4 g sugar) | Arabic: نتفة صغيرة · Spanish: un poquitín · French: un tout petit peu · Italian: un pochettino |
| 2 × a bit | 2 × (¼ serving: ≈ 40 g cooked rice, 4 g sugar) | Arabic: شويتين |
| a pinch | 0.31 ml ≈ 0.4 g salt | English: pinch, pinches · Arabic: رشة, قبصة, قرصة · Spanish: una pizca, pizca, pizcas, pellizco · French: pincée, pincées, une pincée · German: prise, prisen, eine prise · Portuguese: pitada, pitadas, uma pitada · Italian: pizzico, pizzichi, un pizzico · Turkish: tutam, bir tutam, çimdik, bir çimdik · Hindi/Urdu: chutki, chutki bhar, चुटकी, चुटकी भर · Indonesian/Malay: sejumput, jumput, secubit, cubit · Russian: щепотка, щепотку, щепотки, щепоть |
| «حبة»: one piece or a bit | one piece of a countable food, else a bit | Arabic: حبة, حباية |
| «حبة»: one piece or a bit | one piece of a countable food, else 6 × a bit | Arabic: حبة كبيرة |
| 2 × a pinch | 2 × (0.31 ml ≈ 0.4 g salt) | Arabic: رشتين, قبصتين |
| ½ × a pinch | ½ × (0.31 ml ≈ 0.4 g salt) | Arabic: رشة خفيفة · Spanish: pizquita |
| a dash | 0.62 ml ≈ 0.6 g hot sauce | English: dash, dashes · French: un soupçon, soupçon, un trait, trait · German: spritzer, ein spritzer, messerspitze, msp · Portuguese: pingo, um pingo · Italian: spruzzata · Indonesian/Malay: secipratan, sepercik |
| a smidgen | 0.15 ml | English: smidge, smidgen |
| a drop | 0.05 ml | English: drop, drops · Arabic: نقطة, نقط · Spanish: gota, gotas, gotita · French: goutte, gouttes · German: tropfen · Portuguese: gota, gotas · Italian: goccia, gocce · Turkish: damla · Hindi/Urdu: boond, boondein, बूंद, बूँद · Indonesian/Malay: setetes, tetes · Russian: капля, капли, капель |
| 2 × a drop | 2 × (0.05 ml) | Arabic: نقطتين |
| 3 × a drop | 3 × (0.05 ml) | Turkish: birkaç damla · Russian: несколько капель |
| a splash | 5 ml ≈ 5 g milk | English: splash, splashes · Arabic: دفقة · Spanish: un chorrito, chorrito · French: un nuage, nuage · German: schuss, ein schuss, einen schuss · Italian: goccio, un goccio |
| a drizzle | 5 ml ≈ 4.6 g olive oil | English: drizzle · Spanish: un hilo, un hilito · French: un filet, filet · Portuguese: um fio, fio · Italian: un filo, filo |
| ½ × a drizzle | ½ × (5 ml ≈ 4.6 g olive oil) | Portuguese: fiozinho |
| a sprinkle | 4.9 ml ≈ 2 g grated parmesan | English: sprinkle, sprinkling · Italian: spolverata, una spolverata |
| a dollop | 14.8 ml ≈ 15 g yogurt | English: dollop, dollops, blob · Spanish: pegote · German: klecks, ein klecks, einen klecks, klacks |
| a knob | 10 g | English: knob, knobs · Spanish: nuez de, una nuez de · French: noix de, une noix de · Italian: noce di, una noce di |
| ½ × a knob | ½ × (10 g) | French: noisette de, une noisette de |
| a bite | 15 g | English: bite, bites, mouthful, mouthfuls · Arabic: لقمة, لقم, قضمة · Spanish: bocado, bocados, mordisco · French: bouchée, bouchées · German: bissen, happen · Portuguese: garfada, garfadas, mordida, dentada · Italian: boccone, bocconi, morso · Turkish: lokma, bir lokma, ısırık, bir ısırık · Hindi/Urdu: niwala, nivala, kaur, निवाला · Indonesian/Malay: sesuap, suap, segigit, gigit · Russian: укус |
| 2 × a bite | 2 × (15 g) | Arabic: لقمتين, لقمة كبيرة, قضمتين |
| ½ × a bite | ½ × (15 g) | Arabic: لقمة صغيرة |
| a sip | 15 ml | English: sip, sips · Arabic: بق, شفطة, رشفة, رشفات · Spanish: sorbo, sorbos · French: gorgée, gorgées · German: schluck, schlucke, einen schluck · Portuguese: gole, goles · Italian: sorso, sorsi · Turkish: yudum, bir yudum · Hindi/Urdu: ghoont, ghut, घूंट, گھونٹ · Indonesian/Malay: seteguk, teguk · Russian: глоток, глотка, глотков |
| 2 × a sip | 2 × (15 ml) | Arabic: بقين, شفطتين, رشفتين |
| ½ × a sip | ½ × (15 ml) | Spanish: sorbito · German: schlückchen · Portuguese: golinho · Russian: глоточек |
| a gulp | 30 ml | English: gulp, gulps, swig · Arabic: جرعة, شربة · Spanish: trago, tragos · French: lampée · Portuguese: golada · Italian: sorsata |
| 2 × a gulp | 2 × (30 ml) | Arabic: جرعتين |
| handful | 1 oz = 28 g (1 cup of leafy greens) | English: handful, handfuls · Arabic: كمشة, كف, ملو الإيد, ملو ايد · Spanish: puñado, un puñado, puñados · French: poignée, une poignée, poignées · German: handvoll, eine handvoll · Portuguese: punhado, um punhado, punhados · Italian: manciata, una manciata, manciate · Turkish: avuç dolusu, avuç, bir avuç · Hindi/Urdu: mutthi, मुट्ठी, مٹھی, mutthi bhar · Indonesian/Malay: genggam, segenggam · Russian: горсть, горсти, пригоршня, пригоршню |
| ½ handful | ½ oz = 14 g (½ cup of leafy greens) | English: small handful · Spanish: puñadito, un puñadito · French: une petite poignée · German: kleine handvoll · Portuguese: punhadinho · Italian: una piccola manciata · Russian: горстку, горсточка, горсточку |
| 1½ tablespoon | 1½ tbsp = 22.19 ml | English: heaped tablespoon, heaped tablespoons, heaping tablespoon, heaping tablespoons · Turkish: bir kaşık dolusu |
| 1½ teaspoon | 1½ tsp = 7.4 ml | English: heaped teaspoon, heaped teaspoons, heaping teaspoon, heaping teaspoons |
| 1¼ tablespoon | 1¼ tbsp = 18.49 ml | English: rounded tablespoon |
| 1¼ teaspoon | 1¼ tsp = 6.16 ml | English: rounded teaspoon |
| tablespoon | 1 tbsp = 14.79 ml | English: level tablespoon, level tbsp, spoonful, spoonfuls · Spanish: chorro, un chorro, cucharada sopera, cuchara sopera · French: cuillerée, cuillerées · Portuguese: colherada, colheradas · Italian: cucchiaiata · Indonesian/Malay: sesudu |
| teaspoon | 1 tsp = 4.93 ml | English: level teaspoon, level tsp · Arabic: معلقة قهوة, معلقة صغنونة · Russian: ложечка, ложечку |
| 2 teaspoon | 2 tsp = 9.86 ml | English: dessert spoon, dessertspoon · Arabic: معلقة حلو · Spanish: cucharada de postre · French: cuillère à dessert · Turkish: tatlı kaşığı |
| 1½ cup | 1½ cup = 355 ml | English: big glass, tall glass, big mug, big cup |
| 1½ bowl | 1½ cup = 355 ml | English: big bowl |
| 1½ plate | 1½ × one USDA serving | English: big plate |
| 2 plate | 2 × one USDA serving | English: huge plate · Arabic: ماعونين |
| 2 bowl | 2 cup = 473 ml | English: huge bowl |
| 1½ fl oz | 1½ fl oz = 44 ml | English: shot glass, shot |
| ½ plate | ½ × one USDA serving | English: side plate |
| ¼ teaspoon | ¼ tsp = 1.23 ml | Arabic: طرف معلقة, طرف المعلقة, سن معلقة |
| 2 handful | 2 oz = 57 g (2 cup of leafy greens) | Arabic: كمشتين, كفين, حفنتين |
| 45 ml | 45 ml | Arabic: فنجان عربي, فنجال عربي, فنجان قهوة عربي, فنجال قهوة عربي |
| plate | 1 × one USDA serving | Arabic: ماعون |
| bottle | 1 × USDA's bottle size for the drink | Arabic: غرشة, قزازة, ازازة, قنينة |
| cup | 1 cup = 237 ml | Arabic: قلاص, غلاص, قلاس · Indonesian/Malay: secawan |
| piece | 1 piece | Arabic: صباع, اصبع, صوابع, اصابع |
| ½ cup | ½ cup = 118 ml | Spanish: cucharón · French: louche · German: schöpfkelle, kelle · Portuguese: concha, conchas · Italian: mestolo · Hindi/Urdu: karchhi, करछी · Russian: половник, поварёшка |
| 190 ml | 190 ml | Portuguese: copo americano |
| 40 ml | 40 ml | Italian: bicchierino |
| ¾ cup | ¾ cup = 177 ml | Turkish: kepçe, bir kepçe |
| 100 g | 100 g | Indonesian/Malay: centong, secentong |
| 200 ml | 200 ml | Russian: гранёный стакан |
| heaped spoon (× 1½) | 1½ × the spoon | Arabic: مليانة, مليان, مقببة, عامرة · Spanish: colmada, colmadas, colmado · French: bombée, bombées, bien pleine · German: gehäuft, gehäufter, gehäufte, gehäuften · Portuguese: cheia, cheias, bem cheia · Italian: colmo, colma, colmi · Turkish: tepeleme · Hindi/Urdu: bhar ke, bhara hua, भर के, بھر کے · Indonesian/Malay: munjung, penuh · Russian: с горкой |
| level spoon | the spoon as it is | Arabic: سادة, مسطحة, مستوية · Spanish: rasa, rasas · French: rase, rases · German: gestrichen, gestrichener, gestrichene, gestrichenen · Portuguese: rasa, rasas · Italian: raso, rasa, rasi · Turkish: silme · Indonesian/Malay: peres, rata · Russian: без горки |
| jumbo | × 2 on a cup, bowl or plate; USDA's size for a piece | Arabic: جامبو |
| extra large | × 1¾ on a cup, bowl or plate; USDA's size for a piece | Arabic: كبير قوي, كبيرة قوي, كبير جداً |
| tiny | × ½ on a cup, bowl or plate; USDA's size for a piece | Arabic: صغنن, صغنونة, صغنون, صغنطوط |
| 3 (a count) | 3 pieces or servings | English: few, a few · Arabic: كذا, كذا حبة · Spanish: unos cuantos, unas cuantas |
| 4 (a count) | 4 pieces or servings | English: several |
| 2½ (a count) | 2½ pieces or servings | English: two or three · Arabic: اتنين تلاتة, اتنين تلات, ثنتين ثلاث · Spanish: dos o tres · French: deux ou trois · German: zwei drei, zwei oder drei · Portuguese: dois ou três · Italian: due o tre · Turkish: iki üç · Hindi/Urdu: do teen, दो तीन, دو تین · Indonesian/Malay: dua tiga · Russian: два три |
| 3½ (a count) | 3½ pieces or servings | English: three or four · Arabic: تلات أربع, تلاتة أربعة, ثلاث أربع · Spanish: tres o cuatro · French: trois ou quatre · German: drei vier · Portuguese: três ou quatro · Italian: tre o quattro · Turkish: üç dört · Hindi/Urdu: teen char, तीन चार · Indonesian/Malay: tiga empat · Russian: три четыре |
| a lot | 1.5 × the usual serving (or 1.5 pieces) | English: lots, a lot, lots of, plenty of · Arabic: كتير, كثير, بزاف, واجد · Spanish: un montón, mucho, mucha, bastante · French: beaucoup, pas mal de · German: viel, viele, eine menge · Portuguese: muito, muita · Italian: tanto, tanta, parecchio, parecchia · Turkish: çok, bir sürü, bolca · Hindi/Urdu: bahut, बहुत, بہت · Indonesian/Malay: banyak · Russian: много |
| and a bit | "and a bit" adds ¼ of the amount before it (at least 1/12, at most ½): ¼ and a bit ≈ ⅓. | English: and a bit, and a little, plus a bit, a bit more than · Arabic: وشوية, و شوية, وشوي, و شوي · Spanish: y pico, y un poco, un poco más de · French: et quelques, et des poussières, un peu plus de · German: etwas mehr als · Portuguese: e pouco, e um pouco, um pouco mais de · Italian: abbondante, abbondanti, e un po · Turkish: biraz fazla, küsur · Hindi/Urdu: thoda zyada, थोड़ा ज़्यादा · Indonesian/Malay: lebih sedikit · Russian: с небольшим, с хвостиком, чуть больше |
| minus a bit | "minus a bit" takes off 10% (at least 1/24): a cup minus a bit ≈ 0.9 cup. | English: minus a bit, a bit less than, just under · Arabic: إلا شوية, إلا حبة, إلا شوي, أقل شوية من · Spanish: un poco menos de · French: un peu moins de · German: etwas weniger als, knapp · Portuguese: um pouco menos de · Italian: scarso, scarsa · Turkish: biraz az · Hindi/Urdu: thoda kam, थोड़ा कम · Russian: чуть меньше |
| more than | "more than" = 1.2 × the amount. | English: more than, over · Arabic: أكتر من, أكثر من · Spanish: más de · French: plus de · German: mehr als, über · Portuguese: mais de · Italian: più di · Turkish: den fazla, fazlası · Hindi/Urdu: se zyada, से ज़्यादा, से ज्यादा, سے زیادہ · Indonesian/Malay: lebih dari · Russian: больше, больше чем |
| less than | "less than" = 0.8 × the amount. | English: less than, under · Arabic: أقل من · Spanish: menos de · French: moins de · German: weniger als · Portuguese: menos de · Italian: meno di · Turkish: den az · Hindi/Urdu: se kam, से कम, سے کم · Indonesian/Malay: kurang dari · Russian: меньше |
| almost | "almost" = 0.9 × the amount. | English: almost, nearly · Arabic: قرب, تقريباً كامل · Spanish: casi · French: presque · German: fast · Portuguese: quase · Italian: quasi · Turkish: neredeyse · Indonesian/Malay: hampir · Russian: почти |
| about | "about" keeps the amount and marks it estimated. | English: about, around, roughly, approximately · Arabic: حوالي, حوالى, تقريباً, على الأقل · Spanish: aproximadamente, aprox, alrededor de, más o menos · French: environ, à peu près, autour de · German: etwa, ca, circa, ungefähr · Portuguese: mais ou menos, cerca, cerca de, aproximadamente · Italian: circa, più o meno, all'incirca · Turkish: yaklaşık, kadar, aşağı yukarı, civarı · Hindi/Urdu: lagbhag, लगभग, kareeb, takreeban · Indonesian/Malay: sekitar, kira kira, kurang lebih · Russian: около, примерно, где то, приблизительно |
The word lists hold 780 everyday expressions across the eleven languages; the table shows up to four spellings per language. Grams depend on the food: a splash of milk is about 5 g but a splash of oil 4.6 g, because the calculator converts volumes with each food’s own USDA density.
Sources: Cooking weights and measures (dash, pinch, smidgen) (checked 2026-09-23); Drop (unit): the metric drop of 0.05 ml (checked 2026-09-23)
Calories in common foods and portions
Values from USDA SR28 (SR Legacy), using USDA’s measured portion weights, worked out when this page was built. Protein, carbohydrate, fat and fibre are in grams; “–” means USDA has no fibre analysis for that food.
| Portion | Grams | Calories (kcal) | Protein | Carbs | Fat | Fibre | USDA food |
|---|---|---|---|---|---|---|---|
| 1 large egg | 50 | 72 | 6.3 | 0.4 | 4.8 | 0 | Egg, whole, raw (#01123) |
| 2 large eggs | 100 | 143 | 12.6 | 0.7 | 9.5 | 0 | Egg, whole, raw (#01123) |
| 1 fried egg | 46 | 90 | 6.3 | 0.4 | 6.8 | 0 | Egg, fried (#01128) |
| 1 cup cooked white rice | 158 | 205 | 4.3 | 44.5 | 0.4 | 0.6 | White rice, long-grain, cooked (#20045) |
| 1 cup cooked brown rice | 202 | 248 | 5.5 | 51.7 | 2 | 3.2 | Brown rice, cooked (#20037) |
| 1 cup cooked spaghetti | 124 | 196 | 7.2 | 38.3 | 1.2 | 2.2 | Pasta, cooked (#20121) |
| 1 slice white bread | 29 | 77 | 2.6 | 14.3 | 1 | 0.8 | White bread (#18069) |
| 1 pita bread (6½ inch) | 60 | 165 | 5.5 | 33.4 | 0.7 | 1.3 | Pita bread, white (#18041) |
| 1 medium banana | 118 | 105 | 1.3 | 27 | 0.4 | 3.1 | Banana, raw (#09040) |
| 1 medium apple | 182 | 95 | 0.5 | 25.1 | 0.3 | 4.4 | Apple, raw, with skin (#09003) |
| 1 orange (2⅝ inch) | 131 | 62 | 1.2 | 15.4 | 0.2 | 3.1 | Orange, raw (#09200) |
| 1 cup orange juice | 248 | 112 | 1.7 | 25.8 | 0.5 | 0.5 | Orange juice, fresh (#09206) |
| 1 cup whole milk | 244 | 149 | 7.7 | 11.7 | 7.9 | 0 | Milk, whole (3.25%) (#01077) |
| 1 cup plain whole-milk yogurt | 245 | 149 | 8.5 | 11.4 | 8 | 0 | Plain yogurt, whole milk (#01116) |
| 100 g chicken breast, roasted | 100 | 165 | 31 | 0 | 3.6 | 0 | Chicken breast, skinless, roasted (#05064) |
| 3 oz salmon, cooked | 85 | 175 | 18.8 | 0 | 10.5 | 0 | Salmon, Atlantic farmed, cooked (#15237) |
| 1 tbsp olive oil | 13.5 | 119 | 0 | 0 | 13.5 | 0 | Olive oil (#04053) |
| 1 tbsp butter | 14.2 | 102 | 0.1 | 0 | 11.5 | 0 | Butter, salted (#01001) |
| 1 tbsp peanut butter | 16 | 96 | 3.6 | 3.6 | 8.2 | 0.8 | Peanut butter, smooth (#16098) |
| 2 tbsp hummus | 30 | 50 | 2.4 | 4.3 | 2.9 | 1.8 | Hummus, store-bought (#16158) |
| 1 falafel patty (2¼ inch) | 17 | 57 | 2.3 | 5.4 | 3 | – | Falafel (#16138) |
| 1 cup cooked lentils | 198 | 230 | 17.9 | 39.9 | 0.8 | 15.6 | Lentils, boiled (#16070) |
| 1 oz almonds (about 23) | 28.4 | 164 | 6 | 6.1 | 14.2 | 3.5 | Almonds, raw (#12061) |
| 1 Medjool date | 24 | 66 | 0.4 | 18 | 0 | 1.6 | Dates, Medjool (#09421) |
| 1 cup cooked oatmeal | 234 | 166 | 5.9 | 28.1 | 3.6 | 4 | Oatmeal (porridge), cooked with water (#08121) |
| 1 medium baked potato | 173 | 161 | 4.3 | 36.6 | 0.2 | 3.8 | Potato, baked, with skin (#11674) |
| 1 slice cheese pizza (14 inch) | 107 | 285 | 12.2 | 35.7 | 10.4 | 2.5 | Cheese pizza, 14 inch, regular crust (#21299) |
| 1 croissant (medium) | 57 | 231 | 4.7 | 26.1 | 12 | 1.5 | Croissant, butter (#18239) |
| 1 tbsp honey | 21 | 64 | 0.1 | 17.3 | 0 | 0 | Honey (#19296) |
| 1 tsp white sugar | 4.2 | 16 | 0 | 4.2 | 0 | 0 | Sugar, white granulated (#19335) |
What the photo mode can and cannot do
- It recognises one main food per photo from a fixed list of about 260 common foods and dishes, including Middle-Eastern staples such as hummus, falafel, pita, tahini, fava beans and dates. Dishes outside the list get the nearest label, which may be wrong.
- Mixed plates, sauces, drinks in opaque cups, unusual angles and poor light make guesses worse. The match score says how much better one label fits than the others; it is not the probability that the guess is right.
- It cannot measure portions. A photo has no scale, and the same plate can hold 100 g or 400 g of rice, so you choose the portion from USDA’s servings or type the grams.
- The photo stays on your device. The model runs in your browser; nothing is uploaded, stored or shared.
- Not every dish has a USDA value. SR28 has hummus, falafel, pita, tahini, naan, chapati, bulgur and couscous, but not dishes such as biryani, shawarma or tabbouleh; describe their ingredients instead.
Sources and licences
Nutrition data: USDA National Nutrient Database for Standard Reference, Release 28 (SR28), SR28, September 2015, by the U.S. Department of Agriculture, Agricultural Research Service, Nutrient Data Laboratory; distributed in FoodData Central as FoodData Central “SR Legacy” (April 2018). Public domain (U.S. Government work, 17 U.S.C. 105); FoodData Central data are published under CC0 1.0. The page uses 8,257 foods (every SR28 food except baby foods and the American Indian/Alaska Native group), with values per 100 g and USDA’s portion weights copied unchanged.
Photo model: CLIP ViT-B/32 by OpenAI (MIT licence), image part only, stored with 8-bit weights and run on your device. OpenAI has not published its training data; its model card describes crawled image–caption pairs and says the model was built for research and should be tested for each use, which is why this tool only offers suggestions from a fixed food list and leaves the choice to you.
Sources: USDA FoodData Central (SR Legacy) (checked 2026-09-23); OpenAI CLIP (model and model card) (checked 2026-09-23)
Not medical or nutrition advice
This calculator gives estimates for everyday tracking. Real foods vary with variety, recipe, brand and cooking, and portions are easy to misjudge. If you manage diabetes, kidney disease, allergies, an eating disorder or another medical condition, follow the advice of your doctor or a registered dietitian and use the nutrition label of packaged foods.
How to use it
- Open Describe a meal and type what you ate, separating foods with commas, “and” or new lines. Amounts can be numbers, fractions or words (2, 1/2, ½, a, half, a couple), with units such as g, oz, cup, tbsp, slice, piece, can or large.
- Press Calculate calories. Every recognised food appears in the meal table; anything the tool does not recognise is listed with “did you mean” suggestions.
- Check each row. If the food is not quite right (fried instead of boiled, whole instead of skim), pick another one from the row’s list; change the amount, the serving or the grams if your portion was different.
- For a photo, open From a photo, choose a picture of one dish and press Recognise food. The first time, the model (about 104 MB) downloads once and stays in your browser. Tick the right food, set the portion, and add it to the meal.
- Read the total at the bottom of the table. For a daily target to compare it with, use the calorie calculator.
Frequently asked questions
How do I count the calories in a meal?
Type the meal in plain words, such as “2 eggs, a slice of toast with butter and a cup of orange juice”, and press Calculate calories. Each food gets its own row with calories, protein, carbs, fat and fibre, and the total is at the bottom. Fix any row that is not quite right.
How many calories are in 2 eggs?
Two large raw or boiled eggs (100 g) have about 143 kcal, 12.6 g of protein and 9.5 g of fat, according to USDA SR28. A fried egg has more because of the cooking fat: one large fried egg is about 90 kcal.
How many calories are in a cup of rice?
One cup of cooked long-grain white rice (158 g) has about 205 kcal and 44.5 g of carbohydrate; a cup of cooked brown rice (202 g) about 248 kcal and 3.2 g of fibre. Uncooked rice has roughly three times the calories per gram, so match the entry to how you measured it.
Can it count calories from a photo?
It can suggest what the food is. The photo mode runs a CLIP image model in your browser and ranks about 260 common foods and dishes; you pick the right one and set the portion. It cannot tell how much food is on the plate, so photo estimates are rough and you should check the portion yourself.
Can I type the meal in Arabic or another language?
Yes. Write it the way you would say it, for example «نص طبق فول ورغيفين عيش» in Egyptian Arabic, “dos huevos y una tostada” in Spanish or “2 roti aur ek katori dal” in Hindi. The calculator reads Arabic in any dialect and Arabizi, plus Spanish, French, German, Portuguese, Italian, Turkish, Hindi/Urdu, Indonesian/Malay and Russian, all on your device. There is also an Arabic version of this page.
How many grams are in a pinch, a handful or a spoonful?
By the conventions the calculator uses: a pinch is 1/16 teaspoon, about 0.4 g of salt; a dash is ⅛ teaspoon; a level teaspoon of sugar is 4.2 g and a level tablespoon 12.6 g (USDA), a heaped one about 1.5 times that; a handful is taken as 1 oz (28 g) of nuts or 1 cup of leafy greens; a knob of butter 10 g; a bite 15 g and a sip 15 ml. “A bit” is a quarter of the usual serving, for example about 40 g of cooked rice or 1 teaspoon of sugar. These are assumptions, marked with ≈ in the table; weigh the food when it matters.
Is my photo uploaded?
No. The recognition model runs on your device inside the browser. The photo is not uploaded, stored or shared; only the model files are downloaded, once, from this site.
Where do the calorie numbers come from?
From the USDA National Nutrient Database for Standard Reference, Release 28 (SR28), published by the U.S. Department of Agriculture and distributed in FoodData Central as SR Legacy. It is public domain. Values are per 100 g of the food as described, and the servings are USDA’s measured household portions.
How accurate is the total?
The per-100 g values are laboratory averages, so most of the error comes from portions and preparation. A “cup” of rice can be 20% more or less than USDA’s 158 g, and oil, butter, sauces and sugar in drinks add calories that are easy to forget. Weigh food when it matters and add cooking fat as its own item.
Why is a food missing or matched to the wrong thing?
The database has no brand-name packaged foods and few restaurant dishes, and a short description can match several foods. Pick the right food from the row’s list, try a simpler or more specific name (“brown rice, cooked”), or describe a dish by its ingredients. For packaged food, the label is the better source.
Related tools
- Calorie CalculatorDaily calories to maintain, lose or gain weight from the Mifflin–St Jeor equation, with BMR, TDEE and macros in grams.
- BMI CalculatorBody mass index in metric or imperial units with the WHO adult categories and the weight range for a normal BMI.
- Cups to Grams ConverterConvert cups, tablespoons and teaspoons to grams or ounces (and back) for 50 common baking and cooking ingredients.
- Weight ConverterKilograms, pounds, ounces, stone, grams, tonnes, short and long tons, troy ounces and carats, converted both ways.
- Energy ConverterJoules, kilojoules, calories and kilocalories, watt-hours and kWh, BTU, foot-pounds and electronvolts.
- HEIC to JPGConvert iPhone HEIC/HEIF photos to JPG that opens anywhere, without uploading.