The Kidney Stone Diet: Nutrition to Prevent Calcium Oxalate Kidney Stones

*Please note that this post contains clearly identified affiliate links.  If you click on these link and choose to make a purchase, I may receive a commission (at no cost to you). As an Amazon Associate I earn from qualifying purchases.

Did you know that a healthy diet can directly reduce your risk for kidney stones? Nutrition is a critical piece of kidney stone prevention that is often overlooked. In fact, a study found that 75% of urology patients didn’t know how nutrition effects kidney stones!(1) Healthy eating for kidney stones can seen overwhelming. There is a ton of information online that is inaccurate and not based on quality science. This has led to conflicting information and confusion about what a healthy kidney stone diet actually is.

Keep reading to learn about what the evidenced-based kidney stone diet is and what you can do to prevent calcium oxalate kidney stones!

Prevalence of Kidney Stones

Kidney stones are surprisingly common, and have become more common in recent years.(2) The prevalence of kidney stones has more than tripled in the past 40 years. About 1 in 10 people in the United States will have a symptomatic kidney stone at some point in life. However, there are likely many more people who have had kidney stones without symptoms. Kidney stones are more common in men (10.9% compared to 9.4% in women). However, most of the increase in kidney stone prevalence can be attributed to higher numbers of women forming kidney stones.(2)

Pie chart showing that 77% of stones are calcium oxalate, 12% are calcium phosphate, 7% are uric acid, 2% are cystine and 2% are struvite

Calcium oxalate is by far the most common type of kidney stone. Around 80% of kidney stones are made of calcium & oxalate. Calcium phosphate stones are the second most common, comprising around 10% of kidney stones. Kidney stones can also be formed from uric acid, struvite and cystine. This article focuses on calcium oxalate kidney stones, as they are by far the most common and usually most diet-related. The other stone types do have some dietary considerations, but a healthy diet is different than the information covered in this article.

What Makes a Kidney Stone?


Ultimately, calcium oxalate kidney stones form from high concentrations of calcium and oxalate in urine. The more calcium and oxalate in, the higher the risk that these two molecules will bind and form a kidney stone. The amount of these two molecules in the urine, combined with your urine volume, determines your calcium oxalate urine supersaturation. Your calcium oxalate supersaturation should be included in the results of 24-hour urine tests.

Therefore, the kidney stone diet aims to reduce calcium and oxalate in the urine as well as increase your urine volume to reduce supersaturation.

Urine pH

Urine pH also plays a role in kidney stone formation. Urine that is too acidic (or, the pH is too low) increases the risk of calcium oxalate kidney stones. Calcium and oxalate are more likely to bind in acidic environments. So, the kidney stone diet aims to increase urine pH to reduce the risk that calcium and oxalate will bind.

High Risk Groups

The majority of calcium oxalate kidney stones are formed due to “idiopathic hypercalcuria”. Or, high calcium in the urine from unknown causes. There is likely a genetic component here, however, genetics likely does not explain the whole story. Unhealthy diet likely plays a large role in high calcium levels in urine for many people.(3)

In addition, some medical conditions put people at higher risk of kidney stones: (3)

  • Gout
  • Hyperparathyroidism
  • Renal Tubule Acidosis (RTA)
  • Cystinuria
  • Dent’s Disease
  • Primary Hyperoxaluria (PH1)
  • Sarcoidosis
  • Medullary Sponge Disease (MSK)
  • Eating Disorders (especially those who misuse laxatives or who induce vomiting)

Also, some groups of people form kidney stones more often:(3)(4)(5)

  • Males
  • Caucasians
  • Bariatric surgery patients
  • People who do not eat a healthy diet
  • People who are above their healthy body weight

Kidney Stone Diet Goals

The goals of the kidney stone diet really boil down to 4 distinct outcomes. Each of the kidney stone diet components works to get us to at least one of these goals.

  1. Increase urine volume (drink fluid)
  2. Increase urine pH to a healthy range (limit protein, eat lots of fruits & vegetables)
  3. Reduce urine calcium (limit salt, sugar & protein)
  4. Reduce urine oxalate (eat calcium, limit oxalate and protein)

A healthy kidney stone diet is different for every single person. A 24-hour urine test is critical to know what pieces of nutrition for calcium oxalate stones will matter for you!

The 7 Pillars of the Kidney Stone Diet

Here are the 7 most important components of eating for kidney stone prevention. I have created a character for us, who I have lovingly named “Mr. McStoney”, to help us understand each of these components.

1. Drink Lots of Fluid

Cartoon showing that drinking water reduces the concentration of calcium and oxalate in the urine, thereby reducing the risk of kidney stones.

In order to meet our kidney stone diet goal #1 of increasing urine volume, we need to drink more! Nearly all of the fluid you drink (or eat, from foods that contain a lot of water) will be made into urine. Some fluid is lost from things like breathing, feces and sweat.

The more urine you make, the less concentrated calcium and oxalate molecules will be, making it less likely a kidney stone with form.

The American Urological Association recommends drinking enough fluid to make at least 2 1/2 liters of urine per day.(6) For most people, this equates to drinking about 3 liters of fluid per day.

Your daily fluid goal may be different based on your body size, environment, gastrointestinal health or exercise schedule. Always ask your doctor or dietitian what fluid goal is best for you.

Mr. McStoney shows us how the more he drinks, the more urine he makes and the less concentrated calcium and oxalate molecules become. Thus, he is less likely to make a kidney stone.

What Should You Drink?

Of course, water is by far the best beverage choice. A majority of your fluid intake should be water. For many people, getting in 3 liters of water can be a challenge. Making water more “exciting” can help quite a bit. Infusing water with fruits or herbs can add a very lovely flavor without many calories or sugar. I also love unsweetened sparking water. La Croix*, Spindrift* and Bubly* are my favorite brands.

Some people find that using a “smart” water bottle helps them meet their fluid goal. The HidrateSpark* is a water bottle that actually reminds you to drink more by lighting up and tracks how much water you drink by connecting to a phone app.

HidrateSpark 3 -- The World's Smartest Water Bottle

Coffee and tea are okay! Be careful of how much sugar you add with table sugar, honey or flavored syrups (looking at you frappuccinos!). Yes, black tea and coffee can contain a fair amount of oxalate, but research has actually found a reduced risk of kidney stones in people who drink these beverages.(7)(8) That being said, too much caffeine can contribute to high blood pressure. And, common sense tells us the oxalate can add up if you are sipping on tea or coffee all day. Try to limit coffee and/or tea to 1-2, 8 fl oz cups per day.

It is important to avoid drinks with too much sugar. Large amounts of added sugar can increase the risk of kidney stones. I do not recommend soda, fruit juice (yes, even 100% juice), sweet tea, punch or other sweetened drinks for this reason.

2. Limit Sodium

Cartoon showing that eating salty foods like pizza, fries, ketchup, Chinese food and bacon causes more urine calcium and a higher risk of kidney stones.

Eating too much sodium (or salt) will increase how much calcium in is your urine. (3)(9) As Mr. McStoney helps us understand, eating lots of salty foods will increase urine calcium and the risk for kidney stones. The extra calcium in the urine that comes along with a high salt diet unfortunately comes from our bones, putting them at risk as well. In addition, a high sodium diet is associated with increased blood pressure, which increases the risk of all sorts of health problems like kidney disease, heart disease, stroke and dementia.

Aim to limit sodium to 1,500-2,300mg per day. Keeping sodium to this amount is no easy task! One teaspoon salt has 2,300mg of sodium. Most Americans are eating nearly double the amount of sodium that is recommended.(10) Bread, cured meats, pizza, poultry, soups, sandwiches, cheese, mixed meat and pasta dishes and savory snacks contribute a majority of salt to the American diet.(10)

Processed Foods

Take note that a majority (about 80%) of the salt we eat is already in food. So, simply avoiding the salt shaker will not reduce sodium to our goal for most people. The key to a low sodium diet is to choose foods that are low in sodium in the first place. For the most part, this means cooking with fresh, non-processed ingredients. Restaurants, commercially prepared and to-go foods are common salty culprits as well.

3. Eat a Moderate Amount of Protein

Cartoon showing that eating lots of meat will increase urine calcium and lower urine pH, increasing the risk of kidney stones.  Protein in a balanced diet will help promote a healthy urine pH and still provide enough protein for muscle health.

A high protein diet will increase the urine calcium.(3)(11) In addition, high protein diets produce acid during metabolism.(12) This acid is eventually excreted in our urine, which lowers urine pH and increases the risk of kidney stones.(3) Similar to sodium, the extra calcium in urine from a high protein diet is taken from bone, putting them at risk.

For most people, a healthy amount of protein is: 0.8 grams protein / kilogram body weight.(13) For example, a person who weighs 175 pounds (or 79.5 kilograms) should eat about 64 grams of protein per day (79.5kg x 0.8g/kg = 63.4g). The right amount of protein for you might be different based on your body size, age, sex or nutrition status. Always ask your dietitian what is best for you.

Similar to sodium, most Americans eat much more protein than we need.(14) The 0.8 grams per kilogram recommendation for people with kidney stones is the same amount recommended for healthy adults.(10) Even for people who are vegetarian or vegan, it is fairly easy to eat enough protein.

Unsurprisingly, most of the protein in our diet comes from meat, poultry, fish and seafood. A 3 ounce portion of animal flesh has about 25 grams of protein in it. This is 40% of the protein goal for the entire day in our example of a 175 pound person. Pair that with protein from meat eaten at other meals and the small amount of protein found in nearly all foods. You can easily see how protein adds up quickly!

Can I Eat Meat?

It is absolutely okay to have meat, but it is important to eat it in healthy portion sizes (3-6 ounces for most people). For some people, it is helpful to limit meat to only one meal per day and choose other proteins such as eggs, milk, yogurt, low sodium cheeses or whole grains at other meals. As Mr. McStoney shows us, eating protein in a healthy, balanced diet will help us keep protein portions small, and we can still feel full by filling up with all of the other, healthy food groups.

4. Eat Enough Calcium

Cartoon showing that eating high oxalate foods by themselves results in more oxalate getting absorbed and a higher risk of kidney stones.  When paired with dairy, oxalate is excreted in stool and there is a reduced risk of kidney stones

Calcium is a critically important piece of the kidney stone diet. Previously, doctors told people with kidney stones to reduce calcium and dairy. This seemed to make sense since one of our goals is to reduce urine calcium.

However, we now know about the importance of calcium in stopping oxalate absorption in the intestines. Similar to how oxalate loves to bind with calcium in our kidneys and make kidney stones, they love to bind in our intestines as well. This is great news for us! If calcium binds with oxalate before it is absorbed, the oxalate is excreted in our feces, instead of in our urine. Studies have shown nearly a 50% reduction in kidney stones by adding dairy to the diet along with the low sodium and moderate protein considerations.(15)

In addition, a diet high in calcium is critical for bone health. People who have a history of calcium kidney stones are more likely to experience bone fractures and weak bones. This makes sense, as all of that extra calcium in your urine comes primarily from breaking down bone.(16)

Mr. McStoney shows us how pairing food with dairy will stop oxalate from being absorbed and reduce the risk of kidney stones. In addition, eating enough calcium throughout the day will help protect his bones.

I’ve found this is one of the aspects of a the kidney stone diet that people struggle with the most. Understandably, people feel like drinking milk all day and eating yogurt gets rather monotonous. I created an eCookbook that aims to incorporate dairy into your meals.

How Much Calcium?

People with kidney stones should aim to eat between 1,000-1,200 mg of calcium per day. This is the same amount of calcium recommended for healthy people.(10) One serving of dairy (1 cup of milk, 3/4 cup of yogurt or 1 oz of cheese) provides around 250mg of calcium. Try to eat 3 servings of dairy per day. The dairy, in addition to small amounts of calcium from other food sources, is a good way to make sure you meet your daily calcium goal.

Food Sources of Calcium

Whenever possible, I recommend cow’s milk dairy to meet your calcium goal rather than plant sources of calcium. Good sources include:

  • Milk
  • Yogurt
  • Kefir
  • Low Sodium Cheeses (mozzarella, Swiss, ricotta, goat)

First, dairy has much more calcium in it compared to plant sources. Consider, 293mg calcium in 1 cup of milk, compared to 38mg of calcium in 1 cup of raw kale. Second, dairy has virtually zero oxalate in it, allowing all of the calcium to stop absorption of oxalate from other foods. Whereas plant sources of calcium often also contain oxalate, so the oxalate in these sources does not bind extra oxalate as well.

Calcium Timing

Timing matters! Because one of our primary reasons for eating calcium is to stop oxalate absorption, we need to eat calcium when we eat oxalate. Bottom line: make sure to eat dairy with meals. Ideally, one serving of dairy with each of your 3 meals per day. Here is an example of what your meals might look like.

Chart demonstrating healthy meal options for the kidney stone diet.  Breakfast: milk, oatmeal & blueberries.  Lunch: whole grain bread, salad with low sodium dressing and a yogurt parfait.  Dinner: salmon, wild rice, asparagus and a yogurt dill sauce

If you eat high calcium foods between meals, the calcium will certainly benefit your bones! However, it will not do a very good job of binding oxalate in the healthy fruits, vegetables and whole grains that should be a part of a healthy kidney stone diet.

Calcium Supplements & Milk Substitutes

Calcium supplements are also not ideal. Some research has shown that calcium supplements increase urine calcium more than naturally occurring calcium.(15) Milk substitutes like soy, almond, oat or coconut milk are not naturally high in calcium. Instead, these milk substitutes are supplemented with calcium to mimic cow’s milk. Therefore, they are more like taking a calcium supplement than drinking milk. I have concern for higher urine calcium as a result. However, we do need more research in this area before official conclusions can be made.

If you cannot tolerate cow’s milk or avoid it for cultural reasons, oat or rice milk are the best milk substitutes. I do recommend avoiding almond and soy milk due to concern for high oxalate. Lactaid* is also a good option for people who have a hard time tolerating cow’s milk.

Remember that calcium from supplements or milk substitutes is definitely better than no calcium at all! Work with your dietitian or doctor to figure out a plan that works best for you.

Read more about the best calcium sources for kidney stones.

5. Keep Added Sugar to a Minimum

Cartoon showing that eating lots of sweets causes excess insulin production, which results in more urine calcium and higher risk of kidney stones.

Too much sugar in your diet will increase urine calcium.(3) Therefore, sugar will increase the risk of kidney stones. In addition, high sugar intake is associated with an increased risk of heart disease and diabetes.(16)(17)

The American Heart Association recommends limiting added sugar to no more than 100 calories per day from added sugar for women. And, no more than 150 calories per day for men. This equates to no more than about 6 teaspoons (25 grams) per day for women and 9 teaspoons (38 grams) for men.

Of course, there is a lot of added sugar in desserts like cookies, cake and ice cream. Sugar-sweetened beverages are a big contributor as well. I recommend avoiding all drinks with sugar in them including regular soda, sweet tea, lemonade, punch and all juice. A single drink of any of these can easily put you over your daily added sugar goal.

Sugar sneaks into our diet via some surprising foods. You’ll find added sugar in many condiments like commercial spaghetti sauce, salad dressing or ketchup. You can also find sugar in some bread, crackers and other baked goods. Many “low sodium” products actually have sugar added to them to help boost flavor.


Note that the recommendation is for sugar added to food, and not necessarily sugar that naturally occurs in food. Fruit often comes up in the sugar conversation. Fruit is (and absolutely should be!) a part of a healthy kidney stone diet. There certainly is sugar in fruit, however the amount is far below what you would find in sweet drinks or desserts. Also, fruit provides many healthy things like fiber and antioxidants. Importantly, fruit also is a great source of potassium. Diets high in potassium can actually reduce the risk of kidney stones, likely by increasing the pH of the urine.(o)

Bottom Line

Make sure to check the nutrition facts label for added sugar, as well as sodium. Try to find products with as little added sugar as possible. And, save sweet desserts for special occasions. Swap out ice cream after dinner for a lower sugar frozen yogurt or fruit.

6. Reduce Dietary Oxalate

Oxalate is perhaps the most tricky part of the kidney stone diet. Firstly, oxalate information found online is often conflicting, which results in frustration for people trying to follow a low oxalate diet. The oxalate food list compiled at Harvard is considered the most accurate source. I have used this information to create an oxalate list that uses standardized portions.

Foods highest in oxalate:

  • Spinach (755mg per ½ cup, cooked)
  • Almonds (122mg per ¼ cup) – not all nuts are high in oxalate!
  • Bran (46mg per 1 cup)
  • Rhubarb (31mg per ½ cup)
  • Raspberries (48mg per 1 cup)
  • Beets (76mg per ½ cup)
  • Potato, w/ skin (97mg per potato)
  • Navy beans (76mg per ½ cup, cooked)
Raw spinach in a colander
Spinach is very high in oxalate. Only 1/2 cup of cooked spinach contains 755mg of oxalate.

Secondly, oxalate really is not the most important part of the kidney stone diet for most people. Research shows that a high oxalate diet is not associated with increased risk of kidney stones in the general population.(20) And, the amount of oxalate you eat does not necessarily translate to oxalate in your urine.(21)(22) This is probably because intestinal oxalate absorption and oxalate production in the liver is different from person to person.(23)(24) Focusing on increasing calcium is much more important than strictly avoiding high oxalate foods.

However, it makes sense to cut back how much oxalate you eat if you do have too much oxalate in your urine. Your doctor can order a 24-hour urine test to figure this out. How strict you need to be with oxalate restriction really depends on how much urine oxalate you have. For most people I work with, avoiding the very high oxalate foods above in addition to increasing dairy to 3 servings per day, results in healthy urine oxalate levels. However, some people do need to be more strict with the oxalate restriction. It is important to work closely with a dietitian who knows your lab values to figure out what is best for you.

Unnecessarily restricting oxalate will likely result in avoiding many otherwise very healthy foods. Most notably, whole grains are often eliminated on a low oxalate diet. Whole grains are the primary source of fiber in the American diet and cutting them out makes it very difficult to eat enough fiber. Low fiber diets are associated with an increased risk of diabetes, obesity, heart disease, hypertension, stroke, digestive health and some cancers.(9) What we eat needs to address all aspects of health. Read more about oxalate, including low oxalate snack options!

Bottom Line

Use your 24-hour urine results to determine if you need to avoid oxalate. I do recommend all people with kidney stones avoid spinach and almonds (including almond flour, butter and milk) due to the dramatically high oxalate content. Work with your dietitian to figure out what other oxalate foods are right for you.

7. Eat Lots of Fruits & Vegetables

Cartoon showing that consuming at least 5 servings of fruits and vegetables will reduce risk of calcium oxalate kidney stones by increasing urine pH.  Fruits and vegetables will also reduce the risk of most chronic health conditions such as heart disease, diabetes & cancer.

The final pillar of a healthy kidney stone diet is to eat lots of fruits and vegetables. How many? Aim for at least 5 servings per day.

Obviously, fruits and vegetables are good for us for many reasons. Eating a lot of fruits and vegetables is associated with reduced risk of hypertension, heart disease, stroke, cancer and gastrointestinal conditions.(25) For kidney stones specifically, they help make our urine less acidic. Fruits and vegetables produce alkali (or base), which helps balance acid produced from protein in our diet. Calcium oxalate kidney stones are more likely to form in acidic urine.(3)

Tips for 5 Servings of Fruits & Vegetables

  • Think of every meal and snack as an opportunity to put healthy food in your body. Every meal should include at least 1 fruit or vegetable.
  • Maximize your snacks. Fruit is the perfect snack as it is usually portable and pre-portioned! Veggies and hummus is another excellent option.
  • Focus on making 1/2 of your plate fruits and vegetables.
  • Experiment with new produce! Try a vegetable you haven’t had before. Ugli fruit anyone?
  • Try preparing vegetables differently. Plain boiled broccoli isn’t very exciting. Roasting vegetables, adding tasty spices or making low sodium sauces can really elevate your usual side of plain green beans. Brussels sprouts used to have a bad reputation, but are found all over restaurant menus now!

Example Kidney Stone Diet Meals

Whew! We made it to the end. Putting all the pieces of a healthy kidney stone diet can be overwhelming. But, I promise that once you get in the swing of it, a healthy kidney stone diet is really just a healthy diet! In fact, the Dietary Guidelines for Americans aligns with the kidney stone diet perfectly! The only difference is the high fluid and low oxalate pieces of the kidney stone diet.

Check out my kidney stone eCookbook!

Here are some meal ideas to get you started:

Happy Eating!


For more support for kidney stones from The Kidney Dietitian, check out my Facebook group!

59 thoughts on “The Kidney Stone Diet: Nutrition to Prevent Calcium Oxalate Kidney Stones”

  1. hi Melanie
    I need HELP! I have severe osteoporosis in the spine, but I am very active. I thought that calcium BINDS with oxylates and these leech out more calcium from the body. I am vegan, and >’ing calcium can be tricky.Does an endocrinologist order labs for oxalate levels? I need a savvy RD who specializes in osteoporosis and IBS. The Fodmap prog has greatly helped, and I hope to start Fodzyme. EVERYTHING I love is high in oxalates! One source states collard grns, eggplant, and endive is L in oxalates, one chart states they are H! I ONLY have until Aug b/4 meds for the OP will begin, which is NOT what I want. TU so much Rivka

  2. Hello, I would like to ask you, do oxalate-foods prevent a significant amount of calcium absorption from dairy, when consuming them at the same time? (for postmenopausal women with osteoporosis).
    Thank you!

    1. Melanie Betz MS, RD, CSR, FAND

      I’m getting this question more and more lately! In short, no. If you have osteoporosis or are concerned about bone health for ANY reason, there is NO reason to limit oxalate intake. Oxalate would likely reduce the gastrointestinal availability of calcium. BUT, we only absorb about 30% of calcium from our food anyway. And, our bodies are SUPER good at adjusting how much calcium we absorb from our food based on how much we need. Plus, there is not a shred of evidence that a low oxalate diet would benefit people with osteoporosis.

  3. Patricia Homant

    I was just told that I need to go on a low oxilate diet, I am also diabetic. I am having a difficult time combining these two issues. Nuts and small amounts of dark chocolate have been my only go to for snacking when I am having a sugar or salt craving. Peanut butter too! Most fruits and a lot of veggies raise my glucose levels too. Help please! I need to start this new diet in a couple of days and follow it for a month before my next 24 hour urine catch. Thank you for all of you help and research. Tricia

    1. Betz MS, RD, CSR, FAND

      Hi Tricia! Thank you so much for your comment! My first question is 1) do you REALLY need to be on a low oxalate diet. I find that many times, these diets are recommended without proper investigation into the CAUSE of kidney stones (even for oxalate stones, high urine oxalate is NOT always the cause). Only a 24 hour urine test will give you your answer.

      Even if you do need a low oxalate diet – don’t panic. NOBODY should be on a super strict low oxalate diet. For most, it is much more important to focus on getting in enough calcium to lower urine oxalate levels, rather than stress about the oxalate content of everything you eat. Eating PLENTY of fruits and veggies is important for BOTH diabetes and kidney stone prevention (especially those veggies for diabetes!). I promise this isn’t impossible.

      If you want more help directly from me, I’d check out Kidney Stone Nutrition School. This walks you through everything you need to know to prevent stones with food!

  4. i have high cholesterol. so taking calcium from dairy products will make it worse. so what is the best plan for me to increase calcium intake? maybe oat milk? please help…

    1. Betz MS, RD, CSR, FAND

      Dairy actually isn’t associated with high cholesterol. If you are concerned, just choose low-fat or fat-free dairy products!

  5. I struggle with the calcium component. I am dairy intolerant and have to use non-dairy subs for calcium. It’s not ideal but it’s the only answer since calcium supplements cause stones. And some of the same greens with lots of calcium also have oxalates. I also try to drink a lot of Gerolsteiner brand mineral water. It’s the highest in natural minerals like calcium and potassium and also bicarbonate which is supposed to be good too. My nephrologist recommended this water since I don’t tolerate dairy.

  6. Prof Gwen Griffith-Dickson

    Does soaking nuts overnight reduce any of the oxalate? Is oxalate water-soluble?
    Thanks for your helpful work!

    1. Melanie Betz MS, RD, CSR, CSG

      It would – boiling would reduce oxalate even more. Oxalate is water soluble. However, I don’t usually recommend this strategy because this will also reduce the content of ALL water soluble nutrients in that food.

  7. Thanks very much for your work. Can you explain why cooking can lower oxalate in some things like almonds, but boiling water does not reduce the high oxalate in a cup of tea?

    1. Melanie Betz MS, RD, CSR, CSG

      When you boil something like potatoes, you pour off the water, which is where the oxalate is! You drink the tea, where the oxalate is going from the tea leaves themselves. Hope that makes sense!

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top