Skip to main content
Kidney Stones

What Foods Cause Kidney Stones? Foods to Avoid (and Some That Might Help)

Jill L. Jaimes, MDKatie E. Golden, MD
Written by Jill L. Jaimes, MD | Reviewed by Katie E. Golden, MD
Updated on August 1, 2025
Reviewed by Alexandra Schwarz, MD | May 28, 2024

Key takeaways:

  • Kidney stones are painful. And once you get one, your risk of getting another one is higher. But there are dietary changes that can help prevent kidney stones. 

  • Limiting certain substances in your diet can help you avoid another kidney stone. 

  • Eating other foods and supplements may help reduce your chances of getting a kidney stone. 

Reviewed by Alexandra Schwarz, MD | May 28, 2024

If you’ve ever had a kidney stone, you know they can be pretty painful. And 1 in 2 people who have a kidney stone will have another one within 5 years. The good news is that small changes to your diet can help you lower your risk of getting kidney stones. 

Certain minerals can collect in your kidneys as they filter your blood. And this clump can form into a kidney stone. And since most of these minerals in your body come from the foods and drinks you consume, your diet can help play a role in preventing them. 

What are the different types of kidney stones?

There are several different types of kidney stones. Each type is affected by your diet in different ways. These include:

  • Calcium stones: These are the most common type of kidney stones. And there are two types: calcium oxalate (more common) and calcium phosphate. 

  • Uric acid stones: This type is more likely to form when your urine is acidic.

  • Cystine stones: These are much less common and happen with a genetic disorder called cystinuria.

  • Struvite stones: This form can appear in people who have frequent urinary tract infections (UTIs).

Foods that can cause kidney stones

Certain foods are more likely to cause kidney stones than others. Limiting the following substances in foods is helpful for any type of stone but more so with calcium stones.

Sodium

Salt is actually a compound made up of sodium and chloride. And the sodium component can play a big role in kidney health. To reduce how much sodium you consume, you need to lower your salt intake. The following foods typically have high amounts of salt: 

  • Canned foods like soup, beans, or vegetables 

  • Processed foods like pizza, crackers, or macaroni and cheese

  • Cured foods like hams or pepperoni

  • Prepared foods and restaurant meals 

Animal protein

Protein helps keep your body working at its best. But it’s best to stick to the daily recommended amount, which is about 1 g of protein per kilogram of body weight per day. So as an example, a person who weighs 200 lbs would eat about 90 g of protein per day. 

Your risk of stones may increase when you eat more than the recommended amount. This is especially true for animal protein, which includes: 

  • Beef

  • Pork

  • Poultry

  • Eggs

  • Seafood and fish 

GoodRx icon
  • High-oxalate foods: Foods that are high in oxalate are known to contribute to kidney stones. But it doesn’t mean you should avoid them entirely.

  • Coffee and kidney health: Research suggests that coffee can lower your risk of kidney stones. But is it always good for your kidneys?

  • Preventing kidney stones: Changes to your diet is not the only way to prevent kidney stones. Learn more about other lifestyle changes that can help.

Oxalate

Oxalate is a compound that’s naturally found in many different nutritious foods. But high amounts of oxalate in your urine can raise your chances of getting a stone. While all fruits and vegetables contain oxalate, some have higher amounts: 

  • Kale

  • Spinach

  • Collard greens

  • Rhubarb

  • Almonds

  • Rice bran and buckwheat

  • Potatoes

  • Beets 

It’s still important to eat plenty of fruits and vegetables, as they can help your urine be less acidic. This can help lower your chances of getting a stone. But it may help to limit the ones that have very high concentrations of oxalate if you tend to eat them often.

Kidney Stones medicationsCompare prices and information on the most popular Kidney Stones medications.
  • Urocit-K
    Potassium Citrate ER
    $19.57Lowest price
  • Cytra-2
    Sodium Citrate/Citric Acid
    $10.64Lowest price
  • K-Phos Neutral
    Phospha 250 Neutral
    $22.28Lowest price

Calcium

You may think that avoiding calcium can help reduce your risk of calcium stones. But calcium-rich foods are OK — and actually help your urine stay balanced. In fact, either too little or too much calcium can increase your risk of stones. 

If you eat too much calcium, your body gets rid of the extra in your urine. Higher calcium in your urine makes it more likely for a calcium stone to form. But if you get too little calcium in your diet, the body is unable to get rid of oxalate as well. This can also increase your chances of an oxalate stone. 

Try to keep your calcium intake around the recommended daily allowance of 1,000 mg each day. For reference, the following servings will provide about a quarter of your daily calcium:

  • Glass of milk (8 oz)

  • Mozzarella cheese stick

  • Cup of yogurt (8 oz)

Vitamin C

When levels of vitamin C are higher in your body, your urine tends to have higher amounts of oxalate. This makes it easier for a kidney stone to form. Interestingly, several studies have shown that diets high in vitamin C make it more likely for stones to form in men but not women. 

Foods that are high in vitamin C include:

  • Red peppers

  • Guavas

  • Tomatoes

  • Broccoli

  • Strawberries

  • Citrus fruits

  • Kiwi

  • Papaya

Soda

Sweetened carbonated beverages — like soda — are high in fructose. Fructose causes your body to get rid of more calcium, oxalate, and uric acid into your urine. And all three of these substances can lead to kidney stones. 

What foods can help reduce your risk of kidney stones?

More research is needed to know which foods help prevent kidney stones. But here are some reportedly helpful foods, food groups, and diet:

  • Vegetarian diet: One recent study showed that a plant-based diet could lower your chances of a stone. 

  • Foods high in potassium: Potassium helps to bind up substances that can form stones. Avocados, potatoes, beans, and lentils are among foods that are high in potassium

  • Foods high in magnesium: Like potassium, magnesium helps to tie up substances that can form stones. Nuts, beans, and leafy green vegetables are all foods high in magnesium

  • Vitamin B6: This vitamin might reduce oxalate in urine and lower the risk of stone formation. Early data suggests that large doses of B6 in women lowered their chance of getting a kidney stone. (But note that a study in 2019 didn’t find it helpful.)

  • Coffee and tea: Some research shows that coffee and tea helped reduce chances of a kidney stone, possibly because caffeine increases urine production. 

  • Orange juice: Orange juice has a lot of potassium citrate. This increases the amount of citrate in your urine, which makes it less likely for stones to form. 

And of course, one of the best things you can do to prevent kidney stones is drink plenty of water.

Frequently asked questions

High amounts of vitamin D can lead to abnormally high calcium levels in the blood — a condition called hypercalcemia. Hypercalcemia can lead to kidney stones, among other health problems. Although kidney stones caused by high calcium levels are rare.

Most kidney stones don’t dissolve. They need to pass through the urinary system to get out of the body. But one type of kidney stone — uric acid stones — can sometimes be dissolved with the help of medication. These are medications that increase the pH and lower the amount of uric acid in the urine. In these cases, drinking a lot of water can also help the medication dissolve the kidney stone faster.

There are no specific habits that cause kidney stones. But diets high in salt and animal products can increase your risk. So can low fluid intake and dehydration. So making a habit of drinking water throughout the day and incorporating more plant-based foods into your diet can help.

Stress doesn’t directly cause stones. But daily, chronic stress can lead to conditions that impact your kidney health. So stress may indirectly cause kidney stones if it leads to:

  • Dehydration

  • Increased salt intake

  • Weight gain

  • High blood sugar

The bottom line

There isn’t a magic pill — or food — that ensures you won’t get a kidney stone. But certain changes to your diet can help lower your risk. You don’t need to eliminate your favorite foods, but be mindful of foods with certain ingredients — like salt and animal protein. And try to eat them in moderation. Staying well hydrated and eating plenty of vegetables and fruit can also be a great way to prevent more kidney stones in the future. 

why trust our exports reliability shield

Why trust our experts?

Jill L. Jaimes, MD, is a board-certified pediatric emergency medicine physician with over 20 years of clinical experience. She received her medical degree from Baylor College of Medicine and completed her residency and fellowship training at Texas Children’s Hospital.
Katie E. Golden, MD, is a board-certified emergency medicine physician and a medical editor at GoodRx.

References

GoodRx Health has strict sourcing policies and relies on primary sources such as medical organizations, governmental agencies, academic institutions, and peer-reviewed scientific journals. Learn more about how we ensure our content is accurate, thorough, and unbiased by reading our editorial guidelines.

Was this page helpful?

Latest articles