Canaan is a town in Somerset County, Maine, United States. The population was 2,193 at the 2020 census. According to the United States Census Bureau, the town has a total area of 42.13 square miles, of which 41.16 square miles is land and 0.97 square miles is water.