The national average for roof replacement is $7,470. Costs vary significantly by state. Select your state below.