The rotten egg smell in your drain originates from either your drain, your water heater, sewer gas or the water itself. To determine the source of the odour, plug the drain and run your water for 30 seconds. If you smell nothing, then the drain is definitely the source. If the water smells sulphurous -- a very similar smell to rotten eggs -- inspect your hot water heater.
Leaking sewer gas may be the culprit for the bad odour in your drain. The gas can get trapped in drain pipes. Sewer gas is a combination of ammonia, methane, carbon dioxide, hydrogen sulphide and sulphur dioxide. This is dangerous, so make sure to ventilate your house. If you smell it in the winter, it's possible your sewer vent stack iced over. Another possibility is that your sewer trap opened up. To rule this out, call a plumber to check your sewer vents and traps.
Sulphates occur naturally in drinking water. If these sulphates become hydrogen sulphide gas, they produce a strong odour resembling rotten eggs. One of the ways this chemical reaction takes place is when sulphates in the water supply come into contact with a magnesium rod, commonly used in hot water heaters. The rod is meant to prevent corrosion but can be replaced with an aluminium rod, available at home improvement stores. To test this, turn the hot water on in multiple drains. If the odour is present only with hot water, this is your most likely culprit.
Bacterial growth in drain
You could have a clog in your drain that is growing bacteria. Clogs usually consist of hair, dirt and debris that grow mildew. A build-up of bacterial slime -- called biofilm -- can also cause the nasty smell as water rushes past it and dislodges some of the molecular particles. To remedy this problem, use a chemical drainer or a natural solution of half a cup of baking soda into the drain, followed by half a cup of white vinegar.
Bacterial growth in hot water tank
Sulphate-reducing bacteria in your water heater may create a chemical reaction as they come into contact with sulphates, resulting in a rotten egg smell. If you suspect the bacteria may originate in your hot water heater, increase the temperature to 71.1 degrees Celsius (160 F). Leave the temperature up for a few hours, then flush it out by running your hot water for 10 to 15 minutes.