Milford is a town in Hillsborough County, New Hampshire, United States, on the Souhegan River. The population was 16,131 at the 2020 census, up from 15,115 at the 2010 census. It is the retail and manufacturing center of a multi-town area known informally as the Souhegan Valley.