What Foods Cause Kidney Stones and How to Avoid Them

The foods most likely to cause kidney stones are high-sodium processed foods, red meat and organ meats, and oxalate-rich vegetables like spinach and rhubarb. But the specific foods that matter most depend on which type of stone you’re prone to. About 80% of kidney stones are calcium-based, and diet plays a direct role in whether the minerals in your urine clump together or pass through harmlessly.

High-Oxalate Foods and Calcium Oxalate Stones

Calcium oxalate stones are the most common type, and oxalate is one of their key ingredients. Oxalate is a natural compound found in many plant foods. When you eat a lot of it, your kidneys filter the excess into your urine, where it can bind with calcium and crystallize into a stone.

The highest-oxalate foods to watch include:

  • Spinach, one of the most concentrated dietary sources of oxalate
  • Rhubarb
  • Nuts and nut products (almonds, cashews, nut butters)
  • Peanuts, which are technically legumes but very high in oxalate
  • Wheat bran

You don’t necessarily need to eliminate these foods entirely. But if you’ve already had a calcium oxalate stone, cutting back on them can meaningfully lower the oxalate levels in your urine. Cooking some high-oxalate vegetables (like spinach) and discarding the water can reduce their oxalate content, though it won’t eliminate it completely.

Meat, Fish, and Uric Acid Stones

Animal protein is a risk factor for multiple stone types. Beef, chicken, pork, organ meats, eggs, fish, shellfish, and dairy all contribute. The mechanism differs depending on the stone, but the short version is that digesting animal protein changes your urine chemistry in ways that favor crystal formation.

For uric acid stones specifically, the problem is purines, compounds found in high concentrations in organ meats (liver, kidney), certain shellfish, and fish. Your body breaks purines down into uric acid, which your kidneys then excrete. Too much uric acid in your urine, especially if it becomes acidic, creates the conditions for uric acid stones to form. A study published in The Journal of Urology found that fish raised urinary uric acid levels more than beef or chicken, producing about 741 milligrams of uric acid per day compared to roughly 640 milligrams for the other two. That difference reflects the higher purine content of fish.

Being overweight compounds the risk for uric acid stones. Losing weight, if needed, is one of the most effective changes for preventing this stone type.

Sodium Is a Hidden Driver

Salt is one of the biggest and most overlooked dietary causes of kidney stones. When you eat more sodium, your kidneys excrete more calcium into your urine. That extra calcium gives oxalate and phosphate more material to bond with, increasing the chance of stone formation. This applies to both calcium oxalate and calcium phosphate stones.

Most of the sodium in a typical diet doesn’t come from the salt shaker. It comes from processed and packaged foods: canned soups, deli meats, frozen meals, chips, fast food, and restaurant dishes. Bread, cheese, and condiments like soy sauce are also major sources. Reducing your intake of these foods is one of the most practical steps you can take to lower your stone risk.

The Calcium Paradox

This is the part that surprises most people: eating calcium-rich foods actually helps prevent calcium stones rather than cause them. The reason is straightforward. When you eat calcium alongside oxalate-containing foods, the calcium binds to oxalate in your digestive tract before it ever reaches your kidneys. Those calcium-oxalate complexes are too large to absorb, so they pass through your stool instead of ending up in your urine.

Low-calcium diets do the opposite. With less calcium in your gut to intercept oxalate, more oxalate gets absorbed into your bloodstream and filtered through your kidneys. Research from Mayo Clinic Proceedings confirms that diets with a good balance of calcium and oxalate reduce oxalate absorption, while low-calcium diets promote it. So skipping dairy or other calcium sources in an effort to prevent stones can actually backfire.

The practical takeaway: get your calcium from food (yogurt, milk, cheese, calcium-fortified orange juice) rather than from supplements, and try to include a calcium source at meals where you’re also eating higher-oxalate foods.

Vitamin C Supplements at High Doses

Your body converts excess vitamin C into oxalate, which means high-dose supplements can raise your stone risk. At doses of 1,000 milligrams per day, one study found that urinary oxalate increased from 31 to 50 milligrams over 24 hours, a significant jump. At 2,000 milligrams per day, the increase was even more pronounced. Among men, supplementing with 1,000 milligrams or more per day was associated with a higher risk of developing new kidney stones. Women didn’t show the same association in that research, but the oxalate increase occurs regardless of sex.

Vitamin C from whole foods like oranges and bell peppers doesn’t carry the same risk because the doses are far smaller. A large orange contains roughly 70 milligrams of vitamin C. The concern is specifically with supplements, particularly the high-dose formulations marketed for immune support.

Beverages That Help and Hurt

What you drink matters as much as what you eat. The single most effective dietary change for preventing every type of kidney stone is drinking more water. Aim for 8 to 12 cups a day, enough to produce about 2.5 liters of urine. When your urine is dilute, minerals are less likely to concentrate and crystallize.

Tea and coffee, despite containing some oxalate, appear to lower stone risk overall. The extra fluid they add more than offsets their oxalate content, and some studies suggest moderate consumption is actually protective. Keep caffeine intake under about 400 milligrams a day (roughly four to five cups of coffee). Moderate alcohol consumption is also associated with reduced stone risk, though that’s not a reason to start drinking if you don’t already.

Sugary drinks are a different story. Sodas, particularly colas, and other beverages sweetened with fructose have been linked to increased stone risk. Fructose metabolism raises uric acid production and can increase calcium and oxalate excretion in the urine. Swapping one daily soda for water is a small change with real impact.

Putting It All Together

The foods that cause kidney stones fall into a few clear categories: high-oxalate plant foods (spinach, nuts, rhubarb, wheat bran), high-sodium processed foods, and large amounts of animal protein, especially organ meats and fish. High-dose vitamin C supplements and sugary drinks add to the list. The type of stone you’ve had, or are at risk for, determines which of these categories matters most for you.

For most people, prevention doesn’t require a radical diet overhaul. It means drinking substantially more water, cutting back on sodium from packaged foods, eating calcium-rich foods at meals, moderating portions of meat and fish, and being cautious with high-oxalate foods if you’ve had a calcium oxalate stone before. These changes work together. A single spinach salad or salty meal isn’t going to create a stone on its own, but a pattern of high-sodium, high-oxalate, low-fluid eating over months and years will tilt the odds against you.