The cost to replace a water heater ranges from $810 to $1,656, with the national average coming in at $1,217. Permit fees and carpentry work are additional expenses that may raise the overall cost of a water heater replacement by $50 to $1,500 or more. The size, location within the home, type of ventilation system, materials, and water heater type will all have an impact on the cost. Larger homes might require multiple units to supply enough hot water.