The Town Files

Grafton, North Dakota

City in Walsh County · population 4,170 (2020 Census)

Map: where Grafton is in North DakotaGrafton
Median home
$147,300
Household income
$62,679
Jan low / Jul high
-5° / 82°
Tornadoes ≤10 mi since 1950
19
Median age
43.2

Grafton is a city of 4,170 people in Walsh County, North Dakota. The median home is worth $147,300, below the typical North Dakota town ($167,950). It ranks more walkable than 85% of North Dakota towns, more vibrant than 79% of North Dakota towns, better transit than 79% of North Dakota towns.

How Grafton ranks

Percentile among North Dakota towns with at least 500 people on The Town Files lifestyle rankings. 50 is typical for the state; 90 means better than 90% of North Dakota towns.

Grafton lifestyle rankings vs other North Dakota townsRetirement38th pctFamilies10th pctQuiet33rd pctWalkability85th pctFirst-time buyers70th pctYoung professionals50th pctVibrancy79th pctHip & trendy67th pctCollege town17th pctUpscale5th pctVacation homesbottomSeaside characterbottomCyclingbottomTransit79th pctDriving17th pcttypical
The Town Files lifestyle rankings, built from federal demographic, school, crime and housing data (2025).

Homes and cost of living

The median home in Grafton is worth $147,300, below the typical North Dakota town ($167,950). Homes cost about 2.4 times the median household income of $62,679, which is more affordable than 57% of North Dakota towns. Median rent is $733 a month. 63.8% of households own their home.

Grafton vs Walsh County vs typical North Dakota townGraftonWalsh CountyTypical North Dakota townHome value$147,300$132,700$167,950Household income$62,679$71,944$68,195Monthly rent$733$748$775
Census ACS 5-year estimates, 2020–2024. "Typical town" = median of North Dakota towns with 500+ people.
HousingGraftonTypical North Dakota town
Median home value$147,300$167,950
Median rent$733$775
Median household income$62,679$68,195
Home value ÷ income2.4×2.5×
Homeownership63.8%68.6%
Median year built19721973
Seasonal / vacation homes3.9%—

Who lives in Grafton

PeopleGraftonTypical North Dakota town
Median age43.239.0
Age 65 and over22.7%20.1%
Under 1821.4%—
Bachelor's degree or higher16.7%23.0%
Below the poverty line14.4%10.6%
Veterans7.6%—
Born outside the U.S.6.0%—
Work from home0.5%5.5%
Average commute15.6 min16.8 min
Homes with broadband80.6%87.3%

Weather in Grafton

July highs average 81.7°F and January lows -4.6°F. About 22.9 inches of rain and melted snow fall a year. Expect about 9 days a year at 90°F or hotter and 194 nights at or below freezing.

Grafton monthly temperatures and precipitation-10°0°10°20°30°40°50°60°70°80°90°32° freezing16°-5°Jan21°-2°Feb35°13°Mar53°28°Apr68°40°May77°52°Jun82°55°Jul81°53°Aug72°44°Sep55°32°Oct36°18°Nov22°4°DecPrecipitation (in)0.70.60.91.13.04.03.03.02.72.01.00.8
NOAA 1991–2020 climate normals: average daily high and low by month; precipitation and snowfall in inches. Temperatures from the Argyle station (27.3 mi away).

Tornadoes, storms and disasters

19 tornadoes have passed within 10 miles of Grafton since 1950, compared with 11 for the typical North Dakota town. The strongest, an EF1, struck on July 11, 2017 about 9.9 miles from the town center. The most recent was on July 11, 2017.

Tornadoes within 10 miles of Grafton by decade01950s21960s21970s11980s01990s62000s82010s02020s
NOAA Storm Events Database, tornado tracks (start to end point) passing within 10 miles of the town center, 1950–2026.

Hail of 1 inch or larger has been reported within 10 miles 47 times; the largest was 4.00 inches on July 19, 2016.

Severe weather in Walsh County since 1996

Storm events in Walsh County since 1996 by typeHail205Flood39Drought22Tornado40Blizzard136High Wind48Heavy Snow56Flash Flood17
NOAA Storm Events Database, Walsh County, 1996–2026 (all event types recorded since 1996). 2 deaths recorded.

Walsh County has been included in 41 federal disaster or emergency declarations since 1953, most often for flood, biological, severe storm.

DeclaredIncidentDeclaration
July 5, 2023FloodDR-4717: Flooding
July 13, 2022Severe StormDR-4660: Severe Winter Storm And Flooding
July 9, 2020FloodDR-4553: Flooding
April 1, 2020BiologicalDR-4509: Covid-19 Pandemic
March 13, 2020BiologicalEM-3477: Covid-19

Jobs and pay in Walsh County

Walsh County had 4,790 jobs in 2024, paying an average of $57,220 a year. Unemployment was 2.9% in 2023; in Grafton itself the ACS puts it at 0.8%.

Largest industries in Walsh CountyManufacturing681 jobs · $70,686Retail393 jobs · $29,445Wholesale trade331 jobs · $86,118Finance & insurance173 jobs · $84,003Construction152 jobs · $62,068Hotels & restaurants106 jobs · $14,915
BLS Quarterly Census of Employment and Wages, 2024, private-sector jobs and average annual pay.
Unemployment rate in Walsh County, 2000–20230%2%4%6%2000200420082012201620202023Walsh 2.9%
Annual average unemployment rate (BLS Local Area Unemployment Statistics via USDA ERS).

Public schools in Grafton

3 public schools with 948 students, about 9.8 students per teacher.

SchoolGradesStudentsPer teacher
CENTURY ELEMENTARY SCHOOLPK-65248.7
GRAFTON HIGH SCHOOL9-1229114.6
GRAFTON JUNIOR HIGH SCHOOL7-81337.8

Towns near Grafton

Grafton questions

Is Grafton, North Dakota a good place to retire?

On The Town Files lifestyle rankings, Grafton scores better for retirees than 38% of North Dakota towns and quieter than 33%. 22.7% of residents are 65 or older (median age 43.2).

How much does a house cost in Grafton?

The median owner-occupied home in Grafton is valued at $147,300 (Census ACS 2020–2024), against a median household income of $62,679, so homes cost about 2.4 times income. Median rent is $733 a month.

What is the weather like in Grafton?

July highs average 81.7°F and January lows -4.6°F (NOAA 1991–2020 normals). It gets about 22.9 inches of precipitation a year.

Does Grafton get tornadoes?

19 tornadoes have passed within 10 miles of Grafton since 1950 (NOAA Storm Events); the strongest was an EF1 on July 11, 2017. The typical North Dakota town has had 11.

How this page is made. Every number comes from public data, matched to Grafton's Census boundary (GEOID 3831820). Comparisons use the median of North Dakota towns with at least 500 people. Weather comes from the nearest NOAA normals station; storm counts use NOAA tornado tracks within 10 miles of the town center. Data snapshot 2026-11-13.