Vegan oxalate reference

Look up the oxalate content of any food, find low-oxalate recipes, and build new ones with automatic oxalate and nutrition totals. Based on the Harvard T.H. Chan Nov 2023 oxalate table and the OHF list.

Five pillars of stone prevention, ranked by evidence

  1. Fluids: 2.5–3.0 L/day so urine output is at least 2.5 L.
  2. Calcium with meals: 1,000–1,200 mg/day from food. It binds oxalate in the gut. Never skip it to "lower calcium".
  3. Sodium under 2,300 mg/day: high sodium raises urinary calcium.
  4. Moderate oxalate: drop only the very highest sources (spinach, chard, beet greens, rhubarb, almonds in quantity). Restrict further only with documented hyperoxaluria on a 24-hour urine.
  5. Plenty of fruit and vegetables: citrate, potassium, magnesium and phytate all protect.

Quick start: safest everyday foods

All under 10 mg oxalate per serving.

Top vegan calcium sources

Sorted by absorbable calcium per serving. Cow's milk absorbs about 32%; several low-oxalate greens beat that.

Foods to avoid or strictly limit

The highest-oxalate foods in the curated list.

Browse by category

Values that changed with new data

Foods whose classification moved because of the Harvard 2023 measurements or the Sept 2026 research check.

Vegan diet and calcium oxalate kidney stones

Condensed from the evidence guide in this repository (PDF, 7 pages), with guideline references updated in September 2026.

The single most important finding

Eating enough calcium with meals matters more than avoiding oxalate. The Borghi randomized trial (NEJM 2002) showed a normal-calcium diet (1,200 mg/day) cut stone recurrence by 51% compared with a low-calcium diet, because dietary calcium binds oxalate in the gut before it reaches the kidneys. Oxalate still matters (spinach carries over 100 times the oxalate of kale per serving), but the primary focus is adequate calcium at every meal, not obsessive avoidance. A well-planned vegan diet can be protective: EPIC-Oxford found vegetarians had 31% lower stone risk than high meat eaters, and the DASH pattern cuts risk by 40–45%.

The 2023 Harvard update

Harvard T.H. Chan School of Public Health released a major update in November 2023, remeasuring hundreds of foods by liquid chromatography (Dr John Knight's lab, University of Alabama). Several results surprised clinicians:

Caveat: oxalate databases still disagree with each other. Penniston et al. found that switching between two reputable databases would reclassify about 40% of patients relative to their oxalate target. Content varies with cultivar, soil, season, ripeness and analytical method. The Harvard liquid-chromatography list is the most reliable current source; this site shows the Harvard row alongside every curated food so the disagreement is visible.

Five pillars, ranked by evidence strength

The AUA (2026), EAU (2026) and CARI (2026) guidelines converge on a multi-pronged dietary approach. None addresses vegan diets specifically, but the principles adapt.

  1. Fluid intake has the strongest evidence. AUA and EAU target urine output of at least 2.5 L/day, which usually means drinking 2.5–3.0 L. Water is primary. Coffee shows a protective association (about 19% lower risk per additional daily cup in a Mendelian randomization study). Citrus juices add citrate; a pragmatic RCT (Ruggenenti 2022) found daily lemon juice helps prevent recurrent stones, and a Dec 2025 Thai trial of a daily lime regimen reported 14% recurrence versus 45% over two years.
  2. Calcium 1,000–1,200 mg/day, from food, taken with meals. Dropping dietary calcium from ~1,000 to ~400 mg raises urinary oxalate by 28%. Supplements taken between meals raise stone risk by roughly 20%; if you need one, take calcium citrate with meals. This is the main vegan-specific challenge.
  3. Sodium under 2,300 mg/day (ideally under 2,000). Sodium and calcium share renal transport, so salt raises urinary calcium. Processed meat alternatives, canned goods and soy sauce are the vegan sodium traps.
  4. Moderate oxalate, not strict avoidance. A target of 40–100 mg/day applies to stone formers with documented hyperoxaluria (a typical diet contains 200–300 mg). CARI: "there is limited evidence that a low oxalate diet reduces the risk of calcium oxalate stones." Eliminate only the highest sources and pair moderate ones with calcium. A very restrictive diet can backfire by cutting potassium, magnesium, citrate, phytate and fiber.
  5. Abundant fruit and vegetables: citrate inhibits crystal formation, potassium alkalinizes urine, magnesium competes with calcium for oxalate binding, phytate inhibits crystallization. DASH reduced risk 40–45% in three cohorts totalling 240,000 people despite higher oxalate intake.

Plant calcium sources that beat dairy on absorption

Low-oxalate cruciferous vegetables have higher fractional calcium absorption than cow's milk (32%): bok choy 54%, broccoli 61%, turnip greens 52%, mustard greens 58%, kale 41%. The catch is serving size: a cup of cooked kale gives only 38–55 mg of absorbable calcium, so fortified foods are needed too.

Spinach is the cautionary example: 245 mg calcium per cooked cup, but only about 5% is absorbed, so it yields 12 mg. Source selection matters, not just quantity.

The vegan paradox

Vegetarians show lower stone risk (EPIC-Oxford hazard ratio 0.69; Robertson 40–60% lower), and plant protein produces less acid load, more alkaline urine, higher citrate and lower urinary calcium. But no prospective study has examined strictly vegan diets, and the vegetarian benefit likely leans partly on dairy calcium. Ferraro et al. (2020) flagged vegan diets as a "theoretical risk" from lower calcium and higher oxalate exposure. The resolution is nutrient adequacy, not the label: a vegan diet with 1,000+ mg calcium from fortified foods and calcium-set tofu taken with meals, sodium under 2,300 mg, the very highest oxalate foods avoided and plenty of produce should be at least as protective as a mixed diet. A vegan diet built on spinach smoothies, almond milk and cashews with little fortified calcium can be strongly stone-forming.

Gut microbiome

Oxalobacter formigenes, the gut bacterium that lives on oxalate, is associated with about 70% lower recurrence, but only 30–40% of Western adults carry it. A 2025 colonization study (Kidney Int Rep) established it in 22 of 22 healthy adults with a single dose, cutting stool oxalate 54% and urinary oxalate 14%; a companion study (Gut Microbes 2025) showed that a person's baseline abundance of oxalate-degrading genes predicts whether they respond. Over 30% of gut species carry at least one oxalate-handling gene. Antibiotics matter: sulfa drugs raise stone odds by 133%, cephalosporins 88%, fluoroquinolones 67%, with risk highest 3–6 months after exposure. However, a December 2025 systematic review of nine studies concluded the evidence does not support probiotics for stone prevention, and no guideline recommends them. Practical takeaway: minimize unnecessary antibiotics and eat a diverse high-fiber plant diet; personalized probiotic therapy remains investigational.

Cooking methods that reduce oxalate

Practical vegan food guide

Conclusion

The evidence supports a whole-diet approach rather than obsessive oxalate avoidance. Three actions matter most: 1,000–1,200 mg calcium daily from fortified foods and low-oxalate sources, timed with meals; 2.5–3.0 L of fluid daily; sodium under 2,300 mg. Eliminate only the handful of extremely high-oxalate foods while keeping the diet's advantages: alkaline urine, high citrate, high potassium, abundant phytate and fiber. Most importantly, a 24-hour urine collection is the only way to know whether urinary oxalate is actually driving your stones. Many calcium oxalate stone formers have high urinary calcium, not high oxalate, which makes calcium-focused rather than oxalate-focused intervention even more important.

Guideline references (checked Sept 2026)

Full evidence guide with citations: PDF in this repository. This site is a personal reference, not medical advice.

Sources, updates and how to maintain this site

Data sources

Harvard T.H. Chan School of Public Health oxalate table (posted November 2023)

The primary source. Measured by Dr John Knight's laboratory (University of Alabama) by liquid chromatography; rows marked "measured" were assayed directly, the rest were calculated from recipes and composition. Still the current release as of September 2026; the file was re-hosted in July 2024 when the school's website moved.

Oxalosis and Hyperoxaluria Foundation (OHF) oxalate list (February 2024)

Second source, used where Harvard has no row (many vegetables, potatoes, tempeh). Largely the same Knight/UAB measurements published through a different channel, so the two lists are not independent.

Research papers used for specific foods
  • Al-Wahsh & Massey 2005, J Agric Food Chem 53:5670 (soy foods 2–58 mg/serving; supersedes Massey 2001, the source of the old 336 mg soy milk and 638 mg TVP figures).
  • Borin et al. 2021, J Ren Nutr (plant milks by IC-MS: almond ~27 mg/cup, cashew and hazelnut high, soy ~10, oat/rice/macadamia very low, coconut and flax undetectable).
  • Ellis & Lieb 2015 (soy milk 4.0–5.3 mg/cup).
  • Thaker et al. 2026, J Endourol 40(3) (turmeric 8.6, cinnamon 14.0, chanca piedra 8.2 mg per supplement dose).
  • Wong et al. 2026, Urology 207:1–7 (pea protein isolate raised urinary oxalate versus whey).
  • Foods 2024 (PMC11049459): matcha ~17 mg per gram of powder.
  • Vegetarian Resource Group 2014 lab test: vital wheat gluten 54 mg per 100 g (seitan).
  • Chai & Liebman 2005 (cooking losses); Tang 2008 AJCN (soluble fractions of spices).

Nutrition per 100 g comes from USDA FoodData Central (fdc.nal.usda.gov) and is approximate. USDA does not publish oxalate.

Risk levels used on this site

Per listed serving: Low 0–10 mg, Moderate 11–25 mg, High 26–99 mg, Very high 100 mg and over. Recipes use per-serving thresholds of 10 / 25 / 50 mg. A disputed tag means published sources disagree or no assay exists; the number shown is the most defensible one and the notes explain the range. A star (★) marks foods whose classification changed with newer data.

Research check log

25 September 2026: are the data still current?
  • Harvard table: no release after November 2023. Nothing to import.
  • OHF list: PDF still dated 27 Feb 2024; new HTML guide June 2026 with the tier scheme above.
  • Values corrected: soy milk 336 → 9.6 mg (superseded 2001 paper); TVP 496 → 10–58 mg (uncertain); soy nuts 392 → 10–58 mg (uncertain); tempeh 23 → 23–48 mg; chia 5–10 → ~55 mg per tbsp (aggregator, uncertain); almond flour 60 → ~72 mg per ¼ cup (derived from measured almonds).
  • Added: matcha, seitan, cashew/rice/coconut/pea milks, turmeric and cinnamon supplements, hemp seeds.
  • Flagged as unmeasured: nutritional yeast, jackfruit, chickpea/coconut/oat/spelt flours, rice/soba/glass noodles, hemp, pea milk.
  • Guidelines: AUA 2026 (July), EAU 2026, CARI 2026, NKF July 2026, Cleveland Clinic March 2026. Core advice unchanged. Probiotics: Dec 2025 review says evidence does not support them. Vitamin C: July 2026 meta-analysis confirms supplements raise urinary oxalate.
  • No new open dataset exists; 2025–26 web databases (OxalateGuard, OxalateWatch) are proprietary repackagings of Harvard/OHF/Wake Forest data.

Full report: docs/research/2026-09-25-oxalate-data-check.md.

How to update this site

Add a recipe
  1. Open Recipe Builder, pick ingredients from the database, enter amounts. Oxalate and nutrition totals compute as you go.
  2. Either press Publish to GitHub (after saving a GitHub token once in the publisher settings on that page; the token stays in this browser only), or press Copy JSON and paste it into a Claude Code session with "add this recipe", or paste it into data/recipes.js on GitHub's web editor.
  3. GitHub Pages redeploys within a minute or two.
Add or correct a food, or re-check the data online

Start a Claude Code session on the repository and ask, for example: "Add fresh figs to the curated food list with the Harvard value", or "Check whether Harvard or OHF have published a newer oxalate table and update the data." The repository's CLAUDE.md tells the session where everything lives and what format to keep; tools/validate.js checks the data files before a push.

If Harvard publishes a new spreadsheet: drop it into docs/, run python3 tools/harvard_xlsx_to_js.py docs/NEW-FILE.xlsx, review the diff, and commit.

Privacy of this site

The page carries noindex, nofollow, noarchive robots tags and the site serves a robots.txt that disallows all crawlers, so search engines will not index it. It has no links from anywhere. Anyone who has the URL can open it; there is no login. The GitHub repository behind it is public (GitHub Pages on the free plan requires that); making it private needs a paid GitHub plan.

Data changelog