How to log restaurant meals without guessing

Barcodes and a kitchen scale cover almost everything you eat at home. Restaurants break both — and that's where most tracking streaks die. Here's how to log a restaurant meal accurately in MyFitnessPal or any tracker.

Free to download · Works at any restaurant

Why restaurant meals are the hardest thing to log

Logging food at home is close to solved. Scan the barcode, weigh the portion, done — the numbers come off a label that's legally required to be accurate. Restaurants remove every one of those inputs at once. There's no barcode, no scale, no packaging, and for most independent restaurants no published nutrition data at all. Under U.S. federal menu-labeling rules, calorie counts are generally only required at chains with 20 or more locations (some state and local rules go further), and even those chains rarely publish protein, carbs, and fat.

So you open your tracker, search the dish, and hit one of three walls:

  • Nothing exists. The independent place down the street has never been entered. You get zero results, or results for a completely different restaurant with the same generic dish name.
  • Several entries exist, and they disagree. Search a common chain dish and you'll often find multiple user-submitted entries with meaningfully different numbers. Without a verified one to anchor on, you pick the closest-looking match and gradually trust your own log a little less.
  • The entry is close but not your meal. It might be the lunch portion, or the version without the sauce, or one added from an older menu.

The underlying reason is that food databases lean heavily on user submissions. Chains often have verified entries; the independent restaurant you're actually sitting in usually doesn't.

The workaround most people land on (and why it fails)

Faced with that, most trackers do one of two things. They pick the closest-looking database entry and accept an unknown error bar — which is fine occasionally and corrosive as a habit, because the log slowly stops reflecting reality. Or they skip logging on days they eat out entirely.

That second one is the expensive mistake. The days you eat out are usually the highest-calorie days of the week — exactly the ones worth capturing. Skipping them doesn't make the calories disappear; it just removes them from the data you're using to make decisions, so a week that looks on plan in the app was actually 3,000 calories over.

A better sequence: estimate first, log second

The fix is to separate the two problems. Logging is the easy half — most trackers, MyFitnessPal included, offer a quick-add option that takes raw calories and macros without needing a database entry at all. Estimating is the hard part. So do the estimate properly, then log the number you trust.

  1. Estimate from the menu, before you order. The dish description tells you the protein source, the preparation, and rough portion — enough to get directionally right.
  2. Use the estimate to pick the dish. This is the step that actually changes outcomes. Comparing estimates across the menu while you can still change your order is worth more than any amount of logging precision afterward.
  3. Quick Add the number. Enter calories and macros directly instead of hunting for a database match. If it's a place you'll go back to, save it as a custom food once and reuse it.

How to estimate a dish from its description

You have more signal than a blank search box suggests:

  • Protein — anchor on the main protein. A 6oz grilled chicken breast, salmon fillet, or lean steak lands around 35–45g. Sandwich and pasta fillings usually come in lower than they look.
  • Carbs — the base drives it: rice, pasta, bread, tortillas, and breaded coatings are the big sources. Grilled proteins with vegetable sides stay low.
  • Fat and hidden calories — read the preparation words. Fried, crispy, creamy, buttered, and cheese-heavy add calories without adding protein. Sauces, dressings, and cooking oil are the invisible multiplier.

The catch is doing this across a 40-item menu, in your head, while a server waits. That's the gap MenuScout fills.

What MenuScout does — and what it doesn't

Point MenuScout at the menu (or share a screenshot from a delivery app) and it reads every dish and returns estimated calories, protein, carbs, and fat for each one, ranked against your goals. Instead of searching a database for one dish you already chose, you see the whole menu scored before you order.

To be clear about the boundary: MenuScout does not sync with MyFitnessPal. There's no integration and no automatic import. It solves the estimation problem — you still type the number into your tracker with Quick Add. That's a few seconds of data entry in exchange for an estimate that came from the actual dish description rather than a stranger's five-year-old entry.

Estimates are directional — typically in the ±15–20% range, not lab-grade. But a user-submitted database entry is an approximation too, and it doesn't show its work. Directional numbers are still accurate enough to separate a 45g-protein bowl from a 12g-protein pasta, which is the decision that actually keeps the week on plan.

Practical rules for logging meals out

  • Never skip the log because it's imprecise. A ±20% entry beats a missing one by a mile. Missing entries make the whole week's data useless.
  • Log the estimate before the meal arrives. You'll be honest about it then, and less likely to forget or round down afterward.
  • Save repeat orders as custom foods. Most people rotate through a handful of restaurants. Estimate once, reuse forever.
  • Round up on sauces and dressings. They're the single most under-logged item in restaurant meals. When in doubt, add 100–150 calories.
  • Bank room ahead of time. If you know you're eating out, keep earlier meals lighter instead of trying to compensate the next day.

MyFitnessPal is a trademark of its respective owner. MenuScout is not affiliated with, endorsed by, or integrated with MyFitnessPal; it is referenced here only to describe how to use it alongside MenuScout.

Related reading: counting macros at restaurants, how to scan a menu for calories, and eating out on a calorie deficit.

Common questions

How do I log a restaurant meal that isn't in the MyFitnessPal database?
Estimate the macros from the menu description, then enter them with Quick Add (calories and macros, no database entry needed) or save it as a custom food so it's there next time. The hard part is the estimate, not the logging — MenuScout does that part by reading the menu and returning estimated calories, protein, carbs, and fat per dish.
Why do restaurant entries in food trackers vary so much?
Many entries in the large tracking apps are user-submitted, so the same dish can appear several times with different numbers. Large chains often have verified entries you can rely on; independent restaurants frequently have none at all, or only an entry someone added from an older menu.
Does MenuScout connect to MyFitnessPal?
No — there's no automatic sync. MenuScout gives you the estimated calories and macros for each dish on the menu; you enter that number in MyFitnessPal (or whatever you track in) as a Quick Add. It solves the estimation problem, not the data-entry one.
How do I log a DoorDash or Uber Eats order?
Same approach, and it's easier because the menu is already on your screen. Screenshot the delivery listing and share it to MenuScout — it reads the whole listing at once and returns estimated calories and macros per item, so you can compare options before checkout instead of after the food arrives. Then quick-add the number for whatever you ordered.
How accurate is a menu-based estimate compared to a database entry?
A user-submitted entry is also an estimate — just someone else's, with no visible reasoning behind it. A menu-based estimate reads the actual dish description (protein, preparation, portion cues) and typically lands within roughly ±15–20%. Either way it's an approximation, and any reasonable approximation beats skipping the log entirely.

Stop guessing. Start eating smarter.

Free to download. Works at any restaurant. Takes 10 seconds.