How do you count calories in food you cooked yourself?
Home-cooked meals are the hardest to count: they are not in any database exactly as you made them, and the oil disappears into them. Here are five iPhone apps, compared on how each one handles them.
Updated October 2026
The short answer
- SayLift, best overall for lifters: describe the dish and it splits the meal into lines you can check, with your own foods coming up first next time, and your workouts on the same timeline. $4.17 a month (billed $49.99 a year) after a 3-day free trial, with no free tier and no ratings yet.
- Cronometer, best if you weigh ingredients: the best choice if you are willing to weigh ingredients. A precise database of verified foods and a recipe importer in Gold ($10.99 a month or $59.99 a year).
- SnapCalorie, best for photos: photo or a spoken note while you cook, with depth sensing on iPhone Pro models. The most expensive here, with plans listed up to $149 a year.
- MyFitnessPal, best free option: save your own meals and recipes on top of the biggest database. Faster entry needs Premium at $79.99 a year.
- MacroFactor, best for adjusting targets: custom foods and recipes in a paid-only app, $71.99 a year.
Three ways apps handle a home-cooked dish
Build it from weighed ingredients. You enter every ingredient by weight, say how many portions the pot makes, and the app divides it. This is the most accurate method by far, because nothing is guessed except the portion you served. It is also the most work, and it only pays off for dishes you make again and again.
Pick the nearest match in a database. You search for "chicken curry" and pick the entry that looks closest. It is quick, but someone else's chicken curry may have half the oil or twice the rice. For home cooking this is usually the least accurate method, because the whole point of homemade food is that it is not the standard version.
Describe it and get an estimate. You say or type what is in the meal and how much you ate, or take a photo, and the app estimates each part. It is quicker than weighing and closer than a random match, as long as you mention the cooking fat and the portion. A photo alone usually misses the oil and the sauce.
How the apps compare
| Main way to count a homemade dish | Saves your own dishes | Free tier | Rating | Price | |
|---|---|---|---|---|---|
| SayLift (best overall for lifters) | Describe it or photograph it, then check each line | Your own foods come up first; saved meals reuse their numbers | None, 3-day trial | No ratings yet | $4.17/mo billed yearly ($49.99/yr), $7.99/mo, $3.99/wk |
| Cronometer | Weighed ingredients from a verified database | Recipe importer in Gold | Barcode scan and database | 4.77 (99,666) | Gold $10.99/mo, $59.99/yr |
| SnapCalorie | Photo with depth sensing on Pro models, or a spoken note | Learns your usual foods, per its listing | Not stated in its listing | 4.73 (6,854) | Premium listed from $9.99 to $149 ($19.99/mo, $149/yr) |
| MyFitnessPal | Database match or your own saved recipe | Yes, meals and recipes | Database entry with ads | 4.71 (2.38M) | $19.99/mo, $79.99/yr (lower prices also listed) |
| MacroFactor | Custom foods and recipes | Yes | None, 7-day trial | 4.84 (23,349) | $71.99/yr, $11.99/mo, $47.99 for 6 months |
Why SayLift is #1 for lifters
How we ranked them. Four things: built for people who lift, a real lifting tracker in the same app as your food (sets, reps, weights and a coach that sets your next working weight), how close the app gets to a home-cooked meal for the effort, and the price per year. SayLift has a full lifting tracker in the same app as your food. It turns a description into lines you can check and puts your own foods first next time, and at $49.99 a year it costs less than Cronometer Gold ($59.99), MacroFactor ($71.99) or SnapCalorie's annual plan ($149); MyFitnessPal lists some plans at or below that price. Each section below says where the others are stronger.
One app instead of two. SayLift holds both: your sessions and your meals sit on one day-by-day timeline, and its coach sets your next working weight from your own sets.
Voice first. Say your workout after training and it writes down every exercise, set, rep and weight. Say what you cooked, with the oil and your portion, and it works out the calories, protein, carbs and fat line by line.
Photo, barcode or typing too. Snap the plate and its AI estimates the meal, scan a barcode for anything packaged through Open Food Facts, or type a few words. Every line can be changed before you save.
What it does not do. Meal numbers are estimates, and a photo alone often reads low because oil, butter and sauces do not show. The daily guide sets targets for calories and protein only. There are no micronutrients and no body-weight chart. It is iPhone only, subscription only, and new, with no App Store ratings yet.
The price. $4.17 a month, billed $49.99 a year, after a 3-day free trial, or $7.99 a month or $3.99 a week. There is no free tier, and the subscription covers both the workout and the food side.
Who should pick something else. If you weigh ingredients and want gram-level accuracy, Cronometer's verified database is the better tool. If you want photo estimates with depth sensing, SnapCalorie. If you want a free app with over 20.5 million foods, MyFitnessPal. If you do not lift, the workout half of SayLift is wasted on you.
SayLift is our app, so weigh this ranking with that in mind. Everything above is what the shipping app does today.
#1 SayLift: best overall for lifters
SayLift takes the third route. You say or type what you ate, for example "chicken shawarma wrap with fries and garlic sauce," and it splits the meal into separate lines: the wrap, the fries, the sauce, each with a portion and a number. You can change any line before saving, so if you used less sauce or a bigger portion, you fix that one line. Calories are rounded to the nearest 10 and marked ≈, which is an honest way to show an estimate.
The useful part for home cooking is what happens next time. When you type, your own foods come up first, with the numbers you already checked. A meal you saved can be added again with no new estimate, so your usual Sunday stew gives the same numbers every week instead of a slightly different guess each time. You can also snap a photo, scan the barcode on anything packaged, say your whole day at once, or say "yesterday" to add a meal you forgot, up to 14 days back.
The honest limits. The numbers are estimates, not measurements and not medical advice. Say the oil and the portion, because a description without them comes out low, and a photo alone often comes out too low because oil, butter and sauces do not show. There are no micronutrients, no water log and no body-weight chart. Estimates need a connection and are capped at 10 an hour and 20 a day; entering a meal by hand, with your own numbers, is uncapped and works offline. There is no Apple Health sync. It is iPhone only, on iOS 17 or later, subscription only at $4.17 a month billed $49.99 a year, $7.99 a month or $3.99 a week after a 3-day trial, and new, with no App Store ratings yet.
That is why it is our #1 for lifters: describing a dish takes less work than weighing every ingredient, and the food sits next to a full lifting tracker with a coach. If you need gram-level accuracy, Cronometer's weighed approach is better.
#2 Cronometer: the accurate way, if you weigh
If you want to know exactly what is in your lasagne and you are willing to weigh it, Cronometer is the tool. Its database of more than 1.1 million verified foods means each weighed ingredient you enter is reliable, and it tracks vitamins and minerals as well as the main numbers. Gold adds a recipe importer, repeat items, and photo and voice entry, at $10.99 a month or $59.99 a year. The barcode scanner is free.
The cost is effort. You need a kitchen scale and a few minutes per new dish. For a dish you cook every week, that is worth it once. For a different dinner every night, most people give up.
#3 SnapCalorie, #4 MyFitnessPal and #5 MacroFactor
SnapCalorie says it works with home-cooked meals and lets you dictate while you cook, such as "two eggs, tablespoon of butter, cup of oatmeal," or call out weights from a kitchen scale. On iPhone Pro models it measures food volume with the depth sensor, and you can add a note like "pan-fried in olive oil" to cover the hidden fat. It is the most expensive app here, with Premium listed from $9.99 to $149, including $19.99 a month and $149 a year.
MyFitnessPal has the largest database, more than 20.5 million foods, and lets you save your own meals and recipes for quick reuse. The trouble with homemade food is choosing which of the many user entries matches your version. Barcode, photo and voice entry are Premium, at $19.99 a month or $79.99 a year.
MacroFactor has custom foods and recipes and a verified database, inside an app built around adjusting your targets each week. It has no free tier: $11.99 a month, $47.99 for six months or $71.99 a year after a 7-day trial.
How to describe a homemade meal so the estimate is closer
- Name the cooking fat and roughly how much: "a tablespoon of olive oil," "a knob of butter." This is the part every estimate misses most.
- Give your portion, not the pot: "one bowl," "two ladles," "a quarter of the tray."
- List the main parts separately: the meat, the starch, the sauce. Separate lines are easier to check than one big guess.
- Mention anything rich that went in late: cheese on top, cream stirred in, a dressing.
- Check each line before saving and fix the one that looks wrong, rather than redoing the meal.
- Save the dishes you cook often, so next time they come back with the numbers you already checked.
How to pick
- You cook something different most nights and will not weigh it: SayLift, if you accept $4.17 a month (billed $49.99 a year) after the 3-day trial and the lack of ratings.
- You cook the same dishes often and own a kitchen scale: Cronometer, for weighed ingredients.
- You want to photograph the plate and you have an iPhone Pro: SnapCalorie.
- You want a free app and you are happy to search for a close match: MyFitnessPal.
- You also want your targets adjusted each week: MacroFactor.
- You want to know how the estimate methods compare in general: see apps that estimate a meal from a photo or a sentence.
- You mainly want a record of what you ate each day: see food diary apps compared on speed.
- You are on Android: most apps here have Android versions. SayLift is iPhone only.
Frequently asked questions
How do I count calories in homemade food?
There are three ways. Weigh every ingredient and enter each one in an app with a precise database, such as Cronometer, or save it as a recipe in MyFitnessPal or MacroFactor, which is the most accurate. Search for the closest match in a database, which is quick but often off. Or describe the meal, including the oil and your portion, and let an app like SayLift estimate each part, which is quicker than weighing and usually closer than a random match.
Is describing a meal accurate enough?
For most everyday goals, yes, if you name the cooking fat and the portion. It is an estimate, not a measurement, so if you need precision to the gram for a medical or competition reason, weigh the ingredients instead.
Will the app remember my usual dishes?
Most can. MyFitnessPal and MacroFactor let you save your own recipes. In SayLift your own foods come up first when you type, and a saved meal is added again with no new estimate, so the same dish gives the same numbers every time.
Can I add a meal from yesterday?
Yes. In SayLift you can say "yesterday I had…" and it lands on yesterday, up to 14 days back. In the other apps, open the past date and add it there.
Why do photo estimates of home cooking come out low?
Because a camera cannot see the oil in the pan, the butter in the rice or the sauce mixed into a stew, and those are some of the most calorie-dense parts of a meal. Adding a few words about how it was cooked fixes most of the gap.
Describe the dish. Check each line.
Say what you cooked and how much you ate. SayLift splits it into lines with calories, protein, carbs and fat, and remembers the foods you checked for next time. iPhone only, 3 days free then $4.17 a month, billed $49.99 a year.
Download on the App StoreReading this on a laptop? Scan to install.