Most non-starchy vegetables have about 3 to 10 grams of carbs per 100 grams, while potatoes, corn, and peas run much higher.
Vegetables don’t come with one carb number. A cucumber, a carrot, and a potato may all sit in the produce aisle, yet their carbohydrate totals are nowhere near the same. Water, fiber, and starch drive the gap.
Why Vegetable Carb Counts Vary So Much
Carbohydrates in vegetables come from a mix of starch, natural sugar, and fiber. Water pulls the number down. Starch pushes it up. Fiber sits inside the total carb number, yet it acts differently in the body than starch does. That’s why spinach and potatoes can’t be lumped together just because both are vegetables.
Non-Starchy And Starchy Vegetables
A simple split works well. Non-starchy vegetables include greens, broccoli, cauliflower, peppers, mushrooms, cucumbers, zucchini, cabbage, and tomatoes. These are the vegetables people can pile onto a plate without adding many carbs. Starchy vegetables include potatoes, sweet potatoes, corn, peas, parsnips, and winter squash. These still have plenty to offer, but their carb load is closer to grains than salad greens.
How Many Carbohydrates In Vegetables? By Group And Prep Style
When people ask this question, they usually want a clean number. The number shifts with the vegetable and the form you measure. Raw and cooked versions can look different because cooking drives off water. A cup of cooked spinach packs down, so the carb count per cup jumps even when the vegetable itself has not changed.
For the best apples-to-apples view, use a 100-gram comparison. That’s the standard way nutrient databases line foods up. USDA FoodData Central is a solid place to check a vegetable when you need a precise entry. For day-to-day eating, rough ranges work well enough.
The table below gives you a fast read on where common vegetables land. These are broad ranges, not one brand or one farm sample. That makes them more useful at the table.
| Vegetable Group | Typical Carbs Per 100 g | Common Picks |
|---|---|---|
| Leafy greens | 2–4 g | Spinach, lettuce, arugula, bok choy |
| Watery vegetables | 3–5 g | Cucumber, zucchini, celery |
| Mild cruciferous vegetables | 4–6 g | Cauliflower, cabbage, radishes |
| Colorful salad vegetables | 4–7 g | Tomatoes, bell peppers, eggplant |
| Firm green vegetables | 5–8 g | Broccoli, green beans, Brussels sprouts |
| Sweet or earthy roots | 7–10 g | Carrots, onions, beets, turnips |
| Winter squash | 10–12 g | Butternut squash, acorn squash |
| Starchy vegetables | 14–21 g | Corn, peas, potatoes, sweet potatoes |
You don’t need to memorize the whole table. Leafy and watery vegetables stay low. Dense, sweet, fuel-storing vegetables rise.
Total Carbs, Fiber, And Net Carbs
This is where many people get tripped up. “Total carbohydrate” is the full number on a label or in a food database. That total includes starch, sugars, and fiber. “Net carbs” is a shortcut some people use by subtracting fiber from total carbs. That shortcut can be useful for some eating styles, but the official number is still total carbohydrate.
On U.S. labels, total carbohydrate and dietary fiber are listed separately. The FDA Daily Value page lists 275 grams for total carbohydrate and 28 grams for dietary fiber on a 2,000-calorie reference diet. Those figures give you a stable frame for reading labels and comparing foods.
Fiber changes the feel of a vegetable in a meal. Broccoli, Brussels sprouts, and cauliflower may bring a few more carbs than lettuce, yet they often feel lighter on the plate than bread, rice, or potatoes because a good share of those carbs comes with fiber and water.
Why Some Vegetables Feel Lower Carb Than The Number Suggests
A cup of raw spinach has barely any digestible carb. A cup of chopped broccoli carries more. Potatoes and corn are different. Their texture is denser, their starch load is higher, and people tend to eat them in larger portions. That pushes the total up fast.
Serving Size Can Change The Story
Per-100-gram data keeps food entries fair, yet people eat cups, handfuls, side dishes, and soup bowls. The second table turns the raw numbers into portions that look like real meals.
| Vegetable | Common Serving | Approx Carbs |
|---|---|---|
| Spinach, raw | 1 cup | 1 g |
| Cucumber, chopped | 1 cup | 4 g |
| Cauliflower, chopped | 1 cup | 5 g |
| Broccoli, chopped | 1 cup | 6 g |
| Carrot | 1 medium | 6 g |
| Green beans | 1 cup | 10 g |
| Sweet potato | 1 medium | 24 g |
| Potato | 1 medium | 37 g |
Use these serving numbers as a quick check, not a law. A “medium” potato can swing a lot in size. Chopped cups can be loose or packed. Restaurant sides can be far larger than home servings. The pattern is clear: spinach and cucumbers barely move the total, broccoli and carrots add a little, and potatoes shift the whole meal.
If you want to read labels with less guesswork, the FDA label guide lays out how total carbs, fiber, sugars, and percent daily value appear on packaged foods. That matters most with frozen sides, canned vegetables in sauce, and seasoned blends, where the carb count may come from ingredients wrapped around the vegetables, not the vegetables alone.
A Practical Way To Estimate Carbs At A Glance
You can make a decent carb estimate with one fast rule. If the vegetable is leafy, watery, or mostly green, the carb count is usually low. If it is sweet, dense, or grows as a root or tuber, expect more. If it tastes like it could stand in for rice, bread, or pasta, treat it like a bigger carb source until you check the label or database entry.
Use Three Simple Buckets
- Low-carb picks: leafy greens, cucumbers, zucchini, mushrooms, cauliflower, cabbage, celery.
- Middle-range picks: broccoli, peppers, tomatoes, green beans, carrots, onions, beets.
- Higher-carb picks: peas, corn, parsnips, winter squash, potatoes, sweet potatoes.
Use this bucket method when you build meals. Fill most of the plate with low-carb vegetables, add middle-range vegetables for color and texture, and treat starchy vegetables as the carb anchor, not a “free” extra.
Common Carb Count Mistakes With Vegetables
One mix-up is counting all vegetables as low carb. They aren’t. Potatoes, corn, and peas can carry enough carbohydrate to shape the whole plate. Another mix-up is fearing carrots, onions, or tomatoes as if they belong in the same bracket. They don’t. Those vegetables sit far below potatoes and usually show up in smaller portions.
Cooked dishes can trip you up too. Roasted vegetables glazed with honey, casseroles, battered vegetables, and creamy frozen blends may look like plain vegetables, yet their carb total can climb fast. Plain frozen vegetables are usually close to fresh. The extras change the math.
Last, don’t let one number decide whether a vegetable belongs in your meals. Carb counts matter, but so does the portion, the rest of the plate, and how full the food keeps you. A small serving of sweet potato can fit just fine. A huge serving of peas may land closer to a grain side than a salad. Context does the heavy lifting.
The Number To Keep In Your Head
For meal planning, this rule holds up: non-starchy vegetables usually land around 3 to 10 grams of carbs per 100 grams, and starchy vegetables often start around the mid-teens and climb from there. That split will get you close far more often than trying to memorize vegetable-by-vegetable numbers.
When you need the exact count, check the specific vegetable, the serving size, and the prep style. When you just need a smart estimate, sort it into low, middle, or high. That’s usually enough to keep your plate balanced without turning dinner into math homework.
References & Sources
- USDA.“FoodData Central.”Official USDA food composition database used to ground the vegetable carbohydrate ranges in this article.
- U.S. Food and Drug Administration.“Daily Value on the Nutrition and Supplement Facts Labels.”Lists the Daily Values for total carbohydrate and dietary fiber used for label-reading context.
- U.S. Food and Drug Administration.“How to Understand and Use the Nutrition Facts Label.”Explains how total carbohydrate, fiber, sugars, and percent daily value appear on packaged foods.

