Key takeaways
- Leafy greens are the lowest: a cup of raw spinach has about 0.4 g of net carbs and a cup of shredded romaine about 0.6 g, from USDA data.
- Every vegetable in this list's middle table, including cauliflower, broccoli, zucchini and green bell pepper, stays under 5 g of net carbs per serving.
- Onions and carrots are higher: about 12.2 g and 8.7 g of net carbs per chopped cup.
- Net carbs here are total carbohydrate minus dietary fibre; the US Nutrition Facts label lists both but has no net carbs line.
- Compare per 100 g as well as per serving, because a cup of kale weighs 21 g and a cup of broccoli 91 g.
Vegetables are not all equal in carbohydrate. This list gives total carbohydrate, fibre and net carbs for common vegetables, per typical serving and per 100 g, worked out from the US Department of Agriculture's SR Legacy data in FoodData Central.
How net carbs are counted here
Net carbs, as this list counts them, are total carbohydrate minus dietary fibre. The FDA's Nutrition Facts label lists Total Carbohydrate and Dietary Fiber as separate lines, but it has no "net carbs" line, so the subtraction is yours to do. Net carbs explained covers the definition and its caveats, including sugar alcohols, which these whole vegetables do not contain.
All values are for raw vegetables, using the SR Legacy entries (for example "Broccoli, raw" and "Lettuce, cos or romaine, raw") and the portion weights USDA lists; each table gives both the per-serving and the per-100 g figure. Cooked vegetables have their own SR Legacy entries with different values per cup, so look those up if you weigh food after cooking.
The lowest: leafy greens and watery vegetables
| Vegetable | Serving | Total carbs | Fibre | Net carbs | Net per 100 g |
|---|---|---|---|---|---|
| Kale | 1 cup (21 g) | 0.9 g | 0.9 g | 0.1 g | 0.3 g |
| Spinach | 1 cup (30 g) | 1.1 g | 0.7 g | 0.4 g | 1.4 g |
| Romaine lettuce | 1 cup shredded (47 g) | 1.5 g | 1.0 g | 0.6 g | 1.2 g |
| Celery | 1 cup chopped (101 g) | 3.0 g | 1.6 g | 1.4 g | 1.4 g |
| Cucumber, with peel | ½ cup slices (52 g) | 1.9 g | 0.3 g | 1.6 g | 3.1 g |
| Mushrooms, white | 1 cup slices (70 g) | 2.3 g | 0.7 g | 1.6 g | 2.3 g |
Most non-starchy vegetables: under 5 g a serving
| Vegetable | Serving | Total carbs | Fibre | Net carbs | Net per 100 g |
|---|---|---|---|---|---|
| Asparagus | 1 cup (134 g) | 5.2 g | 2.8 g | 2.4 g | 1.8 g |
| Eggplant | 1 cup cubes (82 g) | 4.8 g | 2.5 g | 2.4 g | 2.9 g |
| Zucchini | 1 cup chopped (124 g) | 3.9 g | 1.2 g | 2.6 g | 2.1 g |
| Cabbage | 1 cup chopped (89 g) | 5.2 g | 2.2 g | 2.9 g | 3.3 g |
| Cauliflower | 1 cup chopped (107 g) | 5.3 g | 2.1 g | 3.2 g | 3.0 g |
| Tomato | 1 medium (123 g) | 4.8 g | 1.5 g | 3.3 g | 2.7 g |
| Broccoli | 1 cup chopped (91 g) | 6.0 g | 2.4 g | 3.7 g | 4.0 g |
| Green beans | 1 cup (100 g) | 7.0 g | 2.7 g | 4.3 g | 4.3 g |
| Green bell pepper | 1 cup chopped (149 g) | 6.9 g | 2.5 g | 4.4 g | 2.9 g |
| Brussels sprouts | 1 cup (88 g) | 7.9 g | 3.3 g | 4.5 g | 5.1 g |
Higher per cup: red pepper, carrot and onion
| Vegetable | Serving | Total carbs | Fibre | Net carbs | Net per 100 g |
|---|---|---|---|---|---|
| Red bell pepper | 1 cup chopped (149 g) | 9.0 g | 3.1 g | 5.9 g | 3.9 g |
| Carrots | 1 cup chopped (128 g) | 12.3 g | 3.6 g | 8.7 g | 6.8 g |
| Onion | 1 cup chopped (160 g) | 14.9 g | 2.7 g | 12.2 g | 7.6 g |
Avocado, botanically a fruit but eaten like a vegetable, is unusual: half an avocado, about 100 g, has 8.6 g of carbohydrate but 6.7 g of fibre, leaving about 1.8 g net, though it is high in fat and calories.
Why both columns matter
Servings hide weight. A cup of raw kale weighs 21 g and a cup of chopped broccoli 91 g, so kale looks far lower per cup. Per 100 g, kale (0.3 g) is still lowest, but broccoli (4.0 g) and Brussels sprouts (5.1 g) are closer to green beans (4.3 g) than the cups suggest. Red and green bell peppers show the other effect: the same 149 g cup, but the red pepper carries more sugar (4.2 g against 2.4 g per 100 g) and about 1.5 g more net carbs.
A worked example: a low-carb dinner plate
A plate of a cup of cauliflower (3.2 g), a cup of broccoli (3.7 g) and a cup of shredded romaine (0.6 g) comes to about 7.5 g of net carbs (7.4 g before rounding). Swap the cauliflower for a cup of chopped carrot (8.7 g) and the plate rises to about 13 g (12.9 g before rounding). Against a low daily limit, such as the 20 g or 50 g examples on the Ketora app page (examples, not recommendations; any limit of your own is best set with a health professional), that one swap moves a meaningful share of the day. Keto macros explained covers how targets are set, and low-carb fruits gives the same figures for fruit.
Tracking it
Ketora: Keto Diet Carb Tracker, one of our health and nutrition apps, works out net carbs as you log, taking fibre and sugar alcohols away from total carbohydrate, and shows net and total carbs side by side. Values from your own scale and food labels will be closer to what you actually eat than any reference table.
Good to know
Frequently asked questions
Which vegetables are lowest in carbs?
How many net carbs are in broccoli?
Are onions and carrots low-carb vegetables?
Is avocado low in net carbs?
Sources
- FoodData Central: SR Legacy (April 2018 release) (opens in a new tab)US Department of Agriculture, Agricultural Research Service — accessed
- How to Understand and Use the Nutrition Facts Label (opens in a new tab)US Food and Drug Administration — accessed
About the author
Reign Creative LLC — The independent app studio that builds the apps covered on this site and publishes every article here. On Google Play it publishes as Reign Collective Apps.
We use AI tools to help research, draft and edit our articles. Each article lists the sources its factual claims rely on, and details about our apps come from their live Google Play listings. No article on this site has been reviewed by an independent expert unless the reviewer is named on it.
No person at Reign Creative LLC has read this article in full. It was published after automated checks and an AI editorial review, which are described in our editorial policy and are not the same as a person reading every sentence.
Spotted an error? Tell us — how corrections are handled is set out in our editorial policy.