The Town Files

Grass Lake, Minnesota

Township in Kanabec County · population 965 (2020 Census)

Map: where Grass Lake is in MinnesotaGrass Lake
Median home
$235,500
Household income
$82,188
Jan low / Jul high
1° / 80°
Snow a year
52 in
Tornadoes ≤10 mi since 1950
14
Median age
48.1

Grass Lake is a township of 965 people in Kanabec County, Minnesota. The median home is worth $235,500, below the typical Minnesota town ($301,800).

How Grass Lake ranks

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

Grass Lake lifestyle rankings vs other Minnesota townsRetirement20th pctFamilies67th pctQuiet60th pctWalkability40th pctFirst-time buyersbottomYoung professionalsbottomVibrancy16th pctHip & trendy25th pctCollege town56th pctUpscale14th pctVacation homesbottomSeaside characterbottomCyclingbottomTransitbottomDriving39th 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 Grass Lake is worth $235,500, below the typical Minnesota town ($301,800). Homes cost about 2.9 times the median household income of $82,188, which is more affordable than 74% of Minnesota towns. Median rent is $740 a month. 92.8% of households own their home.

Grass Lake vs Kanabec County vs typical Minnesota townGrass LakeKanabec CountyTypical Minnesota townHome value$235,500$228,100$301,800Household income$82,188$71,460$87,375Monthly rent$740$962$991
Census ACS 5-year estimates, 2020–2024. "Typical town" = median of Minnesota towns with 500+ people.
HousingGrass LakeTypical Minnesota town
Median home value$235,500$301,800
Median rent$740$991
Median household income$82,188$87,375
Home value ÷ income2.9×3.4×
Homeownership92.8%88.6%
Median year built19761979
Seasonal / vacation homes1.6%—

Who lives in Grass Lake

PeopleGrass LakeTypical Minnesota town
Median age48.142.7
Age 65 and over24.1%20.0%
Under 1819.3%—
Bachelor's degree or higher15.4%26.2%
Below the poverty line10.0%6.9%
Veterans12.3%—
Born outside the U.S.1.0%—
Work from home14.9%11.1%
Average commute41.8 min24.5 min
Homes with broadband82.1%90.2%

Weather in Grass Lake

July highs average 80.3°F and January lows 0.5°F. About 31.7 inches of rain and melted snow fall a year, with 52.0 inches of snow (typical Minnesota town: 47.0 in). Expect about 5 days a year at 90°F or hotter and 179 nights at or below freezing.

Grass Lake monthly temperatures and precipitation0°10°20°30°40°50°60°70°80°90°32° freezing21°1°Jan26°4°Feb39°18°Mar53°31°Apr67°43°May76°54°Jun80°58°Jul78°56°Aug70°47°Sep56°35°Oct39°22°Nov26°9°DecPrecipitation (in) · snow (in) in blue0.710.30.810.71.68.32.54.33.84.34.74.23.32.90.41.65.41.212.6
NOAA 1991–2020 climate normals: average daily high and low by month; precipitation and snowfall in inches. Temperatures from the Mora station (9.3 mi away).

Tornadoes, storms and disasters

14 tornadoes have passed within 10 miles of Grass Lake since 1950, compared with 14 for the typical Minnesota town. The strongest, an EF1, struck on July 17, 2020 about 7.4 miles from the town center. Tornadoes within 10 miles have caused 1 deaths and 3 injuries since 1950. The most recent was on July 18, 2020.

Tornadoes within 10 miles of Grass Lake by decade11950s11960s01970s41980s11990s42000s12010s22020s
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 44 times; the largest was 3.00 inches on June 29, 2015.

Severe weather in Kanabec County since 1996

Storm events in Kanabec County since 1996 by typeHail71Heat6Flood5Tornado5Heavy Rain10Heavy Snow9Flash Flood6Winter Storm67
NOAA Storm Events Database, Kanabec County, 1996–2026 (all event types recorded since 1996).

Kanabec County has been included in 11 federal disaster or emergency declarations since 1953, most often for flood, drought, hurricane.

DeclaredIncidentDeclaration
August 9, 2022Severe StormDR-4666: Severe Storms, Straight-Line Winds, Tornadoes, And Flooding
April 7, 2020BiologicalDR-4531: Covid-19 Pandemic
March 13, 2020BiologicalEM-3453: Covid-19
September 5, 2018FloodDR-4390: Severe Storms, Tornadoes, Straight-Line Winds, And Flooding
July 28, 2011Severe StormDR-4009: Severe Storms, Flooding, And Tornadoes

Jobs and pay in Kanabec County

Kanabec County had 4,221 jobs in 2024, paying an average of $51,717 a year. Unemployment was 5% in 2023; in Grass Lake itself the ACS puts it at 2.7%.

Largest industries in Kanabec CountyHealth care & social assistan…1,131 jobs · $63,575Retail538 jobs · $34,178Manufacturing481 jobs · $49,013Construction319 jobs · $86,801Hotels & restaurants279 jobs · $19,019Other services199 jobs · $41,101
BLS Quarterly Census of Employment and Wages, 2024, private-sector jobs and average annual pay.
Unemployment rate in Kanabec County, 2000–20230%4%8%12%2000200420082012201620202023Kanabec 5%
Annual average unemployment rate (BLS Local Area Unemployment Statistics via USDA ERS).

Towns near Grass Lake

Grass Lake questions

Is Grass Lake, Minnesota a good place to retire?

On The Town Files lifestyle rankings, Grass Lake scores better for retirees than 20% of Minnesota towns and quieter than 60%. 24.1% of residents are 65 or older (median age 48.1).

How much does a house cost in Grass Lake?

The median owner-occupied home in Grass Lake is valued at $235,500 (Census ACS 2020–2024), against a median household income of $82,188, so homes cost about 2.9 times income. Median rent is $740 a month.

What is the weather like in Grass Lake?

July highs average 80.3°F and January lows 0.5°F (NOAA 1991–2020 normals). It gets about 31.7 inches of precipitation a year and 52.0 inches of snow.

Does Grass Lake get tornadoes?

14 tornadoes have passed within 10 miles of Grass Lake since 1950 (NOAA Storm Events); the strongest was an EF1 on July 17, 2020. The typical Minnesota town has had 14.

How this page is made. Every number comes from public data, matched to Grass Lake's Census boundary (GEOID 2706525406). Comparisons use the median of Minnesota 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.