Inside every water heater is a sacrificial metal rod called the anode rod. It’s there to prevent rust, but it can also feed the bacteria that make the smell. If your water is high in sulfur, the rod reacts and creates that rotten egg odor.
You can replace the standard aluminum or magnesium anode rod with one made of zinc or a zinc-aluminum alloy. Zinc naturally suppresses bacterial growth. It’s a $30 fix that takes about 20 minutes with a wrench. Just unscrew the old rod from the top of the heater, slide in the new one, and breathe easy.
How to Get Rid of Sulphur Smell in Toilet | 10 Easy Methods
(Side note: if you rent, call your landlord. Don’t go DIY on someone else’s property unless you enjoy awkward conversations.)