The average cost of a new roof in Ohio is $6,000 to $12,000, depending on the roof size and material.