The Town Files

St. Charles, Minnesota

Township in Winona County · population 651 (2020 Census)

Map: where St. Charles is in MinnesotaSt. Charles
Median home
$482,300
Household income
$130,357
Jan low / Jul high
8° / 83°
Snow a year
45 in
Tornadoes ≤10 mi since 1950
15
Median age
26.9

St. Charles is a township of 651 people in Winona County, Minnesota. The median home is worth $482,300, above the typical Minnesota town ($301,800). It ranks more upscale than 83% of Minnesota towns, better for young professionals than 81% of Minnesota towns, more walkable than 80% of Minnesota towns.

How St. Charles 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.

St. Charles lifestyle rankings vs other Minnesota townsRetirement43rd pctFamilies68th pctQuiet37th pctWalkability80th pctFirst-time buyersbottomYoung professionals81st pctVibrancy64th pctHip & trendy64th pctCollege town56th pctUpscale83rd pctVacation homesbottomSeaside characterbottomCycling53rd pctTransit54th pctDriving13th 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 St. Charles is worth $482,300, above the typical Minnesota town ($301,800). Homes cost about 3.7 times the median household income of $130,357, which is more affordable than 34% of Minnesota towns. 92.8% of households own their home.

St. Charles vs Winona County vs typical Minnesota townSt. CharlesWinona CountyTypical Minnesota townHome value$482,300$235,400$301,800Household income$130,357$70,744$87,375
Census ACS 5-year estimates, 2020–2024. "Typical town" = median of Minnesota towns with 500+ people.
HousingSt. CharlesTypical Minnesota town
Median home value$482,300$301,800
Median rent—$991
Median household income$130,357$87,375
Home value ÷ income3.7×3.4×
Homeownership92.8%88.6%
Median year built19781979
Seasonal / vacation homes1.0%—

Who lives in St. Charles

PeopleSt. CharlesTypical Minnesota town
Median age26.942.7
Age 65 and over8.5%20.0%
Under 1832.4%—
Bachelor's degree or higher22.9%26.2%
Below the poverty line15.3%6.9%
Veterans4.2%—
Born outside the U.S.1.3%—
Work from home19.4%11.1%
Average commute27.8 min24.5 min
Homes with broadband71.1%90.2%

Weather in St. Charles

July highs average 82.6°F and January lows 7.9°F. About 35.4 inches of rain and melted snow fall a year, with 44.9 inches of snow (typical Minnesota town: 47.0 in). Expect about 14 days a year at 90°F or hotter and 140 nights at or below freezing.

St. Charles monthly temperatures and precipitation0°10°20°30°40°50°60°70°80°90°32° freezing23°8°Jan29°11°Feb42°25°Mar56°37°Apr69°50°May79°59°Jun83°64°Jul80°62°Aug71°54°Sep57°41°Oct41°28°Nov28°15°DecPrecipitation (in) · snow (in) in blue1.18.61.111.02.08.23.72.94.60.65.14.04.53.72.50.41.92.21.211.0
NOAA 1991–2020 climate normals: average daily high and low by month; precipitation and snowfall in inches. Temperatures from the Minnesota City Dam 5 station (16.1 mi away); snow from Altura 5W (6.0 mi).

Tornadoes, storms and disasters

15 tornadoes have passed within 10 miles of St. Charles since 1950, compared with 14 for the typical Minnesota town. 5 rated (E)F2 or stronger. The strongest, an F4, struck on May 10, 1953 about 3.5 miles from the town center. Tornadoes within 10 miles have caused 1 deaths and 14 injuries since 1950. The most recent was on May 21, 2024.

Tornadoes within 10 miles of St. Charles by decade21950s21960s11970s31980s21990s02000s12010s42020s
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 51 times; the largest was 3.00 inches on July 13, 2023.

Severe weather in Winona County since 1996

Storm events in Winona County since 1996 by typeHail208Flood67Drought13Tornado14Heavy Rain22Heavy Snow20Flash Flood31Funnel Cloud10
NOAA Storm Events Database, Winona County, 1996–2026 (all event types recorded since 1996). 10 deaths recorded.

Winona County has been included in 17 federal disaster or emergency declarations since 1953, most often for flood, drought, tornado.

DeclaredIncidentDeclaration
April 7, 2020BiologicalDR-4531: Covid-19 Pandemic
March 13, 2020BiologicalEM-3453: Covid-19
June 12, 2019FloodDR-4442: Severe Winter Storm, Straight-Line Winds, And Flooding
October 13, 2010Severe StormDR-1941: Severe Storms And Flooding
August 23, 2007Severe StormDR-1717: Severe Storms And Flooding

Jobs and pay in Winona County

Winona County had 24,022 jobs in 2024, paying an average of $52,828 a year. Unemployment was 2.3% in 2023; in St. Charles itself the ACS puts it at 1.5%.

Largest industries in Winona CountyManufacturing5,393 jobs · $69,582Health care & social assistan…2,703 jobs · $49,513Retail2,583 jobs · $33,195Hotels & restaurants2,522 jobs · $22,305Transportation & warehousing1,237 jobs · $61,855Education1,156 jobs · $41,708
BLS Quarterly Census of Employment and Wages, 2024, private-sector jobs and average annual pay.
Unemployment rate in Winona County, 2000–20230%2%4%6%8%2000200420082012201620202023Winona 2.3%
Annual average unemployment rate (BLS Local Area Unemployment Statistics via USDA ERS).

Towns near St. Charles

St. Charles questions

Is St. Charles, Minnesota a good place to retire?

On The Town Files lifestyle rankings, St. Charles scores better for retirees than 43% of Minnesota towns and quieter than 37%. 8.5% of residents are 65 or older (median age 26.9).

How much does a house cost in St. Charles?

The median owner-occupied home in St. Charles is valued at $482,300 (Census ACS 2020–2024), against a median household income of $130,357, so homes cost about 3.7 times income. Median rent is — a month.

What is the weather like in St. Charles?

July highs average 82.6°F and January lows 7.9°F (NOAA 1991–2020 normals). It gets about 35.4 inches of precipitation a year and 44.9 inches of snow.

Does St. Charles get tornadoes?

15 tornadoes have passed within 10 miles of St. Charles since 1950 (NOAA Storm Events); the strongest was a F4 on May 10, 1953. The typical Minnesota town has had 14.

How this page is made. Every number comes from public data, matched to St. Charles's Census boundary (GEOID 2716956806). 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.