The average cost to replace a roof in the United States is around $9,500, though prices can vary as high as $46,000 or more, depending on what type of roofing you choose and the details of the job.