Turn a Food Photo Into a Nutrition Label
Take a photo of any meal with ChatGPT's free tier and get an approximate nutrition breakdown — no credit card, no subscription, free forever with no payment method on file. The exact number of free messages you can send per day isn't published by OpenAI, so you won't know precisely when you'll be throttled until it happens.
What this replaces
MyFitnessPal Premium charges $19.99/month for AI-powered food photo logging — you photograph a meal and it estimates calories and macros. Lose It Premium charges $39.99/year for a similar feature. Both require a credit card upfront and convert to paid immediately after a short trial. ChatGPT's free tier handles the same core task — estimating macros, calories, and micronutrients from a photo — at $0 with no card and no trial countdown.
Will you hit the free limit?
OpenAI does not publish exact free-tier message limits for ChatGPT. The specific number of messages (including photo uploads) you can send before being throttled is not disclosed on their pricing page or help center. Because no specific number exists, this checker can't calculate whether your expected usage stays under the limit.
Quota source: openai.com/chatgpt/ (verified 2025-03-17) — no specific free-tier limit published.
Open ChatGPT
Go to chatgpt.com in any browser. Create an account with an email address — the free tier never asks for a credit card. Start a new conversation.
Photograph your meal well
Shoot from directly above with even lighting — a well-lit kitchen table works better than a dim restaurant. Get the whole plate in frame. If you have the option, photograph components separately (the chicken, the rice, the salad each on their own) instead of the assembled plate. Separate photos produce noticeably better estimates because the model doesn't have to guess what's underneath what.
Upload the photo and send the analysis prompt
Tap the attachment icon near the text input, select your photo, then paste this prompt and send:
Analyze this food photo. For each identifiable item, estimate: portion size, calories, protein (g), carbs (g), fat (g), fiber (g), and sodium (mg). Then give a total for the entire plate. State your confidence level (high/medium/low) for each item's estimate.
Correct and refine
Read the breakdown. The model will often misjudge portion sizes — it can't see depth or weight. If the rice estimate says "0.5 cups" but you know you served yourself 1.5 cups, tell it:
The rice is actually about 1.5 cups, please recalculate.
Do this for any item that looks off, then copy the final table into your notes app or a spreadsheet.
Ask follow-up questions without another photo
In the same conversation, ask contextual questions that don't need a new image. For example:
If my daily protein target is 130g, how much more do I need after this meal?
This uses the context of the photo you already uploaded and doesn't cost additional quota beyond a normal text message.
What breaks
- Unpublished message limits: OpenAI doesn't disclose how many messages free-tier users can send before throttling kicks in. In practice, uploading a few photos per session usually works, but during peak hours you may hit the limit faster. When throttled, a message appears telling you to wait — there's no countdown timer and no way to check your remaining allowance.
- Estimates, not measurements: GPT-4o mini is making educated guesses from a 2D photo. It consistently misses hidden calories from cooking oil, sauces, and dressings. It can't see portion depth — a thick burger and a thin one look similar from above. For anything that matters clinically (sodium for blood pressure, carbs for diabetes management), verify the numbers against a nutrition label or the USDA FoodData Central database.
- No built-in food log: ChatGPT doesn't accumulate your meals into a daily or weekly total. Each conversation is isolated. You need to copy results into your own notes or spreadsheet to track trends.
- Photo quality directly affects accuracy: Dark, blurry, or heavily shadowed photos produce significantly worse estimates. Overhead shots with uniform lighting are the single biggest accuracy factor you control.
- This is not medical advice. It's a self-tracking aid. It can't diagnose deficiencies, recommend dietary changes, or replace professional nutrition guidance.
Three things this guide teaches
Occlusion is the single largest source of estimation error. When sauce covers rice, or bread sits under a protein, the model can't see what's underneath and either guesses wrong or omits it entirely. Photographing each component on its own — even roughly — gives the model a clear view of each item's size and shape, and the total is more accurate than one photo of the assembled plate.
The USDA FoodData Central database at fdc.nal.usda.gov is free, requires no account, and contains lab-tested nutrition numbers for thousands of foods. For any nutrient where accuracy matters to you clinically — sodium for blood pressure, carbs for diabetes, iron for anemia — look up the specific food there instead of trusting the photo estimate. Use ChatGPT for the quick overview and FoodData Central for the numbers you'll act on.
MyFitnessPal Premium and similar paid apps combine AI photo recognition with a large database of verified food entries — when the AI identifies "brown rice," it pulls the actual USDA data for brown rice. ChatGPT doesn't have that database lookup step; it generates the nutrition numbers directly from what it's learned about food composition. This means ChatGPT handles unusual or homemade dishes that aren't in any database, but it's less precise for common packaged foods where a database lookup would be more accurate.
Try it now
Photograph whatever you're eating at your next meal, open chatgpt.com, upload the photo, and paste the prompt from step 3. Don't worry about whether the numbers are perfect — the point is to see what the output looks like and decide whether this workflow fits your routine.