Grafton is a city located in Walsh County, North Dakota. Grafton has a 2026 population of 4,027. Grafton is currently declining at a rate of -0.74% annually and its population has decreased by -3.13% since the most recent census, which recorded a population of 4,157 in 2020.