Most Likely Causes (Ranked)

Water heaters have a magnesium anode rod that prevents tank corrosion. Sulfate-reducing bacteria in the water react with the magnesium and dissolved sulfates to produce hydrogen sulfide gas — the rotten egg smell.

Water heaters set below 120°F allow sulfate-reducing bacteria to thrive. These bacteria produce hydrogen sulfide as a metabolic byproduct.

Sediment at the bottom of the tank creates an anaerobic environment where bacteria thrive, producing more hydrogen sulfide.
How to Fix It
Flush the Tank and Raise Temperature
$0Try this first.
- 1Raise water heater to 140°F for 8 hours to kill bacteria. CAUTION: set back to 120°F after to prevent scalding.
- 2Flush the tank: attach a hose to the drain valve, open it, let water run until clear.
- 3Run all hot water faucets until the smell clears.
- 4This may resolve the issue temporarily — if it returns, address the anode.
Replace the Anode Rod
$20-50 DIY / $150-300 professionalPermanent fix for most cases.
- 1Replace the magnesium anode with an aluminum/zinc alloy anode ($20-40). This stops the chemical reaction that produces hydrogen sulfide.
- 2Alternatively, install a powered (impressed current) anode ($80-150) that eliminates the reaction entirely.
- 3Located at the top of the tank — requires a 1-1/16" socket. DIY difficulty: moderate.
- 4Professional plumber: $150-300 including parts.
Chlorinate the Tank
$5-10For severe bacterial contamination.
- 1Turn off power/gas to the water heater.
- 2Pour 1-2 pints of 3% hydrogen peroxide into the tank through the anode port.
- 3Let sit for 2 hours, then flush thoroughly.
- 4This kills existing bacteria. Combine with anode replacement for lasting results.
When to Call a Professional
Both hot AND cold water smell — problem is in the water supply, not the heater. Test for hydrogen sulfide.
water heater making loud popping or rumbling — heavy sediment buildup. May need professional flushing.
Water is discolored or rusty — tank may be corroding. Consider replacement if the tank is old (10+ years).
How to Prevent It
Flush your water heater annually.
Keep temperature at 120°F minimum.
Replace anode rod every 3-5 years.
If on well water, test for sulfate and bacteria annually.
The Anode Rod: Why It Matters
Every tank water heater has a sacrificial anode rod that corrodes instead of the tank. Without it, the tank rusts and fails. Standard rods are magnesium, which unfortunately reacts with certain water chemistries to produce hydrogen sulfide.
Aluminum/zinc alloy rods don't cause this reaction and still protect the tank. Powered anodes use an electrical current instead of sacrificial metal — no reaction at all. Either option solves the smell permanently.
Frequently Asked Questions
The magnesium anode rod in your water heater is reacting with sulfate-reducing bacteria to produce hydrogen sulfide gas. Replace the anode with aluminum/zinc or flush/chlorinate the tank.
Hydrogen sulfide at typical household levels isn't harmful to drink but is very unpleasant. At very high concentrations it can cause nausea. The smell is the main issue — fix it for quality of life.
DIY anode replacement: $20-50. Professional: $150-300. Tank flush is free (DIY). Most cases are fixable for under $50 doing it yourself.
Annually. This removes sediment that harbors bacteria and reduces efficiency. A simple drain-and-flush takes 30 minutes and extends the life of the heater.
