Peterborough is a town in Hillsborough County, New Hampshire, United States. The population was 6,418 at the 2020 census. The main village, with 3,090 people at the 2020 census, is a census-designated place and lies along the Contoocook River at the junction of U.S.