Bethlehem is a hillside town in Grafton County, New Hampshire, United States. The population was 2,484 at the 2020 census. It is home to Cushman and Strawberry Hill state forests. The eastern half of the town is within the White Mountain National Forest. The Appalachian Trail crosses a small portion of the town in the south.