All people smell when they don’t bathe often enough. Sweat doesn’t smell when it first reaches your skin. The odor comes only after bacteria or fungi on the skin’s surface break down the fat in sweat to form chemicals that smell.
Most sweat glands produce sweat that contains no fat, but the sweat glands around the breasts, genitals and armpits produce sweat that contains fat. Most people prevent body odor by washing these areas frequently to reduce the number of bacteria on the skin’s surface. The vast majority of people can prevent body odor by 1) bathing frequently; 2) changing underwear and socks daily, because underclothes retain skin debris that bacteria break down to cause odors; 3) using deodorants that contain low levels of bacteria-killing metals such as aluminum, zinc or zirconium; and 4) using powder under the armpits and groin to keep the skin dry, which prevents bacteria from growing. Bacteria grow rapidly on wet skin.
If you do all of these things and still have an odor, something is wrong. The most common cause of unusual body odor is a skin infection. An ammonia odor is caused by infection with Helicobacter, the bacteria that causes stomach ulcers, or by eating too much protein. Ask your doctor to draw a blood test for helicobacter. If it is positive, you can be cured with antibiotics. If it is negative, you may need to eat less meat, fish, chicken and dairy products. When you take in more protein than your body can use immediately, your body strips ammonia from protein to make you smell like ammonia. A fish odor is caused by taking choline supplements, by a hereditary condition called trimethylaminuria that requires avoiding fish and other dietary sources of choline, or by a vaginal infection caused by a bacteria called Gardnerella. People who have damaged livers can also develop body odor that smells like fish. Damage to the liver can destroy the chemical that breaks down choline.
Ruocco V, Florio M. Fish-odor syndrome: an olfactory diagnosis. International J of Dermatology 1995(Feb);34(2):92-3.