Why do I crave chocolate on my period?

Chocolate cravings around your period are common: about half of American women who crave chocolate say it peaks around their period. The popular idea that it's about low magnesium isn't well supported. Research points more to comfort, mood, habit and culture, plus a luteal-phase rise in appetite. Enjoying some chocolate is fine. Cravings are a cue, not a failing.
What the research actually found
Psychologists have studied this question with surprising care. A few findings stand out:
- It's common. About half of American women report craving chocolate, and roughly half of those say the craving clusters around the start of their period.
- It's not mainly hormonal. If hormones drove it, cravings should drop sharply after menopause. A survey found only a small drop (about 13%), far less than predicted.
- Culture matters. American women were far more likely than Spanish women to link chocolate cravings to their period, which suggests learned habits play a big part.
- It's the experience, not a chemical. In a lab study, eating a chocolate bar satisfied cravings; cocoa capsules with chocolate's active compounds did nothing; white chocolate helped partly.
So the magnesium theory, that your body wants chocolate because it's low in magnesium, isn't well supported. Chocolate does contain some magnesium, but so do nuts and beans, and nobody craves lentils before their period.
Why cravings rise before your period anyway
| Factor | How it adds to cravings |
|---|---|
| Luteal-phase appetite | Many people eat a bit more after ovulation; energy use rises slightly |
| Mood | Feeling low, tired or irritable makes comfort foods more appealing |
| Serotonin | Sweet, starchy foods may briefly lift mood when serotonin signaling is lower |
| Poor sleep | Tiredness increases hunger and the pull of sugary foods |
| Habit and expectation | If you've always reached for chocolate then, the cue is strong |
Read more on period cravings and why you're hungrier before your period.
What helps, without guilt
- Have the chocolate. A few squares you actually enjoy beat a fight you lose later.
- Eat regular meals with protein and slow carbs, so you're not running on empty by 4pm.
- Plan for it: if you know cravings arrive in the days before your period, keep satisfying options around.
- Check the feeling underneath: sometimes a craving is really tiredness, stress or wanting comfort. A walk, a bath or an early night can help too.
- Notice the pattern: see whether cravings line up with low-mood days.

When you log cravings next to mood, you often find they arrive on your hardest PMS days. That makes them easier to understand and to plan for.
If eating feels out of control, you binge and then feel ashamed, or you restrict food heavily between periods, please talk to a doctor or an eating disorder support service. Also see a doctor if cravings come with extreme thirst, weight loss or tiredness, which can have other causes.
Frequently asked questions
Does craving chocolate mean I'm low in magnesium?
Probably not. Studies suggest chocolate cravings are mostly about taste, comfort and habit rather than a nutrient gap.
Is it bad to eat chocolate on my period?
No. Some chocolate is fine. Very sugary foods may leave some people feeling more up and down, so pair it with a meal if that's you.
Does dark chocolate help period cramps?
There's little evidence it eases cramps directly, but if it makes you feel better, enjoy it.
Why do I crave salty food too?
Salty cravings are also common before periods, possibly linked to appetite changes and mood. See what not to eat on your period.
Sources
- Hormes JM, Rozin P. Perimenstrual chocolate craving. What happens after menopause? Appetite (2009)
- Zellner DA et al. Chocolate craving and the menstrual cycle. Appetite (2004)
- Michener W, Rozin P. Pharmacological versus sensory factors in the satiation of chocolate craving. Physiol Behav (1994)
This page is for information only and isn鈥檛 medical advice. If something worries you, please talk to a doctor.
PMS test: do my symptoms follow my cycle?