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.