← Iron Tracker blog

What blocks iron absorption — and how much each one costs you

What blocks iron absorption comes down to four things: calcium, phytates in grains and legumes, polyphenols like tea tannins, and — far less than folklore claims — oxalates. All of them act inside the meal. Move them a couple of hours from your iron sources and most of the problem goes away.

Only one kind of iron is really vulnerable

Food iron arrives in two forms. Heme iron, from meat, poultry and fish, has its own absorption pathway and is taken up at roughly 15–35%, largely shielded from what else is on the plate. Non-heme iron — from plants, fortified grains, eggs and supplements — lands anywhere from about 2% to 20%, and that spread is set by meal composition and by how much iron you already have stored. Everything below is about non-heme iron, with one exception. The two pathways are laid out in heme iron versus non-heme iron.

The same gap explains a footnote on the published guidelines: the NIH's RDAs — 8 mg a day for men 19 and older, 18 mg for women aged 19–50, 27 mg in pregnancy — note that people eating no meat may need roughly 1.8 times those figures. They're population-level guidelines, not personal targets. How much iron per day goes through the numbers.

What blocks iron absorption, ranked by what it costs you

Inhibitor Main sources Iron affected Single-meal effect
Phytates (phytic acid) Bran, whole grains, legumes, nuts, seeds Non-heme Large and dose-dependent — can halve absorption
Polyphenols and tannins Tea, coffee, cocoa, red wine, herbal infusions Non-heme Large for strong tea, moderate for coffee
Calcium Milk, yogurt, cheese, supplements Heme and non-heme Moderate, plateaus around 300–600 mg
Soy protein, egg yolk Soybeans, tofu, whole eggs Non-heme Moderate, separate from phytate
Oxalates Spinach, chard, beet greens, rhubarb Non-heme Small — the weakest of the group

Phytates and tea tannins are the heavyweights, calcium is real but self-limiting, and oxalate is mostly reputation. None of it touches iron you've already absorbed.

Calcium and iron absorption

Calcium is the odd one out. It's the only dietary component known to interfere with heme and non-heme iron alike, which points to it acting at the intestinal cell rather than binding iron in the gut. The effect appears at modest doses and flattens out somewhere around 300–600 mg in a single meal — roughly a large glass of milk, a pot of yogurt, or one calcium tablet. Doubling the dose past that doesn't double the block.

The honest caveat is that single-meal measurements and longer trials disagree. Feed calcium with a test meal and absorption drops; supplement calcium for months and iron status in healthy adults generally holds, because absorption adapts. Calcium matters most in narrow cases — one meal carrying most of the day's iron, or a calcium tablet swallowed alongside an iron one.

Phytates and iron

Phytic acid is how seeds store phosphorus, so it sits exactly where plant iron sits: bran, whole grains, legumes, nuts and seeds. It binds iron in the gut into a complex the intestine can't take up. The dose-response is steep at the low end — small amounts already cost measurable absorption, and a genuinely high-phytate meal such as bran cereal or unsoaked beans can cut non-heme uptake by more than half.

This is also the real story behind "fiber blocks iron". Purified fiber does very little on its own. The phytate riding along with it does the work.

Tannins and iron absorption

Tea is the strongest inhibitor most people put on the table. Its tannins bind non-heme iron in the gut, and a strong cup taken with a meal can more than halve what you absorb from it. Coffee does the same thing through chlorogenic acid at a smaller scale. Cocoa, red wine, herbal infusions like peppermint, and the colored seed coats of beans all carry inhibiting polyphenols too.

Brew strength and timing set the size of the hit: a quick weak cup inhibits far less than a long steep, and tea drunk an hour after eating costs much less than the same cup drunk with the food.

Oxalates: weaker than the reputation

Spinach is the classic cautionary tale, and the usual explanation — oxalate locks up the iron — has held up poorly. Controlled work has not found oxalate to be the main reason spinach iron is absorbed badly; its polyphenol content and the form the iron is stored in look more important. That doesn't promote spinach to a good iron source. It means the neat answer isn't the demonstrated one. Chard, beet greens and rhubarb sit in the same bracket.

Other foods that block iron absorption

Soy protein inhibits non-heme absorption independently of its phytate load. Egg yolk contains phosvitin, a phosphoprotein that binds iron, which is why eggs perform worse as an iron source than their milligram count suggests. High-dose zinc and calcium supplements can compete with iron for shared transport.

Two enhancers push the other way, and they're stronger levers than avoidance. Vitamin C in the same meal overrides a good share of the phytate and polyphenol effect — see vitamin C and iron absorption for how much it takes. And meat, poultry or fish raise absorption of the non-heme iron eaten alongside them, an effect known as the meat factor.

Inhibitors act inside the meal, so separate the meals

Every inhibitor here works on iron that's present at the same time. A cup of tea at 4 p.m. does nothing to the lentils you ate at noon. That makes it fixable without giving anything up: keep the blockers and the iron in different meals. Two hours is a reasonable buffer, though no exact threshold applies to everyone.

In practice that means coffee and tea between meals rather than with them, dairy at breakfast when dinner is the iron-heavy meal, and any calcium supplement taken at a different sitting from an iron one. The hard part is spotting which meals were the problem, since blockers only matter in combination and nobody recalls a week of them accurately. Writing down what was eaten together turns a general rule into something specific to your week; Iron Tracker is an iron intake tracking app for iPhone.

Iron Tracker: Ferritin Counter screenshot

Get Iron Tracker

Kitchen fixes that cut the blockers before they reach the plate

Soaking legumes and grains overnight and discarding the water activates the seed's own phytase and leaches phytate out. Sprouting does more of the same. Fermentation is the strongest of the three — sourdough leavening degrades much of the phytate in whole-grain bread, and fermented soy foods like tempeh and miso carry less than plain soybeans. Milling the bran off helps a lot but takes other nutrients with it.

Then pair. Tomato and pepper sauce over lentils, citrus in a bean salad, orange juice with fortified cereal — vitamin C at the same sitting is the cheapest way to buy absorption back, and it works even when the phytate is still there.

FAQ

Does calcium block iron absorption?

Yes, and it's the only common dietary inhibitor that also affects heme iron. The effect is measurable in a single meal and plateaus at roughly 300–600 mg. Over months it appears to matter much less, since absorption adjusts, so it's mainly worth timing around when one meal or one supplement carries most of your iron.

How long should I wait between tea or coffee and an iron-rich meal?

An hour is usually enough for the effect to shrink a lot, and two hours is the conservative version. Order matters too: a cup with the meal costs far more than the same cup after it.

Is spinach actually a bad source of iron?

It's a poor source relative to its milligram count, but oxalate probably isn't the reason. Polyphenols and the form the iron takes explain more of it. Cooked spinach with a squeeze of lemon is a better bet than raw spinach with tea.

Which iron absorption inhibitors matter most day to day?

Tea or coffee taken with meals, and phytate in unsoaked legumes and bran-heavy grains. Those two cover most of the loss for most people. Calcium ranks third, and oxalate barely registers beside them.

Get Iron Tracker