What Are the Worst Foods for Oxalates to Eat?

Spinach is by far the worst food for oxalates, delivering over 500 mg in just half a cup when cooked. That’s five times the entire daily limit recommended for people prone to kidney stones, which sits at roughly 100 mg per day. But spinach isn’t the only offender. Several everyday foods, from potatoes to almonds to certain grains, pack enough oxalates to push you well past that threshold in a single serving.

Spinach Stands Alone at the Top

No other common food comes close to spinach. A half-cup of boiled spinach contains about 755 mg of oxalates according to some analyses, with Harvard’s School of Public Health listing it at 547 mg per half-cup cooked. Even raw spinach delivers around 316 mg per cup. Either way, a single serving blows past your daily budget several times over.

What makes this tricky is that spinach is genuinely nutritious. It’s loaded with iron, folate, and vitamins A and K. But if you’re watching oxalates, no amount of preparation makes spinach a safe regular choice. The good news: kale contains only about 2 mg per cup, and bok choy has roughly 1 mg. Both deliver similar nutrients without the oxalate load, making them direct swaps for salads, smoothies, and cooked dishes.

The Full List of High-Oxalate Foods

Beyond spinach, here are the foods that rank highest in oxalates per standard serving, based on data from Harvard’s School of Public Health:

  • Buckwheat groats (roasted): 133 mg per cup
  • Wheat berries (cooked): 98 mg per cup
  • Navy beans (canned): 96 mg per half-cup
  • Baked potato (flesh and skin): 92 mg per potato
  • Bulgur (cooked): 86 mg per cup
  • Beets (canned, drained): 76 mg per half-cup
  • Almonds (oil roasted): 72 mg per ounce

Notice that several of these are foods most people consider healthy staples. A baked potato with a side of navy beans could easily deliver 180+ mg of oxalates in one meal.

Nuts: Almonds Are the Biggest Problem

Among nuts, almonds consistently test as the highest in oxalates. Research published in the Journal of Food Composition and Analysis found that almonds, Brazil nuts, and pine nuts all contain high levels of soluble oxalate, ranging from 492 to 557 mg per 100 grams. Since a typical handful of almonds weighs about an ounce (28 grams), you’re looking at 72 to 122 mg depending on the source, which is enough to hit or exceed your daily limit from a snack alone.

Cashews fall in a middle range at roughly 49 mg per ounce. Peanuts are lower at about 27 mg per ounce, though that’s still not negligible if you’re eating peanut butter by the spoonful. Pecans tend to be among the lowest-oxalate tree nuts. If you love almond butter or almond milk and need to cut back, sunflower seed butter or macadamia nuts are common lower-oxalate alternatives.

Fruits That Rank Surprisingly High

Most fruits are relatively low in oxalates, but a few are notable exceptions. Rhubarb is the worst among commonly eaten fruits, containing about 640 mg per 100 grams of fresh weight. Starfruit (carambola) comes in at around 436 mg per 100 grams. Both have high levels of soluble oxalate, which is the form most readily absorbed by your body.

Goji berries and feijoa also test high enough to warrant caution. Researchers who analyzed dozens of fruits concluded that these five (rhubarb, starfruit, Indian gooseberry, goji berries, and feijoa) should be eaten infrequently and in small amounts. The rest of the fruit world, including apples, bananas, berries, citrus, and melons, generally falls in the low-oxalate category.

Grains and Starches to Watch

Whole grains are a quiet source of oxalates that many people overlook. Buckwheat groats top the grain category at 133 mg per cup cooked. Wheat berries follow at 98 mg, and bulgur at 86 mg. These are all popular in grain bowls, pilafs, and health-food recipes.

Potatoes are the other starch to keep in mind. A single baked potato with skin delivers about 92 mg of oxalates. White rice, oats, and corn tend to be much lower and serve as practical substitutes when you’re building a low-oxalate meal.

What About Tea and Other Drinks

Black tea contains significantly more oxalates than green tea. A study comparing multiple brands found that black tea delivers about 3.7 to 6.6 mg of soluble oxalate per cup, while green tea ranges from just 0.7 to 1.8 mg. The difference is roughly fourfold on average. If you drink several cups daily, black tea can add a meaningful amount to your total intake, though it’s far less concentrated than the foods listed above.

For heavy tea drinkers managing kidney stone risk, switching to green tea or herbal varieties is a simple way to trim your daily oxalate load without giving up the habit entirely.

Cooking Can Cut Oxalate Levels Significantly

Boiling is the single most effective way to reduce oxalates in food. When you boil vegetables, soluble oxalates leach into the cooking water. Discarding that water removes a substantial portion of the oxalate content. Research in the Journal of Agricultural and Food Chemistry found that boiling reduced soluble oxalates by 30 to 87% depending on the vegetable. Spinach lost the most at 87%, followed by Swiss chard at 84 to 85%, Brussels sprouts at 73%, and rhubarb stalks at 61%.

Steaming is far less effective. Spinach lost only about 42% of its soluble oxalate when steamed, roughly half the reduction achieved by boiling. Baking had essentially no effect on oxalate content in potatoes. For beets, boiling dropped soluble oxalate from about 49 mg to 34 mg per 100 grams, while steaming barely budged it.

The takeaway is straightforward: if you’re going to eat a high-oxalate vegetable, boil it in plenty of water and drain it thoroughly. This won’t make spinach “low oxalate,” but it can bring moderately high foods like beets and Swiss chard into a more manageable range.

Why Calcium at Meals Matters

One of the more counterintuitive findings in kidney stone prevention is that eating calcium with high-oxalate foods actually reduces your risk. When calcium and oxalate meet in your digestive tract, they bind together and form a compound your body can’t absorb. That complex passes through you without ever reaching the kidneys, where it would otherwise contribute to stone formation.

This is why low-calcium diets can backfire for stone formers. Without enough calcium in the gut, more oxalate gets absorbed into the bloodstream and filtered through the kidneys. Pairing calcium-rich foods (yogurt, cheese, milk) with higher-oxalate meals is a practical strategy that lets you eat a wider variety of foods without dramatically increasing your urinary oxalate levels. The key is getting the calcium from food at the same meal, not from supplements taken hours apart.

Quick-Reference Swaps

  • Instead of spinach: kale (2 mg per cup), bok choy (1 mg per cup), romaine lettuce
  • Instead of almonds: macadamia nuts, pecans, sunflower seeds
  • Instead of baked potato: cauliflower, white rice, turnips
  • Instead of buckwheat or bulgur: white rice, oats, corn-based grains
  • Instead of black tea: green tea (about 1.3 mg per cup), herbal tea
  • Instead of rhubarb: apples, pears, melon, citrus fruits