North Haverhill is an unincorporated community and census-designated place (CDP) in the town of Haverhill in Grafton County, New Hampshire, United States. It is one of several villages in the town of Haverhill, which is the county seat of Grafton County. As of the 2020 census, North Haverhill had a population of 843.
thumb|left|upright=0.5|Haverhill's War Memorial
The village is centered on the junction of New Hampshire Routes 10 and 116, on a bluff overlooking the Connecticut River, the western boundary of New Hampshire. It is situated in the middle of a fertile agricultural area at the western base of the White Mountains. Route 10, following the Connecticut River, connects the village of Woodsville to the north with the towns of Piermont, Orford, Lyme, and Hanover to the south. Route 116 heads east into the White Mountains, leading to the towns of Benton, Easton, and Franconia.
North Haverhill became the county seat of Grafton County when the county courthouse and related offices moved in 1972 from Woodsville into a new office complex on Route 10 just north of the North Haverhill village center. North Haverhill has a separate ZIP code (03774) from other areas in the town of Haverhill.