What a photo can — and can't — tell you about heavy metals in food
AIM can flag that a category of food has a documented contamination history. It will never print a number for lead in your protein powder, because a photograph cannot know that.
A request we get, in one form or another, a lot: tell me if what I just scanned has heavy metals in it.
We can do part of that honestly, and we will not do the other part at all. This article is about where the line is and why we drew it there.
What is actually knowable from a photograph
Contamination is a measurement. Lead in a protein powder is parts per billion, established by mass spectrometry, and it varies between production lots of the same product from the same factory. Two tubs on the same shelf can differ.
An image and a description contain none of that. A model looking at a photo of a shake can identify a shake. It cannot see the lot number, and even if it could, it does not have the assay.
So any app that shows you a number for lead in your lunch invented that number. There is no dataset it could have come from. It will look precise, it will be wrong in an unknowable direction, and it will be indistinguishable from a real measurement — which is the part that makes it worse than saying nothing.
A plausible wrong answer is indistinguishable from a real one. That rule is written into how the app treats every estimate, and contamination is where it bites hardest.
What is knowable
Categories have histories, and those histories are public.
- Cocoa and dark chocolate — repeated consumer testing has found cadmium and lead above California's Proposition 65 thresholds in a meaningful share of products tested.
- Rice and rice-based products — rice takes up inorganic arsenic from soil and water more readily than other grains; the FDA has published action levels for infant rice cereal because of it.
- Protein powders — third-party testing programs have repeatedly found detectable lead and cadmium, with plant-based and chocolate-flavored products testing higher on average.
- Large predatory fish — swordfish, shark, king mackerel and bigeye tuna accumulate methylmercury; the FDA and EPA publish a joint advice list.
- Some imported spices and traditional remedies — lead adulteration has been documented by multiple state health departments.
None of that tells you about your tub. All of it tells you that the category is one where the question is reasonable, and where buying a brand that publishes third-party test results is a sensible response.
How AIM handles it
Flags in AIM are a separate thing from nutrients, deliberately. A nutrient has a unit, a daily total and a goal line. A flag has none of those. It carries two fields:
- What was found — "dark chocolate", "whey protein isolate", "aspartame".
- Why it is being mentioned — one sentence, in plain language, with the reason.
There is no number, because a number would imply a measurement. There is no score, because a score is a number wearing a costume.
Flags come at two volumes. A note is worth knowing and not worth worrying about. A caution is either something with a documented reason for care, or — more often — something you told the app you avoid.
Your own watch list
The more useful half of this feature is not our list, it is yours.
Add the terms you care about: an additive you avoid, a sweetener you react to, an oil you would rather not eat, an allergen you are managing for someone else. When one turns up in a meal, the flag says so and marks it as yours rather than as general advice.
That distinction matters. "You asked to be told about aspartame, and this has aspartame" is a different statement from "aspartame is dangerous" — and only the first one is something an app is in a position to say.
What we will not add
For the sake of being explicit, because these get requested:
- A contamination score per meal. It would be fabricated.
- A "toxin load" total for the day. Same problem, larger.
- A safe/unsafe verdict on a specific branded product. We do not have the assay, and the batch that was tested is not the batch you bought.
What we will do is tell you what is in front of you, why the category comes up, and let you decide. That is the whole of what the information supports.
Common questions
- Can an app detect heavy metals in food from a photo?
- No. Heavy metal content is measured in a laboratory and varies between batches of the same product. What software can do is recognize that a food category has a documented contamination history — protein powders, dark chocolate, rice, large predatory fish — and say so, with the reason attached.
- Which foods are commonly tested for heavy metals?
- Consumer testing has repeatedly found cadmium and lead in cocoa and dark chocolate, inorganic arsenic in rice and rice-based products, lead in some protein powders and spices, and methylmercury in swordfish, king mackerel, shark and bigeye tuna.
- Can I get alerts for ingredients I want to avoid?
- Yes. You can add your own watch terms — an additive, a sweetener, a category — and AIM flags a meal when one appears, marking it as your own term rather than a general advisory.
Keep reading
Does the water in your food count toward hydration?
Roughly 20–30% of most people's daily water intake arrives as food rather than drink. Almost no food tracker counts it, which is why hydration numbers in those apps run low.
How to track a nutrient your app doesn't have a field for
Folate, iodine, choline, omega-3, magnesium — the nutrients people are told to watch are rarely the nutrients trackers expose. AIM lets you add the one you care about and set a goal on it.