canton is a town in norfolk county, massachusetts, united states. the population was 21,561 at the 2010 census. it is part of greater boston, about 15 miles (24 kilometers) southwest of downtown boston.