Een gebrek aan lichaamsbeweging van jongs af aan kan een factor zijn. Bij het gebruik van spieren, wordt ook kracht gezet op de botten. Hierdoor blijven niet alleen de spieren maar ook de botten in goede conditie.
Roken is slecht voor de botten.
Hetzelfde geldt voor overmatig alcoholgebruik.
Voldoende inname van calcium (kalk) in de voeding is waarschijnlijk ook van belang. Calcium bevindt zich onder meer in melk en andere zuivelproducten. Als iemand daar te weinig van binnenkrijgt, vormen kalktabletten een alternatief.
Vitamine D is goed voor de opname van calcium vanuit de darmen naar het bloed. Deze vitamine is vooral aanwezig in vetrijke voeding. Vitamine D wordt ook aangemaakt in de huid onder invloed van zonlicht. Daarom komt osteoporose meer voor bij mensen met een donkere huid en bij mensen die nooit in de zon komen.
Verder kan erfelijke aanleg in het ontstaan van osteoporose meespelen.
Ondergewicht is ook een risicofactor omdat in vetweefsel oestrogeen wordt aangemaakt. Overgewicht is dus niet slecht voor de botten (maar wel voor de gewrichten).
Soms is osteoporose een complicatie van een andere ziekte zoals een hormoonziekte (bijvoorbeeld hyperthyreoïdie) of een darmziekte (zoals de ziekte van Crohn).
Ook oraal gebruik van corticosteroïden over langere tijd is een bekende oorzaak van osteoporose.