Nutrition6 min readBy Espen Opdahl

No Vegetable Wins on Fiber per Calorie. The Category Does

Collards 12.50g, romaine 12.35g, eggplant 12.00g of fiber per 100 calories — too close to separate. The food-group gap is 4.4x and it is real.

Sunn

online

Messages are end-to-end encrypted
Which vegetable has the most fiber per calorie?08:14
It's a three-way tie. Raw collards 12.50g, romaine 12.35g and eggplant 12.00g per 100 calories — the rounding in the USDA rows covers the gap. The group gap is real though: vegetables 6.67g vs grains 1.52g. Want me to track your fiber this week?08:14
Message

This is what Sunn would say

Sunn is your nutrition coach on WhatsApp. Ask it anything about food, log what you eat, or get ideas that fit your goal.

Try Sunn free

The three highest-fiber vegetables per 100 calories are raw collards at 12.50g, raw romaine lettuce at 12.35g and raw eggplant at 12.00g — and the rounding in the USDA rows they come from is wide enough to reorder them. All three are computed from USDA FoodData Central rows: collards 4g of fiber against 32 calories per 100g (FDC 170406), romaine 2.1g against 17 (FDC 169247), eggplant 3g against 25 (FDC 169228).

So this post has no first place. What it does have is a much larger number that nothing can round away: across the 163 foods we can rank, the vegetables sit at a median of 6.67g of fiber per 100 calories and the grains at 1.52g. The gap between the food groups is 4.4×. The gap between the top three vegetables is smaller than the error bar. Pick the group, not the vegetable.

The 35 vegetables, ranked on both bases

We hold 38 vegetables; three carry no fiber value at all and are excluded rather than zeroed (see the last section). Here are the top ten of the remaining 35 per 100 calories, with where each one lands when you rank the same foods per 100g instead:

The row we holdFiber /100 kcalFiber /100gCalories /100gRank per 100g
Collards, raw12.50g4g328th
Lettuce, cos or romaine, raw12.35g2.1g1719th
Eggplant, raw12.00g3g2512th
Kale, raw11.71g4.1g357th
Brussels sprouts, raw11.12g4.78g435th
Asparagus, raw10.50g2.1g2017th
Radishes, raw10.00g1.6g1626th
Beans, snap, green, raw9.71g3.01g3111th
Okra, raw9.70g3.2g339th
Cabbage, bok choy, raw9.69g1.26g1329th

The right-hand column is the first warning. Per 100g the leader is not on this list at all — it is raw green peas at 5.7g, which finishes 16th per 100 calories. Romaine drops from 2nd to 19th, radishes from 7th to 26th. Both orders are correct, and they settle different questions. A per-100g table prices fiber against the weight on your plate; a per-100-calorie table prices it against the room left in your day. This post uses the second, since "high in fiber for what it costs" is a claim about calories rather than grams.

Romaine's error bar covers all three leaders

Every calorie figure in that table is a whole number, so each one carries half a calorie of uncertainty — and because it sits in the denominator, that uncertainty is worth more on the foods with the fewest calories. Romaine is published at 17 calories per 100g. Half a calorie is 2.9% of 17. It is 1.6% of collards' 32 and 1.2% of Brussels sprouts' 43. The ranking's leaders are, structurally, its least certain rows.

The row we holdFiber /100 kcalRange the calorie rounding allowsWidth
Collards, raw12.50g12.31 – 12.70g±1.6%
Lettuce, cos or romaine, raw12.35g12.00 – 12.73g±2.9%
Eggplant, raw12.00g11.76 – 12.24g±2.0%
Kale, raw11.71g11.55 – 11.88g±1.4%
Brussels sprouts, raw11.12g10.99 – 11.25g±1.2%

Read the third column across. Romaine's range runs from 12.00 to 12.73, which contains collards' 12.50, its own 12.35 and eggplant's 12.00 — every point value on the podium. Collards and romaine overlap. Romaine and eggplant overlap. Collards and eggplant are the one pair that separates, and they separate by 0.06g, with collards' floor at 12.31 against eggplant's ceiling at 12.24.

And that last separation only survives because we have been generous. The table above moves the calories and holds the fiber still. The fiber figures round too — collards is published as 4g and eggplant as 3g, and allowing either of those to move by even a hundredth of a gram closes the 0.06g gap immediately. Whether USDA rounded those to the hundredth or to the whole gram changes how much wider these ranges get, but not the direction: every honest assumption makes the podium less separable, never more.

The general rule, which is worth more than this ranking: on any per-calorie ranking, the foods that win are the ones with the smallest calorie figures, and the smallest calorie figures are the ones whose rounding hurts most. The top of a per-calorie table is always its blurriest end.

A blackberry finishes inside the vegetable podium

Rank all 163 foods we can rank rather than only the vegetables, and raw blackberries land at 12.33g of fiber per 100 calories (FDC 173946, 5.3g against 43 calories per 100g) — between romaine's 12.35 and eggplant's 12.00. Raw collards is 2nd of 163. First place goes to unsweetened cocoa powder at 16.23g, which is a cooking ingredient rather than a food you eat 100 calories of, and we say so rather than quietly dropping it.

This is the part that argues against the question. "Which vegetable has the most fiber per calorie" draws a line around one USDA category and ranks inside it, and a fruit sits in the middle of the result. The category boundary is doing more work than the ranking is. If you want the fiber and you do not care what aisle it came from, blackberries beat eight of the ten vegetables in the first table.

What does survive: vegetables against every other group

Vegetables have a median of 6.67g of fiber per 100 calories. Legumes are at 4.63g, fruit at 4.00g, grains at 1.52g and nuts and seeds at 1.29g. Vegetables beat grains by 4.4× and nuts by 5.2× on this basis. Those are not gaps a rounding interval can touch.

USDA food groupFoods we holdMedian fiber /100 kcal
Vegetables and Vegetable Products356.67g
Legumes and Legume Products134.63g
Fruits and Fruit Juices294.00g
Cereal Grains and Pasta101.52g
Nut and Seed Products181.29g
Dairy and Egg Products190.00g

Nuts are the line worth pausing on. Their fiber reputation is earned per 100g — but the calories arrive in such quantity alongside it that on this basis they finish last of the five plant groups. Dairy, eggs, fish and meat are at zero because they contain no fiber at all, which is a fact about those foods rather than a gap in our data.

So the honest answer to "which vegetable should I eat for fiber" is: any of the ones near the top of the first table, and the choice between them is a choice about what you actually like. Collards, romaine and eggplant are interchangeable on this measure. Collard greens, romaine and eggplant each have their full row, and collards against spinach shows how quickly the other columns diverge once you stop looking at fiber.

Three vegetables this ranking cannot include

Raw celery, raw green cabbage and raw sweet potato carry no fiber value in the rows we hold, so they are excluded from all 35 places rather than entered as zero. Celery is the awkward one: it is the vegetable most people would name first for fiber, and we cannot tell you where it ranks. An absent figure is not the same claim as a measured zero, and a ranking that treated it that way would drop celery to last place.

Two more limits worth stating. Every vegetable row here is raw, so nothing on this page describes what happens when you cook the food down — cooking changes water content and moves both columns. And "fiber" here is total dietary fiber; the soluble and insoluble split is not in this dataset, so no post on this site can tell you which kind you are getting.

Nobody eats a ranking

The practical version of all of this is short. Fiber is a weekly number, not a per-meal one, and the difference between the best vegetable and the tenth-best is smaller than the difference between a week with vegetables in it and a week without. Getting the group right is most of the job.

That is easy to believe and hard to check. Sunn adds the fiber up for you in the background — send it your meals in plain words, and the column builds itself behind the macros, so a week that quietly had almost none in it shows up on Wednesday rather than being guessed at on Sunday.

For the same column read two other ways: the calorie cost of hitting a 10g fiber target turns it into a target rather than a ranking, and the calcium version of this problem is a two-food tie rather than a three-food one.

E

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.

Common Questions

Which vegetable has the most fiber per calorie?

Raw collards, raw romaine lettuce and raw eggplant are tied, and the data cannot separate them. They compute to 12.50g, 12.35g and 12.00g of fiber per 100 calories from USDA FoodData Central rows of 4g/32 kcal, 2.1g/17 kcal and 3g/25 kcal per 100g. Because the calorie figures are whole numbers, romaine's result carries a range of 12.00 to 12.73g, which contains all three point values. Raw kale is fourth at 11.71g.

Which food group gives the most fiber per calorie?

Vegetables, by a margin nothing can round away. Across the 163 foods we can rank, the median vegetable gives 6.67g of fiber per 100 calories against 4.63g for legumes, 4.00g for fruit, 1.52g for grains and 1.29g for nuts and seeds. That is 4.4 times the grain median and 5.2 times the nut median. Dairy, eggs, fish and meat contain no fiber at all.

Which vegetable has the most fiber per 100g?

Raw green peas, at 5.7g per 100g — and it is not in the top ten per 100 calories, where it finishes 16th. The per-100g order is different throughout: romaine falls from 2nd per calorie to 19th per gram, radishes from 7th to 26th. Per 100g asks what a fixed weight delivers; per 100 calories asks what a fixed slice of your day delivers.

Are nuts a good source of fiber?

Per 100g yes, per 100 calories they are the worst plant group we hold. The 18 nut and seed rows have a median of 1.29g of fiber per 100 calories, below grains at 1.52g and a fifth of the vegetable median of 6.67g. Nuts carry real fiber but carry a lot of calories alongside it, so a fiber target met with nuts costs several times more of your day than the same target met with vegetables.

How much fiber is in celery?

We cannot tell you. The celery row we hold carries no fiber value, so celery is excluded from our 35-vegetable ranking rather than entered as zero — as are raw green cabbage and raw sweet potato. A missing value and a genuine zero are different claims, and treating the first as the second would put celery last on a fiber ranking, which would be wrong.

Get a personalized nutrition plan

Find out exactly what and how much to eat for your goals. Takes 60 seconds.

Take the free quiz

More from the Blog