Spirit Lake, Iowa
City in Dickinson County · population 5,439 (2020 Census)

- Median home
- $215,100
- Household income
- $65,720
- Jan low / Jul high
- 7° / 83°
- Snow a year
- 42 in
- Tornadoes ≤10 mi since 1950
- 27
- Median age
- 40.4
Spirit Lake is a city of 5,439 people in Dickinson County, Iowa. The median home is worth $215,100, above the typical Iowa town ($156,300). It ranks better for a vacation home than 97% of Iowa towns, better for young professionals than 91% of Iowa towns, more vibrant than 89% of Iowa towns.
How Spirit Lake ranks
Percentile among Iowa towns with at least 500 people on The Town Files lifestyle rankings. 50 is typical for the state; 90 means better than 90% of Iowa towns.
Homes and cost of living
The median home in Spirit Lake is worth $215,100, above the typical Iowa town ($156,300). Homes cost about 3.3 times the median household income of $65,720, which is more affordable than 6% of Iowa towns. Median rent is $911 a month. 67.5% of households own their home.
| Housing | Spirit Lake | Typical Iowa town |
|---|---|---|
| Median home value | $215,100 | $156,300 |
| Median rent | $911 | $820 |
| Median household income | $65,720 | $69,254 |
| Home value ÷ income | 3.3× | 2.2× |
| Homeownership | 67.5% | 77.1% |
| Median year built | 1978 | 1962 |
| Seasonal / vacation homes | 3.1% | — |
Who lives in Spirit Lake
| People | Spirit Lake | Typical Iowa town |
|---|---|---|
| Median age | 40.4 | 40.2 |
| Age 65 and over | 22.1% | 20.0% |
| Under 18 | 19.5% | — |
| Bachelor's degree or higher | 26.8% | 21.8% |
| Below the poverty line | 6.3% | 9.3% |
| Veterans | 8.2% | — |
| Born outside the U.S. | 1.6% | — |
| Work from home | 9.1% | 7.1% |
| Average commute | 13.4 min | 21.6 min |
| Homes with broadband | 88.3% | 88.5% |
Weather in Spirit Lake
July highs average 82.8°F and January lows 7.1°F. About 29.0 inches of rain and melted snow fall a year, with 41.5 inches of snow (typical Iowa town: 32.5 in). Expect about 11 days a year at 90°F or hotter and 149 nights at or below freezing.
Tornadoes, storms and disasters
27 tornadoes have passed within 10 miles of Spirit Lake since 1950, compared with 24 for the typical Iowa town. 6 rated (E)F2 or stronger. The strongest, an F3, struck on May 31, 1971 about 6.5 miles from the town center. The most recent was on May 17, 2026.
Hail of 1 inch or larger has been reported within 10 miles 70 times; the largest was 2.50 inches on June 24, 1978.
Severe weather in Dickinson County since 1996
Dickinson County has been included in 18 federal disaster or emergency declarations since 1953, most often for flood, hurricane, snowstorm.
| Declared | Incident | Declaration |
|---|---|---|
| June 24, 2024 | Severe Storm | DR-4796: Severe Storms, Flooding, Straight-Line Winds, And Tornadoes |
| March 23, 2020 | Biological | DR-4483: Covid-19 Pandemic |
| March 13, 2020 | Biological | EM-3480: Covid-19 |
| March 23, 2019 | Flood | DR-4421: Severe Storms And Flooding |
| August 20, 2018 | Severe Storm | DR-4386: Severe Storms, Tornadoes, Straight-Line Winds, And Flooding |
Jobs and pay in Dickinson County
Dickinson County had 10,008 jobs in 2024, paying an average of $46,626 a year. Unemployment was 2.9% in 2023; in Spirit Lake itself the ACS puts it at 3.1%.
Public schools in Spirit Lake
3 public schools with 1,328 students, about 15.8 students per teacher.
| School | Grades | Students | Per teacher |
|---|---|---|---|
| Spirit Lake Elementary School | PK-4 | 568 | 15.4 |
| Spirit Lake High School | 9-12 | 396 | 16.5 |
| Spirit Lake Middle School | 5-8 | 364 | 15.8 |
Towns near Spirit Lake
- Milford, IA5.4 mi · 3,321 people · home $218,400
- Estherville, IA14.0 mi · 5,904 people · home $101,400
- Jackson, MN15.7 mi · 3,323 people · home $128,500
- Spencer, IA18.7 mi · 11,325 people · home $184,800
- Worthington, MN28.4 mi · 13,947 people · home $210,300
Spirit Lake questions
Is Spirit Lake, Iowa a good place to retire?
On The Town Files lifestyle rankings, Spirit Lake scores better for retirees than 85% of Iowa towns and quieter than 18%. 22.1% of residents are 65 or older (median age 40.4).
How much does a house cost in Spirit Lake?
The median owner-occupied home in Spirit Lake is valued at $215,100 (Census ACS 2020–2024), against a median household income of $65,720, so homes cost about 3.3 times income. Median rent is $911 a month.
What is the weather like in Spirit Lake?
July highs average 82.8°F and January lows 7.1°F (NOAA 1991–2020 normals). It gets about 29.0 inches of precipitation a year and 41.5 inches of snow.
Does Spirit Lake get tornadoes?
27 tornadoes have passed within 10 miles of Spirit Lake since 1950 (NOAA Storm Events); the strongest was a F3 on May 31, 1971. The typical Iowa town has had 24.
- U.S. Census Bureau, American Community Survey 5-year estimates (2020–2024)
- U.S. Census Bureau, 2020 Census and 2025 Gazetteer (2020 / 2025)
- NOAA NCEI U.S. Climate Normals (1991–2020)
- NOAA NCEI Storm Events Database (1950–2026)
- FEMA OpenFEMA Disaster Declarations (this product uses the FEMA OpenFEMA API but is not endorsed by FEMA) (1953–2026)
- NCES Common Core of Data (2023–24)
- BLS Quarterly Census of Employment and Wages; USDA ERS county unemployment (BLS LAUS) (2000–2024)
- The Town Files lifestyle rankings, built from federal demographic, school, crime and housing data (2025)