Q: Is it appropriate to tell your co-worker that he emits a bad odour?
If I were emitting a strong body odour, which caused people to avoid me or talk about me, I would want to know. We are typically less aware of ourselves, including how people view us. Its hard getting an honest opinion when I want to know if people think I’m a slob, arrogant, narcissist, etc. So think of yourself as doing a service to this person.
First of all, your co worker is unlikely able to smell themselves, so they are unlikely to know that they smell. Alternatively in some countries and cultures body odour is not an offensive smell and the use of deodorant is not popular.
You need to approach your co-worker in private. What you tell them may be a surprise to them and may offend them. You are the messenger here, and in medieval times the messenger often gets shot.
Position yourself as the messenger. “I just wanted to give you a heads up, some people are talking about your smell”. Avoid being the accuser. Offer suggestions and your personal experience – “personally I use xyz deodorant, I found abc didn’t work well, maybe you can try different deodorant”. If you are asked directly for your opinion on their smell, be honest but tactful. Avoid “you smell like dog poo”. A subtler “sometimes you don’t smell like fresh roses” works better.