Five foods and drinks that affect body odor

Woman suffering from body odor

The saying ‘you are what you eat’ especially rings true when it comes to body odor. 

Depending on what you eat or drink and your personal body chemistry, it could produce a rather unpleasant order. It’s totally normal and, in some cases, you may not even notice it.

Here’s what to watch out for:

Cruciferous Vegetables

Broccoli, cauliflower, cabbage and kale are just a few of the more popular cruciferous vegetables. These vegetables are very high in fiber, which doesn’t get digested by your body. When fiber travels to your colon, it reacts with bacteria to produce gas that we release. This is true of any high-fiber food. The difference with cruciferous vegetables is that they’re very high in sulfur-containing substances and these break down into hydrogen sulfide, which has a rotten egg kind of smell. 

This isn’t reason to avoid them because they’re so good for you. Start with small amounts and build up to see how your body handles it.


Eating asparagus can result in urine that smells like rotten cabbage due to sulfur compounds. The interesting thing is that not everyone produces the smelly urine and some people may produce it and not be able to smell it. This is known as anosmia. There’s no consensus on why some people produce the smelly urine and why some don’t or why some people can smell it and some don’t, but there are theories. One is that there is genetic variability in the enzymes involved that produce the sulfurous metabolites. As far as anosmia, the thought is there may by genetic variability in one’s olfactory genes. The good thing is there is no clinical problem if you do or you don’t have or smell the odorous urine. Asparagus is part of a healthy diet, so if you like, eat it — it’s good for you.

Garlic, Onions, Cumin and Curry

There are two main ways people may be able to tell that you’ve eaten garlic, onions, cumin and curry — your breath and your pores. When your body breaks down garlic, onions and herbs and spices like curry and cumin, sulfur-like compounds are produced. These compounds are pretty evident on your breath. They can also react with sweat on your skin to produce body odor.


Body odor after eating seafood is typically related to a metabolic disorder. People with trimethylaminuria develop a fishy odor after consuming seafood because they can’t break down the chemical trimethylamine that’s naturally found in seafood. The odor will appear within a few hours.

Trimethylaminuria isn’t a common disorder. It’s diagnosed with a urine test. People with the disorder may need to avoid seafood and other foods that contain precursors to trimethylamine, such as eggs, liver, legumes and milk from grass-fed cows.


There’s some evidence that suggests people who are heavy drinkers have less beneficial bacteria in their mouths compared to non-drinkers. This bacteria can contribute to bad breath and can also lead to gum disease, plaque and tooth decay. Also, when you drink, you tend to have a drier mouth, which can lead to bad breath.

Our bodies metabolize alcohol into acetate, which has a signature sweet smell. The more you drink, the more acetate your body is going to produce. This contributes to greater body odor. People can breathe out the odor and it also gets secreted into sweat.

The best way to minimize bad breath and body odor associated with drinking alcohol is to reduce the amount you drink and to hydrate by consuming lots of water.

Interested in learning how to change your diet for the better?

Learn How


Related websites

Subscribe. The latest from Ohio State Health & Discovery delivered right to your inbox.


Get articles and stories about health, wellness, medicine, science and education delivered right to your inbox from the experts at Ohio State.

Required fields

By clicking "Subscribe" you agree to our Terms of Use.
Learn more about how we use your information by reading our Privacy Policy.