Yes, kidney beans are high in oxalates. Raw dark red kidney beans contain roughly 100 to 190 milligrams of oxalate per 100 grams of dry weight, depending on variety, growing conditions, and measurement method, which places them in the upper tier of common legumes, well above lentils and peas. However, the number that matters for your plate is different: a standard 45-minute boil followed by draining cuts soluble oxalate by roughly 30 to 50 percent. Cooked kidney beans land near 30 to 70 mg per 100 grams. That is still "moderate to high," but it is a manageable number rather than a red flag. Whether it matters depends on your history of calcium oxalate stones, not on the bean itself.
What Oxalate Actually Is and Why Beans Carry It
Oxalate is a simple two-carbon organic acid that plants produce as a byproduct of metabolism and as a calcium-binding storage molecule. Many plants accumulate it to sequester excess calcium, deter herbivores, and manage oxidative stress. It exists in two forms: soluble oxalate (sodium and potassium salts, which are absorbed in the gut) and insoluble oxalate (calcium oxalate crystals, which mostly pass through unabsorbed).
Kidney beans sit high on both counts because the seed coat and cotyledon concentrate oxalate during germination and drying. Dark red and light red kidney beans typically measure between 100 and 190 mg per 100 grams dry weight across published assays. That is two to three times the oxalate load of chickpeas and roughly four to eight times that of green peas. In plain terms: kidney beans are not the worst offender in the pantry, but they are firmly on the higher end for a pantry staple.
The distinction between soluble and insoluble matters enormously. Roughly half to two-thirds of kidney bean oxalate is soluble, which is the fraction your intestines can absorb. Only absorbed oxalate can contribute to kidney stone formation. Insoluble calcium oxalate is largely excreted in stool and is the reason that calcium-rich foods eaten with high-oxalate plants reduce urinary oxalate.
Quantified Comparison: Kidney Beans Against Fifteen Common Foods
The table below ranks foods by total oxalate per 100 grams, using typical published values. Ranges are wide because variety, soil, and cooking methods shift the numbers substantially. Treat them as a ranking tool, not an exact prescription.
| Food (state) | Oxalate per 100 g | Tier |
|---|---|---|
| Spinach, raw | 600–970 mg | Very high |
| Rhubarb, raw | 275–500 mg | Very high |
| Almonds | 200–470 mg | Very high |
| Sesame seeds | 350–470 mg | Very high |
| Dark red kidney beans, dry | 100–190 mg | High |
| Light red kidney beans, dry | 90–170 mg | High |
| Navy beans, dry | 70–150 mg | High |
| Pinto beans, dry | 60–120 mg | Moderate–high |
| Kidney beans, boiled and drained | 30–70 mg | Moderate |
| Black beans, cooked | 20–50 mg | Moderate |
| Chickpeas, cooked | 15–40 mg | Low–moderate |
| Lentils, cooked | 10–25 mg | Low |
| Green peas, cooked | 10–20 mg | Low |
| Tofu, firm | 15–30 mg | Low |
| Canned kidney beans, drained and rinsed | 20–45 mg | Low–moderate |
| White rice, cooked | 5–10 mg | Low |
The single most useful comparison for a stone former: one cup of cooked kidney beans (roughly 175 grams) delivers about 55 to 120 mg of oxalate. One cup of raw spinach delivers over 1,000 mg. If you are avoiding kidney beans for oxalate reasons while still eating spinach salads, you are optimizing the wrong variable.
The Boil That Changes the Number: A Timeline
Oxalate does not just sit in the bean. It leaches into cooking water, and how long you cook and what you do with the water changes what you actually eat. This is the least-discussed part of the question and the most practically useful.
| Time or step | What happens | Approx. soluble oxalate remaining |
|---|---|---|
| 0 min (raw, soaked) | Intact seed; oxalate bound in tissue | 100% |
| Soak 8–12 hours, discard water | Surface and some cell oxalate leaches out | 80–90% |
| Boil 15 min, discard water | Partial cell breakdown, first major loss | 65–80% |
| Boil 30 min, discard water | Substantial leaching into broth | 55–70% |
| Boil 45 min, discard water | Standard cooked bean, most soluble oxalate gone | 50–65% |
| Boil 60+ min, discard water | Diminishing returns; texture degrades | 45–60% |
| Cook and eat the broth (no discard) | Oxalate reabsorbed into bean matrix | 85–100% |
| Canned, drained and rinsed | Industrial cook plus rinse removes soluble fraction | 40–60% of canned total |
Two mechanisms drive this. First, heat ruptures cell walls and releases soluble oxalate into the surrounding water. Second, and more counterintuitively, oxalate diffuses down a concentration gradient, so the more water you use and the more you replace it, the more you pull out. A bean boiled in a small pot and eaten with its broth can retain nearly all its original oxalate. The same bean boiled in a large pot, drained, and rinsed drops by half or more.
One important caveat: discarding the soaking and cooking water also discards water-soluble vitamins, some minerals, and flavor. Boiling beans in water and tossing the water is a net nutritional trade you should make deliberately, not by accident.
Kidney Beans and Kidney Stones: The Actual Mechanism
The pathway from oxalate to stone runs through the urine. Absorbed oxalate enters the blood, is filtered by the kidney, and concentrates in urine. When urinary oxalate exceeds roughly 40 to 45 mg per day (the general threshold cited in clinical practice for hyperoxaluria), the risk of calcium oxalate crystallization rises. Calcium oxalate accounts for about 70 to 80 percent of all kidney stones.
Here is the non-obvious part: dietary oxalate's contribution to urinary oxalate is smaller than most people assume. Studies using labeled oxalate suggest that only about 5 to 15 percent of dietary oxalate is absorbed and appears in urine. Dietary oxalate may account for roughly 10 to 50 percent of urinary oxalate in typical eaters, with the rest coming from endogenous metabolism, especially from glycine and ascorbate. For most people, the biggest single lever is not avoiding kidney beans but drinking enough water to keep urine dilute and consuming adequate calcium with meals.
The calcium mechanism is the professional caveat worth internalizing. Calcium binds oxalate in the gut, forming insoluble calcium oxalate that exits in stool. A seminal trial by Borghi and colleagues in 2002 found that a diet with normal calcium (1,000–1,200 mg per day) plus reduced animal protein and salt cut stone recurrence by about half, while a low-calcium diet increased stone risk. Eating kidney beans with a calcium source, such as a dollop of yogurt or a side of cheese, reduces the fraction of oxalate absorbed. Eating them alone, on an empty stomach, maximizes it.
Who Should Actually Count Oxalate, and Who Should Not
Oxalate restriction is not a universal recommendation, and the population that benefits is narrower than the internet suggests. People with a history of calcium oxalate stones, especially those with high urinary oxalate, are the clearest candidates. Those with enteric hyperoxaluria from fat malabsorption (from Crohn's disease, bariatric surgery, or pancreatic insufficiency) absorb far more oxalate and should be more cautious. People with primary hyperoxaluria, a rare genetic disorder, need specialty care, not dietary tweaks.
For everyone else, the evidence that moderate kidney bean consumption raises stone risk is weak. Kidney beans also deliver 8 to 10 grams of fiber per cup, about 15 grams of protein, potassium, folate, and resistant starch. The fiber and the alkaline load from potassium may modestly reduce stone risk. For a person without stone history, the benefits of beans far outweigh the oxalate concern.
The counts that matter clinically are reconciled simply: keep daily urinary oxalate under about 40 to 45 mg, keep daily dietary oxalate under roughly 40 to 60 mg only if you are a confirmed high-oxalate former, and keep fluid intake above 2.5 liters per day for anyone with a stone history. These are separate thresholds, not the same number restated.
The Misconceptions Worth Correcting
The most common error is treating "high oxalate" as "forbidden." Ranking foods by dry weight inflates the bean number because cooked beans absorb water and dilute their oxalate per gram. A dry-weight figure of 150 mg per 100 grams becomes roughly 50 mg per 100 grams once cooked and drained.
The second misconception is that spinach and beans are equivalent. They are not. Spinach is three to five times higher, and its oxalate is more readily absorbed because it lacks the cell-wall structure of a soaked, cooked seed.
The third is that canned beans are high-oxalate because they are "processed." Canned kidney beans, drained and rinsed, are consistently lower than home-cooked dry beans because the industrial process includes cooking in liquid that is then discarded, plus a rinse step. The canning liquid is where much of the soluble oxalate ends up, which is why draining and rinsing is the highest-value action for a canned-bean eater.
The fourth is that oxalate is purely harmful. It is not. Moderate dietary oxalate has no established harm in healthy people. The problem is dose, absorption conditions, and individual urinary physiology.
What to Actually Do: Practical Actions
- Pair kidney beans with a calcium source at the same meal, such as 1 cup of milk, 100 grams of yogurt, or 1 ounce of cheese. This reduces gut absorption of soluble oxalate.
- Soak beans 8 to 12 hours and discard the soaking water, then boil in a large volume of water and discard the cooking water. This alone can remove 30 to 50 percent of soluble oxalate.
- Choose canned kidney beans and rinse them in a colander for 30 seconds if convenience matters. The canning liquid, not the bean, carries much of the soluble oxalate.
- Drink at least 2.5 liters of fluid daily if you have a stone history. Dilution is the single strongest preventive lever.
- Do not restrict calcium to compensate for high-oxalate foods. A low-calcium diet raises oxalate absorption and stone risk, per the 2002 Borghi trial.
- If you have had multiple calcium oxalate stones despite normal habits, ask for a 24-hour urine oxalate test before eliminating beans. The test tells you whether diet is actually your problem.
Red flags that warrant a clinician rather than a diet article:
- Passing a stone more than once in a year, or stones recurring despite dietary changes.
- Blood in the urine, flank pain with fever, or inability to urinate.
- A diagnosis of enteric hyperoxaluria, bariatric surgery history, or chronic diarrhea with stone formation.
- Known primary hyperoxaluria or a family history of it.
- Urinary oxalate persistently above 45 mg per day on a normal diet.
Limits, Uncertainty, and How to Read the Numbers
Oxalate values in food databases vary by up to 100 percent for the same food, for four reasons. Varieties differ in oxalate accumulation. Soil composition and fertilizer change the number. Maturity at harvest matters. And assay methods disagree: capillary electrophoresis, ion chromatography, and enzymatic assays give systematically different results, with enzymatic kits often reading lower.
That means the figures in this article are best interpreted as ordinal rankings, not exact doses. The ranking is robust: spinach beats almonds beats kidney beans beats chickpeas. The precise milligram count for your bag of beans is unknown without a lab, and it is not worth chasing.
The second limit is that most oxalate-stone research studies urinary oxalate, not whole foods, and many are small. The strongest general recommendations, adequate fluid and normal calcium intake, rest on larger and better-controlled evidence than any single-food restriction.
The practical conclusion is stable despite the uncertainty. Kidney beans are genuinely high in oxalate by dry weight and moderate after cooking. For most people, they are a healthy food that does not need limiting. For confirmed calcium oxalate stone formers, the right response is not elimination but preparation: soak, boil, drain, pair with calcium, and drink enough water to keep urine dilute. The bean was never the villain. The broth and the low-calcium plate were.