Raw spinach. It delivers 11.8mg of iron per 100 calories — more than any other food in our database of 182 with usable USDA iron and calorie values. Raw asparagus is second at 10.7mg, raw oysters third at 9.8mg. Every figure here is computed from USDA FoodData Central rows — spinach is FDC 168462, asparagus FDC 168389, oysters FDC 175172 — so you can check any of them at source.
And then there is the catch, which most per-calorie rankings never mention: 100 calories of raw spinach is 435 grams of raw spinach. Raw spinach is 23 calories per 100g (USDA FDC 168462), so 100 calories is 435g of it. We give that in grams because grams are what the USDA row actually contains — bagged and bunched weights are not in this dataset, and we are not going to invent one to make the number feel smaller. The ranking is arithmetically correct and, taken alone, close to useless, which is why the table below carries a fifth column nobody else publishes.
The 12 highest-iron foods per 100 calories
Ranked across all 182 foods in our database with usable USDA iron and calorie values. Read the fourth column as "milligrams of iron you get for every 100 calories you spend", and the fifth as "how much food that actually is".
| Food | Iron /100g | Calories /100g | Iron /100 kcal | Grams per 100 kcal |
|---|---|---|---|---|
| Spinach, raw | 2.71mg | 23 | 11.8mg | 435g |
| Asparagus, raw | 2.14mg | 20 | 10.7mg | 500g |
| Oysters, raw | 5.78mg | 59 | 9.8mg | 169g |
| Swiss chard, raw | 1.8mg | 19 | 9.5mg | 526g |
| Clams, breaded and fried | 13.9mg | 202 | 6.9mg | 50g |
| Cocoa powder, unsweetened | 13.9mg | 228 | 6.1mg | 44g |
| Arugula, raw | 1.46mg | 25 | 5.8mg | 400g |
| Romaine lettuce, raw | 0.97mg | 17 | 5.7mg | 588g |
| Wakame seaweed, raw | 2.18mg | 45 | 4.8mg | 222g |
| Jerusalem artichoke, raw | 3.4mg | 73 | 4.7mg | 137g |
| Kale, raw | 1.6mg | 35 | 4.6mg | 286g |
| Mussels, cooked | 6.72mg | 172 | 3.9mg | 58g |
The per-100g ranking is almost the inverse of this one
If you have read a "foods high in iron" article before, it almost certainly ranked per 100g, and that list barely overlaps with this one. Roasted sesame seeds are the highest-iron food per 100g in our data at 14.8mg (FDC 170151). Per calorie they fall to 2.6mg and rank 17th, because 100g of sesame seeds carries 565 calories. Raw cashews are 9th per 100g and 69th per calorie. Dark chocolate is 4th per 100g and 28th per calorie.
Oysters run the other way — 10th per 100g, 3rd per calorie. Nothing about the food changed; the question did. Per 100g asks "how concentrated is this?". Per 100 calories asks "what does this cost me?". Neither is the true ranking. If you are eating to a calorie budget, the per-calorie column is the one that answers your question; if you are limited by how much food you can physically get through, the per-100g column is.
Why the fifth column is the one to read
Four of the top eleven foods here are leaves, and leaves are mostly water. Getting 100 calories from them means eating a quantity nobody eats: 500g of asparagus, 526g of swiss chard, 588g of romaine lettuce. The iron-per-calorie figure is real, but it is describing a portion that does not exist in anyone's day.
Compare that with oysters at 169g, mussels at 58g, cocoa powder at 44g, or beef liver — which lands 13th per calorie at 3.6mg, in 74g. Those are portions people actually eat. Oysters are the standout row in this table: 9.8mg of iron per 100 calories, within 17% of spinach, in under half the food by weight and a portion you would recognise as a meal.
What this table cannot tell you: absorption
Iron comes in two forms, and this dataset does not distinguish them. Heme iron, in oysters, mussels and liver, is absorbed considerably more efficiently than the non-heme iron in spinach, chard and lentils, and non-heme absorption is further reduced by compounds in the plants themselves — spinach is high in oxalates, which bind iron.
We are not giving you an absorption-adjusted ranking, because we cannot compute one from these rows. USDA FoodData Central reports total iron, not absorbed iron, and any article that hands you a tidy adjusted number is applying a study average to a food it was never measured on. The honest version: the plant rows at the top of this table overstate their real contribution relative to the shellfish and liver rows, and by how much depends on the rest of your meal. Vitamin C eaten alongside non-heme iron increases its absorption, which is the one lever worth knowing.
One row we removed, and one we kept with a warning
Tamari soy sauce computes to 4.0mg of iron per 100 calories and would have ranked 12th. We took it out. The arithmetic is right and the ranking is meaningless — nobody consumes 100 calories of soy sauce, which would be 167g of it. Tablespoon weights are not in this dataset and we are not going to invent one; the row is 2.38mg of iron per 100g, so scale it by whatever you actually pour. We are telling you rather than deleting it quietly, so that if you run the same query you know why your list and ours differ.
The clam row we kept, with the label it deserves. It is "cooked, breaded and fried" (FDC 171974) — the only clam entry in our data — and the breading adds calories that iron did not come with. That works against clams here, not for them: plain steamed clams would rank higher per calorie than this row does. Read it as a floor, not a measurement of clams generally.
The ranking covers 182 of the 189 foods in our database. Seven were held out: six whose stored macro values are under review and one, garlic, with no iron figure at all. All six carry between 0.35mg and 2.17mg of iron per 100g, well short of this table, so none of them would have placed — but a ranking is only as honest as the rows it drops, so the count is stated rather than buried.
The pattern worth remembering
The foods that top an iron-per-calorie table do it in two completely different ways. Leaves get there by having almost no calories, and pay for it in volume. Shellfish, liver and cocoa get there by genuinely being dense in iron. Only the second group is useful advice. A ranking that cannot tell those two mechanisms apart is a ranking that will send you home with six bags of spinach.
Which is the awkward part of eating for a specific nutrient: the good choice depends on the portion, and portions are exactly what nobody tracks accurately by eye. Sunn does that arithmetic from a photo or a sentence — you send "oysters and a salad" and the running total updates itself, so the choice in the table above turns into a number you can actually see.
More reading: browse everything in foods high in iron, the same computation run on protein per calorie, or compare kale against spinach and clams against oysters directly.
Written by Espen Opdahl
Founder of Sunn. Building AI-powered nutrition coaching to make healthy eating simple. Nutrition data sourced from the USDA FoodData Central database.
Medical disclaimer: This content is for informational purposes only and is not a substitute for professional medical advice, diagnosis, or treatment. Always consult a qualified healthcare provider before making changes to your diet or exercise routine.