Before you call in the cavalry, try a super simple trick. If the smell only comes from your hot water, your water heater might be the problem.
Run just the cold water for a minute. If it smells fresh and clean, you’ve found your suspect. It’s like your water heater is hosting a bacteria pool party that nobody invited.
You can crash that party by turning the heater up to 160°F (71°C) for a few hours. This kills the sulfur-loving bacteria, but be careful—it can also scald you, so read your manual first!