North Dakota Climate Data
Climate normals for 119 cities from 165 NOAA weather stations.
Data updated July 2026
Avg Temperature
41°F (5°C)
Avg Precipitation
19.2"
Avg Snowfall
43.4"
Cities / Stations
119 / 165
North Dakota's climate in one line
North Dakota averages 41°F a year - cooler than 98% of U.S. states, spanning Rolette at 36°F to Enderlin at 45°F.
- 41°F
- statewide average · 2th percentile of states
- 19"
- average annual precipitation
- 64/100
- most comfortable: Enderlin
- 119
- cities · 165 NOAA stations
Statewide figures are simple averages across 165 stations, local conditions vary widely by elevation and coast distance.
How North Dakota ranks among all 50 states
North Dakota's average temperature vs. all U.S. states
Statewide annual mean temperature, NOAA 1991–2020 normals
41 Top 98% higher than 2% of 50 US states
Each bar is a band; taller bars hold more US states. The dashed line + filled bar mark this entry. Hover or tap any bar for its full count, share, and where it sits relative to this entry.
Source NOAA U.S. Climate Normals (statewide aggregate) · 1991–2020
North Dakota Climate in Context
U.S. land-mean temperature anomaly (NOAA NCEI) tracked against global anomaly (NASA GISTEMP). Paris Agreement 1.5°C and 2.0°C thresholds shown as reference lines. North Dakota sits within this national warming envelope; individual cities below show local readings against this trend.
- United States (incl. North Dakota) +0.11 °C/decade
- Global (NASA GISTEMP) +0.11 °C/decade
- Paris Agreement thresholds 1.5°C / 2.0°C
Cities in North Dakota
119 cities with climate data
| City | Avg Temp | High | Low | Precip | Snow | Comfort |
|---|---|---|---|---|---|---|
| Almont | 43°F | 56°F | 30°F | N/A | N/A | 39/100 |
| Amidon | 45°F | 57°F | 32°F | N/A | N/A | 39/100 |
| Ashley | 41°F | 52°F | 31°F | 20.7" | 42.4" | 49/100 |
| Beach | 44°F | 56°F | 31°F | 16.5" | N/A | 44/100 |
| Belcourt Keya Radio | 38°F | 50°F | 27°F | 20.1" | N/A | 54/100 |
| Beulah | 43°F | 56°F | 30°F | 16.9" | N/A | 44/100 |
| Bismarck | 43°F | 55°F | 31°F | 19.1" | 50.5" | 34/100 |
| Bottineau | 39°F | 49°F | 28°F | 19.2" | 49.8" | 39/100 |
| Bowman | 42°F | 54°F | 30°F | 17.1" | 48.2" | 39/100 |
| Breien | 43°F | 57°F | 30°F | N/A | N/A | 39/100 |
| Butte | 41°F | 52°F | 30°F | N/A | N/A | 39/100 |
| Carrington | 40°F | 50°F | 30°F | N/A | N/A | 39/100 |
| Carson | 42°F | 54°F | 30°F | N/A | N/A | 39/100 |
| Casselton Agronomy Farm | 41°F | 52°F | 31°F | 24.2" | 36.7" | 49/100 |
| Cavalier | 38°F | 48°F | 28°F | 20.0" | 39.1" | 49/100 |
| Center | 43°F | 53°F | 32°F | 18.9" | N/A | 44/100 |
| Colgate | 39°F | 50°F | 28°F | 20.9" | 34.7" | 49/100 |
| Cooperstown | 39°F | 50°F | 29°F | 22.0" | 42.2" | 49/100 |
| Crosby | 40°F | 52°F | 29°F | 16.1" | 40.7" | 39/100 |
| Devils Lake | 39°F | 49°F | 29°F | N/A | N/A | 39/100 |
| Devils Lake Kdlr | 40°F | 50°F | 31°F | 20.0" | N/A | 44/100 |
| Dickinson | 42°F | 55°F | 29°F | 17.6" | N/A | 44/100 |
| Dickinson Rch HQ | 42°F | 54°F | 30°F | 17.6" | 44.0" | 39/100 |
| Drake | 40°F | 51°F | 28°F | 18.1" | N/A | 44/100 |
| Dunn Ctr | 41°F | 55°F | 28°F | 16.8" | N/A | 44/100 |
| Edgeley | 43°F | 53°F | 33°F | 21.1" | N/A | 54/100 |
| Edmore | 37°F | 48°F | 27°F | 21.9" | 38.0" | 49/100 |
| Edmunds Arrowwood Ref | 42°F | 54°F | 30°F | N/A | N/A | 39/100 |
| Ellendale | 43°F | 54°F | 33°F | N/A | N/A | 39/100 |
| Enderlin | 45°F | 56°F | 34°F | 23.6" | N/A | 64/100 |
| Esmond | 39°F | 50°F | 28°F | N/A | N/A | 39/100 |
| Fairfield | 43°F | 53°F | 32°F | N/A | N/A | 39/100 |
| Fargo | 41°F | 52°F | 31°F | 24.4" | N/A | 54/100 |
| Fargo Hector | 42°F | 53°F | 32°F | 23.9" | 51.4" | 44/100 |
| Fessenden | 41°F | 52°F | 30°F | 17.3" | 33.5" | 39/100 |
| Flasher | 43°F | 55°F | 31°F | 18.5" | N/A | 44/100 |
| Forman | 42°F | 52°F | 31°F | 23.2" | N/A | 54/100 |
| Fortuna | 38°F | 50°F | 27°F | 15.3" | 36.5" | 39/100 |
| Foxholm | 42°F | 53°F | 31°F | 17.6" | N/A | 44/100 |
| Fullerton | 43°F | 54°F | 32°F | 24.3" | 36.9" | 49/100 |
| Gackle | 42°F | 52°F | 32°F | N/A | N/A | 39/100 |
| Garrison | 41°F | 52°F | 30°F | 17.8" | N/A | 44/100 |
| Grafton | 42°F | 51°F | 33°F | N/A | N/A | 39/100 |
| Grand Forks | 40°F | 51°F | 29°F | 21.7" | 48.4" | 49/100 |
| Grand Forks Univ | 41°F | 50°F | 31°F | 22.8" | 48.7" | 49/100 |
| Granville | 42°F | 53°F | 32°F | N/A | N/A | 39/100 |
| Grassy Butte | 42°F | 54°F | 31°F | 17.7" | 41.7" | 39/100 |
| Hansboro | 39°F | 51°F | 27°F | 19.0" | 37.6" | 39/100 |
| Harvey | 40°F | 51°F | 29°F | 19.3" | N/A | 44/100 |
| Hazelton | 41°F | 52°F | 30°F | 19.0" | 44.7" | 39/100 |
| Heart Butte Dam | 43°F | 55°F | 30°F | 16.8" | 37.7" | 39/100 |
| Hebron | 42°F | 54°F | 29°F | 18.4" | 40.6" | 39/100 |
| Hettinger Exp Stn | 43°F | 57°F | 29°F | 17.3" | N/A | 44/100 |
| Hettinger Muni | 42°F | 56°F | 29°F | 14.3" | N/A | 44/100 |
| Hillsboro | 43°F | 52°F | 33°F | 22.3" | N/A | 54/100 |
| Jamestown | 40°F | 51°F | 30°F | 20.9" | N/A | 54/100 |
| Jamestown Muni | 41°F | 52°F | 31°F | 19.8" | N/A | 44/100 |
| Jamestown State Hosp | 41°F | 52°F | 31°F | 21.1" | 46.1" | 49/100 |
| Keene | 42°F | 54°F | 31°F | 17.9" | 34.8" | 39/100 |
| Kenmare | 40°F | 51°F | 29°F | 19.5" | N/A | 44/100 |
| Killdeer | 42°F | 55°F | 29°F | 18.1" | 39.2" | 39/100 |
| LA Moure | 42°F | 54°F | 30°F | 24.7" | 45.5" | 49/100 |
| Lake Metigoshe SP | 37°F | 48°F | 26°F | 19.6" | N/A | 44/100 |
| Langdon Exp Farm | 37°F | 47°F | 27°F | 20.8" | 47.3" | 49/100 |
| Larimore | 40°F | 51°F | 29°F | N/A | N/A | 39/100 |
| Leeds | 39°F | 50°F | 27°F | 21.0" | N/A | 54/100 |
| Lidgerwood | 43°F | 53°F | 33°F | 24.2" | N/A | 54/100 |
| Linton | 43°F | 55°F | 31°F | N/A | N/A | 39/100 |
| Lisbon | 41°F | 53°F | 30°F | 22.3" | 46.7" | 49/100 |
| Mandan Exp Stn | 42°F | 54°F | 31°F | 18.4" | N/A | 44/100 |
| Max | 41°F | 51°F | 30°F | 18.7" | 49.4" | 39/100 |
| Mayville | 39°F | 51°F | 28°F | 23.9" | N/A | 54/100 |
| MC Clusky | 44°F | 56°F | 32°F | 18.2" | 45.0" | 39/100 |
| MC Henry | 40°F | 51°F | 30°F | 21.1" | 59.8" | 44/100 |
| MC Leod | 42°F | 53°F | 31°F | 24.0" | N/A | 54/100 |
| Medora | 43°F | 54°F | 33°F | 17.4" | N/A | 44/100 |
| Minnewaukan | 40°F | 50°F | 29°F | 19.7" | N/A | 44/100 |
| Minot | 43°F | 55°F | 32°F | 16.7" | 45.1" | 39/100 |
| Minot Exp Stn | 40°F | 51°F | 30°F | 19.3" | 51.8" | 34/100 |
| Moffit | 44°F | 56°F | 32°F | N/A | N/A | 39/100 |
| Mohall | 38°F | 50°F | 27°F | 18.2" | N/A | 44/100 |
| Mott | 43°F | 56°F | 29°F | 17.2" | N/A | 44/100 |
| Napoleon | 41°F | 52°F | 30°F | 20.7" | 53.2" | 44/100 |
| New England | 43°F | 56°F | 31°F | 15.9" | 44.3" | 39/100 |
| New Salem | 42°F | 53°F | 30°F | 18.3" | 44.5" | 39/100 |
| Northgate | 38°F | 50°F | 26°F | 15.7" | N/A | 44/100 |
| Oakes | 42°F | 53°F | 30°F | N/A | N/A | 39/100 |
| Pembina | 38°F | 49°F | 28°F | 22.1" | N/A | 54/100 |
| Petersburg | 39°F | 49°F | 29°F | 20.2" | 42.5" | 49/100 |
| Powers Lake | 38°F | 50°F | 26°F | N/A | N/A | 39/100 |
| Pretty Rock | 44°F | 56°F | 31°F | 16.5" | 51.2" | 34/100 |
| Richardton Abbey | 43°F | 54°F | 33°F | 16.3" | 33.2" | 39/100 |
| Riverdale | 42°F | 52°F | 32°F | N/A | N/A | 39/100 |
| Rolette | 36°F | 48°F | 25°F | 20.2" | N/A | 54/100 |
| Rolla | 37°F | 47°F | 26°F | 19.6" | N/A | 44/100 |
| Rugby | 39°F | 50°F | 28°F | 21.0" | 43.4" | 49/100 |
| Stanley | 39°F | 50°F | 27°F | 19.3" | 47.4" | 39/100 |
| Steele | 42°F | 53°F | 30°F | 21.4" | N/A | 54/100 |
| Streeter | 41°F | 51°F | 31°F | 19.8" | 48.9" | 39/100 |
| Taylor | 43°F | 56°F | 29°F | 16.2" | 35.1" | 39/100 |
| Theodore Roosevelt | 43°F | 55°F | 30°F | 15.6" | N/A | 44/100 |
| Tioga | 42°F | 53°F | 31°F | 15.4" | 43.7" | 39/100 |
| Towner | 40°F | 53°F | 27°F | 17.7" | 39.4" | 39/100 |
| Trotters | 44°F | 56°F | 32°F | 15.8" | 35.1" | 39/100 |
| Turtle Lake | 41°F | 53°F | 29°F | 18.2" | 44.1" | 39/100 |
| Tuttle | 39°F | 50°F | 29°F | N/A | N/A | 39/100 |
| Underwood | 41°F | 52°F | 30°F | 18.0" | 38.6" | 39/100 |
| Upham | 40°F | 51°F | 28°F | 18.8" | 49.4" | 39/100 |
| Valley City | 41°F | 52°F | 29°F | 21.5" | N/A | 54/100 |
| Velva | 39°F | 52°F | 26°F | 19.2" | 41.0" | 39/100 |
| Washburn | 42°F | 54°F | 31°F | 17.7" | 43.1" | 39/100 |
| Watford City | 42°F | 53°F | 32°F | 15.7" | 50.4" | 34/100 |
| Westhope | 40°F | 51°F | 29°F | 18.8" | N/A | 44/100 |
| Wildrose | 39°F | 50°F | 27°F | 16.6" | 37.3" | 39/100 |
| Williston Exp Farm | 43°F | 56°F | 31°F | 14.8" | 39.3" | 39/100 |
| Williston Sloulin | 42°F | 54°F | 29°F | 15.1" | 48.2" | 39/100 |
| Willow City | 38°F | 50°F | 25°F | 18.9" | N/A | 44/100 |
| Wilton | 41°F | 51°F | 30°F | N/A | N/A | 39/100 |
| Wishek | 41°F | 53°F | 29°F | N/A | N/A | 39/100 |
Source: NOAA National Centers for Environmental Information U.S. Climate Normals v1.0.1 · 1991-2020 Statewide aggregates for North Dakota computed from 165 reporting stations.
Climate Insight: North Dakota
North Dakota's climate profile is aggregated from 119 cities and 165 NOAA weather stations reporting under the 1991–2020 U.S. Climate Normals program. The statewide average annual temperature sits at 41°F, which is the simple average across all measured stations rather than any single city's reading. Because North Dakota spans multiple latitudes, elevations, and proximities to large water bodies, local conditions can differ from this headline number by wide margins, coastal, valley, and mountain stations often diverge by ten degrees or more even within a single month.
Precipitation and snowfall averages round out the climatological picture. Across North Dakota, annual precipitation averages 19.2 inches, with typical seasonal snowfall near 43.4 inches statewide. These numbers combine rain, sleet, and snow water-equivalent and describe the thirty-year normal rather than any particular recent year. Readers evaluating a specific destination should drill into one of the 119 individual city pages below, each city's climate varies based on local geography, and the statewide figures here are averages that mask meaningful intrastate differences.
For planning purposes, the city table above is sorted to help you compare averages side-by-side: annual mean temperature, average daily high and low, precipitation totals, snowfall, and PlainClimate's composite comfort score. A city's comfort score weighs temperature mildness, humidity, and extreme-weather frequency into a single 0–100 rating, which is especially useful when contrasting locations at different elevations or distances from the coast. Use these rankings as a starting point, then open each city page for monthly breakdowns, degree-day totals, frost dates, and humidity metrics that matter for gardening, energy budgeting, and relocation decisions.
Choosing a place in North Dakota?
The statewide 41°F hides big local swings, pick by city, not by state.
- Inside North Dakota, annual averages run from Rolette (36°F) to Enderlin (45°F) - a 9°F spread.
- Enderlin scores the state's highest comfort rating at 64/100. Enderlin climate
- Compare states side by side, or jump straight to national rankings. Rankings
NOAA 1991–2020 normals describe the typical year; treat them as planning baselines, not forecasts.
Data source: NOAA U.S. Climate Normals v1.0.1 (1991-2020). For informational purposes only.
Read our methodology - how this data is sourced, computed, and verified.
Related
Every figure on PlainClimate is rendered directly from NOAA 1991-2020 U.S. Climate Normals data, no number is typed in by an editor. This page draws directly on NOAA 1991-2020 U.S. Climate Normals data, no figure is typed in by an editor. See our editorial standards & corrections policy, the methodology behind these numbers, or report a data error.