Last week I wrote about the ceiling that trackers don’t draw, the fact that most nutrients have a range rather than a target. There’s a more fundamental problem sitting underneath that one, and it applies to every number on the screen, mine included.
The number is what went into your mouth. It is not what made it into your bloodstream.
Those two figures can differ by a factor of ten, and the difference isn’t random. It depends on the chemical form the nutrient was in, what else you ate in the same sitting, how the food was prepared, and things about you that no app can see.
Iron is the extreme case
Iron comes in two forms. Heme iron, from meat and fish, absorbs at roughly 15-35%. Non-heme iron, from plants and supplements and fortified grains, absorbs at roughly 2-20%, and where you land in that range is decided by the rest of the meal.
Vitamin C in the same meal can multiply non-heme absorption several times over. Squeezing lemon on lentils isn’t a folk remedy, it’s the single most reliable dietary lever in this whole subject.
Working the other direction: the tannins in tea and coffee can cut non-heme iron absorption sharply when consumed with the meal, phytates in whole grains and legumes bind it, and calcium competes with it. A high-iron breakfast cereal with milk, followed by tea, is a nearly perfect anti-absorption stack, and your tracker will happily show that bar filled to 100%.
The Institute of Medicine takes this seriously enough to say the iron requirement for vegetarians is about 1.8 times the standard RDA. Same body, same biology, different bioavailability, so the number itself moves.
Phytates, oxalates, and the spinach problem
Spinach is the famous example, and it’s famous for the wrong reason. The old “Popeye decimal error” story is itself mostly a myth, but the real issue is better than the myth: spinach genuinely is high in both iron and calcium, and you absorb strikingly little of either, because oxalates bind them in the gut before you can.
Calcium absorption from spinach runs around 5%. From kale, bok choy, or broccoli - low-oxalate greens - it’s closer to 50-60%. From milk, around 30%. A tracker showing “300 mg calcium” from spinach and “300 mg calcium” from kale is showing you the same number for wildly different outcomes.
Zinc has the same story with phytates. A diet built on unrefined grains and legumes can drop zinc absorption substantially, which is why the IOM notes that people eating that way may need up to 50% more zinc than the RDA implies. Soaking, sprouting, fermenting, and leavening all break phytates down - which is a large part of why traditional food preparation looks the way it does everywhere in the world. Sourdough is a bioavailability technology.
Fat-soluble means fat-dependent
Vitamins A, D, E, and K need dietary fat to be absorbed, as do carotenoids like beta-carotene and lycopene. A large salad with fat-free dressing delivers dramatically less of its carotenoid content than the same salad with olive oil. The vegetables are identical. The nutrition label is identical. The absorbed amount is not.
Cooking moves things in both directions, too. Heat and water leach vitamin C and some B vitamins out of vegetables. Heat also breaks down cell walls and makes carotenoids far more available, cooked tomatoes in oil deliver much more usable lycopene than raw ones. There is no single rule like “raw is better.” It’s nutrient by nutrient.
The ones where your own body is the variable
B12 is where this gets genuinely personal. Food-bound B12 has to be cleaved from protein by stomach acid, then bound to intrinsic factor to be absorbed at all. That pathway saturates at roughly 1.5-2 µg per dose. Eat a steak with 5 µg and you absorb a fraction of it regardless. It’s also the pathway that degrades with age, with long-term acid-suppressing medication, with metformin, and after certain kinds of gastric surgery.
That’s why high-dose B12 supplements aren’t as absurd as they look: past the saturated pathway there’s a slow passive-diffusion route that picks up roughly 1% of whatever’s left, so a 1,000 µg tablet delivers a useful ~10 µg by brute force. Your food log has no idea which of these is happening inside you.
Folate is the case where the science already conceded the point. Folate on labels is measured in “µg DFE”, dietary folate equivalents, precisely because food folate and synthetic folic acid absorb so differently that a raw microgram comparison was misleading. One unit of food folate counts as 0.6 units of folic acid from fortified food. The adjustment is baked into the unit itself.
So is the number useless?
No. And this is the part that matters. RDAs are not set against a hypothetical body absorbing 100% of everything. They’re derived from population studies of people eating ordinary mixed diets, with typical absorption rates already inside them. The RDA has a bioavailability assumption built in.
The catch is that it’s an average assumption, drawn from an average diet. The further your eating pattern sits from that average, the less the assumption fits you. A plant-based diet high in whole grains and legumes runs below the assumed absorption for iron and zinc. A meat-heavy diet runs above it. Neither is captured anywhere in a bar chart.
The practical takeaway isn’t to compute absorbed values, nobody can do that reliably, including labs. It’s more like this: treat a nutrient that’s chronically hovering right at 100% with more suspicion than one that’s consistently at 180%, if your diet skews toward the inhibitors. And use the free levers, because they’re real and they’re easy. Vitamin C with plant iron, fat with the fat-soluble vitamins and colorful vegetables, tea and coffee between meals instead of during them, low-oxalate greens when calcium is what you’re after.
What Nutrient Logger does and doesn’t do here
It shows intake. That’s it, and I want to be direct about it, because “absorbed nutrients” would be an easy feature to claim and an impossible one to actually deliver. Estimating it honestly would mean modeling every meal’s full composition, your stomach acid, your medications, your gut health, and your genetics. Any app showing you an absorbed number is running a guess with a confident font.
What the tracker can honestly do is show you the whole meal in one place, which is where all the interaction happens. The pairings are visible even when the math isn’t. The nutrient detail screens carry context on this too, which is why the lycopene entry mentions cooking tomatoes in oil rather than just reciting a number.
And it’s a real argument for watching trends over days rather than fixating on a single day’s percentage. A weekly average across many different meals smooths out a lot of the meal-level absorption noise that a one-day snapshot presents as precision.
The bars are a map, not the territory. They’re still worth reading, you just want to know what the map leaves out.
Nutrient Logger tracks 80+ nutrients completely offline - no account, no cloud, no ads.