Barcode calorie scanner for packaged food
How a barcode calorie scanner looks up packaged food, why serving sizes cause most logging errors, and what to do when a product isn’t found.

How does a barcode calorie scanner work?
A barcode calorie scanner reads the number under a product’s barcode and looks it up in a food database. If the product is listed, the app returns the nutrition from its label: calories, protein, carbs, fat, and often fiber, sugar and salt. The barcode itself holds no nutrition data. Accuracy depends on the database entry and on logging the amount you actually ate.
How it works in FORM
- Scan the codeOpen scan and hold the barcode inside the frame. Flat, well-lit codes read fastest.
- Check the matchFORM matches the code against Open Food Facts and USDA data and shows the product it found. Make sure the name and pack size match what’s in your hand.
- Set the amount you ateChange the serving to what you actually had: half a bar, two scoops, 150 g of yogurt. This is where most barcode logs go wrong.
- Save it to todayThe item joins today’s meals with its macros and a Food Score. Add anything you mixed in as a separate item.
What the barcode actually tells the app
The stripes on a pack encode a product number: usually a 13-digit EAN in Europe and much of the world, or a 12-digit UPC in North America. That number identifies the product, not what’s in it. The scanner’s job is a lookup. It finds the number in a database and returns the label data stored against it. When the entry is complete and current, a barcode is the most reliable way to log packaged food, because the numbers come from the label instead of a visual guess.
Where FORM finds the data
FORM matches the code against two sources. Open Food Facts is an open, crowd-sourced database. Volunteers and producers add products from around the world, which makes it strong on European and regional brands, but entries can be incomplete or out of date. USDA FoodData Central includes branded foods sold in the United States, built from label data shared by the food industry. Between the two, most supermarket products are covered. Not all of them.
The serving-size problem
Many barcode errors aren’t database errors. They’re serving errors. A label gives values for a reference amount, and you ate something else. Labels also differ by region. In the EU and the UK, values are always given per 100 g or 100 ml, and only sometimes per portion. In the US, they’re given per serving, with the number of servings in the pack. A few patterns cause most of the trouble.
| Mistake | What happens | Fix |
|---|---|---|
| Logging the 100 g column as one serving | A 40 g bar logged as 100 g comes out two and a half times too high | Enter the grams you ate |
| One serving when you ate the whole pack | A two-serving bag counts as half of what you ate | Set the servings, or the full pack weight |
| Dry weight against a cooked portion | Pasta and rice soak up water as they cook, often doubling in weight or more | Weigh dry, or use a cooked entry |
| Forgetting what you added | Milk on cereal, butter on toast and oil in the pan stay off the log | Add them as separate items |
When a product isn’t in the database
Store brands, small producers, imported goods and new products are the usual gaps. Reformulated products can carry old numbers for a while. When FORM can’t match a code, there are two quick routes. Describe the product in text, with the brand and the amount. Or, if it’s already on a plate, take a photo. Either way, you can open the ingredient list and search Open Food Facts or USDA data for a close match.
Whatever you log, read the allergen panel on the pack itself. FORM’s allergen flags are guidance, not a safety check.
Where barcodes work well, and where they don’t
- Packaged staples: yogurt, cereal, bread, protein bars, drinks. The label is the data, and repeats are fast.
- Single-ingredient packs: oats, rice, nuts, frozen vegetables. Accurate, as long as you log the weight you used.
- Loose and weighed food: fruit, deli counters and butcher labels often carry no public barcode. Photograph or type them.
- Home cooking from packs: one barcode can’t see the three other things in the pan. Log each pack, or photograph the finished plate.
Honest limits
A match is only as good as the entry behind it. If the numbers on the card don’t match the label in your hand, trust the label and edit the card. The same brand can use a different recipe in a different country. And no scanner can see what you add after you open the pack.
How it fits the rest of the day
A scanned product is a meal like any other in FORM. It counts toward your calorie and macro targets, gets a Food Score, and feeds the daily Health Score. Protein and fiber lift it. Sodium past 2,300 mg or sugar past 50 g in a day pulls it down, and packaged food is often where both hide, so a barcode log makes them visible. Meals are written back to Apple Health if you allow it.
The barcode guide walks through the scan screen. For a plate with no label, use the photo scanner. If you’re used to a search-first food diary, FORM vs MyFitnessPal compares the two approaches.
FAQ
Why does my scan show different numbers from the label?
The database entry may be out of date, from another country’s recipe, or set to a different serving. Trust the label in your hand and edit the card.
What if a barcode isn’t found?
Describe the product in text with the brand and amount, or photograph it on the plate. You can also search Open Food Facts or USDA data from the ingredient list.
Can I scan the barcode on fresh meat or deli food?
Often not. Labels printed in store for weighed items usually carry internal codes that public databases don’t know. Take a photo or type the food instead.
Does barcode scanning work outside the US?
Yes. Open Food Facts covers products from many countries, and USDA data covers branded foods sold in the US. Coverage of small regional brands varies.