During all stages of life, a balanced diet is fundamental to the development and maintenance of healthy bones. The bones may lose density as a person ages and during menopause. A reduced bone density can lead to osteoporosis.

Eating foods that promote bone health and density may help prevent osteoporosis from developing. For those who already have osteoporosis, a doctor may suggest dietary and lifestyle adjustments as part of the treatment.

This article looks at which foods people with osteoporosis should avoid. It also explains which foods may be beneficial.

Osteoporosis is a bone disease that develops either when the bones lose mass and density or when there is a change in their quality or structure. When either of these changes happens, the bones become weaker, increasing the risk of fractures.

In the United States, the Centers for Disease Control and Prevention (CDC) estimate that 4.2% of males and 18.8% of females aged 50 years or older have osteoporosis of the femoral neck or lower back.

In people who menstruate, osteoporosis can develop around menopause due to declining estrogen levels. Older age is also a risk factor for all adults. Furthermore, certain medications, such as steroids, may increase the risk of developing the disease.

Some people refer to osteoporosis as a silent disease because the symptoms are often not apparent until a person has a fall or fracture. Doctors may treat osteoporosis with medications to slow bone loss, but they often also recommend changes to a person’s diet and lifestyle.

A nutritious, well-balanced diet is an integral part of the management of osteoporosis. Certain foods may negatively affect bone health.

Salty foods

The Bone Health & Osteoporosis Foundation (BHOF) notes that eating foods high in salt causes the body to lose calcium and can lead to bone loss. The organization advises people to look at nutrition labels and avoid foods that contain 20% or more of the Daily Value of salt.

The CDC advises that more than 40% of the sodium that people eat each day comes from only 10 types of food:

  • bread and rolls
  • pizza
  • sandwiches
  • cold cuts and cured meats
  • soups
  • burritos and tacos
  • savory snacks, such as:
    • chips
    • popcorn
    • pretzels
    • snack mixes
    • crackers
  • chicken
  • cheese
  • eggs and omelets

According to the Dietary Guidelines for Americans, people aged 14 years and over should consume less than 2,300 milligrams of sodium each day as part of a balanced diet.

People with osteoporosis may find it helpful to limit the foods in the list above and refrain from adding excess salt to their food.


Alcohol can have a detrimental effect on bone health.

The National Institute of Arthritis and Musculoskeletal and Skin Diseases (NIAMSD) explains that alcohol affects the body’s ability to absorb calcium and vitamin D. In addition, chronic heavy drinking can cause hormone imbalances that impair bone formation and breakdown.

Therefore, people with osteoporosis may wish to consider limiting their alcohol consumption.

Foods with added sugars

According to a 2018 review, the overconsumption of sugar can be detrimental to bone health. Too much sugar may cause a person to excrete calcium, magnesium, and potassium in their urine. Additionally, sugar may reduce calcium absorption by lowering vitamin D levels and impairing bone formation.

The Dietary Guidelines for Americans recommend that people limit added sugars to less than 10% of their daily calorie intake. Foods that are typically high in added sugars include:

  • sugar-sweetened drinks
  • desserts and sweet snacks
  • candy
  • breakfast bars and cereals
  • pastries and cakes
  • yogurts
  • sauces and dressings
  • processed foods

Foods with high oxalates and phytates

Oxalates and phytates are compounds in foods that may decrease the absorption of essential minerals, such as calcium.

Foods that contain oxalates include:

Foods that contain phytates include:

Additionally, the BHOF advises that 100% wheat bran appears to reduce the absorption of calcium in other foods that people eat alongside it.

For example, if someone adds milk to a breakfast cereal containing wheat bran, their body can only absorb some of the calcium from milk, not all of it. The BHOF notes that the wheat bran in bread is less concentrated and, therefore, less likely to have this effect.

However, it is important to note that many foods containing oxalates and phytates are part of a well-balanced diet and contain beneficial nutrients. For example, spinach contains high levels of vitamin K, which can support bone health.

Due to this, people should still include these foods in their diet, but they may wish to consume additional sources of calcium or take a calcium supplement after consulting a doctor. They can also try soaking beans before cooking them, as doing so can help reduce the phytate content.

The BHOF also advises that people taking calcium supplements should consider avoiding wheat bran for 2 or more hours before and after taking them.

The NIAMSD suggests that it is important for a person with osteoporosis to eat a nutritious, well-balanced diet that provides the appropriate number of calories for their age, height, and weight.

In addition, the organization recommends that people consume the following foods and nutrients to support bone health:

Fruits and vegetables

As part of a nutritious diet, people should include plenty of fruits and vegetables in their everyday meals.

According to the Dietary Guidelines for Americans, people should aim to eat two and a half cups of vegetables and two cups of fruit per day. The guidelines include the following vegetable subgroups with weekly amounts to consume:

Vegetable typeCups per week
dark green vegetables1.5
red and orange vegetables5.5
beans, peas, and lentils1.5
starchy vegetables5
other vegetables4

Foods with calcium

Foods that contain calcium include:

Foods with vitamin D

The body makes vitamin D when the skin becomes exposed to sunlight. Additionally, these foods contain vitamin D:

Avoiding excess salt, alcohol, and sugar may be beneficial for people with osteoporosis. Those with this condition should also be mindful when eating foods that contain oxalates and phytates.

Additionally, people should take care to consume plenty of foods with calcium and vitamin D. Eating plenty of vegetables and fruit and maintaining a moderate weight can support bone health.

A person who has osteoporosis should consider speaking with a healthcare professional for further advice.