MNMinnesota rankings

Snowiest towns in Minnesota

Ranked by average snowfall in a normal winter, 1991–2020, at the nearest NOAA weather station. Towns that share a station share its figure and its rank (T = tied). 272 towns with 2,500+ residents that get at least an inch of snow a year.

NOAA U.S. Climate Normals, 1991–2020

Cold Spring
Minnesota · Snowiest

Where Cold Spring lands: #20 of 272

57 in · Visit Cold Spring →

#TownSnow a yearDays with 1"+ of snowWeather station
T1 Map of Hermantown Hermantown10,218 people 90 in 25 Duluth, MN
T1 Rice Lake4,153 people 90 in 25 Duluth, MN
T1 Proctor Proctor3,100 people 90 in 25 Duluth, MN
T1 Grand LakeSt. Louis County · 2,715 people 90 in 25 Duluth, MN
5 Map of International Falls International Falls5,642 people 73 in 23 Intl Falls Intl Airport, MN
T6 Map of Cloquet Cloquet12,537 people 71 in 20 Cloquet, MN
T6 Thomson ThomsonCarlton County · 5,534 people 71 in 20 Cloquet, MN
T8 Virginia Virginia8,332 people 69 in 27 Tower 2s, MN
T8 Eveleth Eveleth3,448 people 69 in 27 Tower 2s, MN
T8 WhiteSt. Louis County · 3,109 people 69 in 27 Tower 2s, MN
T8 Map of Mountain Iron Mountain Iron2,860 people 69 in 27 Tower 2s, MN
12 Ely Ely3,240 people 65 in 21 Ely, MN
13 Moose Lake Moose Lake2,863 people 64 in 19 Bruno 7ene, MN
T14 Ham Lake Ham Lake16,702 people 64 in 21 Cedar, MN
T14 Columbus Columbus4,248 people 64 in 21 Cedar, MN
16 Two Harbors Two Harbors3,567 people 61 in 20 Two Harbors, MN
T17 Grand Rapids Grand Rapids11,207 people 60 in 19 Grand Rpds Forest Lab, MN
T17 Harris HarrisItasca County · 3,332 people 60 in 19 Grand Rpds Forest Lab, MN
T17 Cohasset Cohasset2,703 people 60 in 19 Grand Rpds Forest Lab, MN
T20 St. Joseph St. Joseph7,021 people 57 in 16 Collegeville St John's, MN
T20 Cold Spring Cold Spring4,249 people 57 in 16 Collegeville St John's, MN
T20 CollegevilleStearns County · 3,351 people 57 in 16 Collegeville St John's, MN
T20 Albany Albany2,821 people 57 in 16 Collegeville St John's, MN
T20 WakefieldStearns County · 2,800 people 57 in 16 Collegeville St John's, MN
T25 Duluth Duluth87,093 people 56 in 18 Superior, WI
T25 Ramsey Ramsey28,421 people 56 in 21 St Francis, MN
T25 East Bethel East Bethel12,115 people 56 in 21 St Francis, MN
T25 Oak Grove Oak Grove9,130 people 56 in 21 St Francis, MN
T25 Map of St. Francis St. Francis8,372 people 56 in 21 St Francis, MN
T25 Nowthen Nowthen4,538 people 56 in 21 St Francis, MN
T31 Shakopee Shakopee46,012 people 55 in 15 Chanhassen WSFO, MN
T31 Prior Lake Prior Lake28,016 people 55 in 15 Chanhassen WSFO, MN
T31 Chanhassen Chanhassen26,006 people 55 in 15 Chanhassen WSFO, MN
T31 Victoria Victoria11,295 people 55 in 15 Chanhassen WSFO, MN
T31 Map of Mound Mound9,107 people 55 in 15 Chanhassen WSFO, MN
T31 Orono Orono8,195 people 55 in 15 Chanhassen WSFO, MN
T31 Map of Shorewood Shorewood7,647 people 55 in 15 Chanhassen WSFO, MN
T31 Map of Excelsior Excelsior2,570 people 55 in 15 Chanhassen WSFO, MN
T39 Minneapolis Minneapolis427,246 people 54 in 16 New Hope, MN
T39 Brooklyn Park Brooklyn Park83,876 people 54 in 16 New Hope, MN
T39 Map of Plymouth Plymouth79,220 people 54 in 16 New Hope, MN
T39 Maple Grove Maple Grove71,173 people 54 in 16 New Hope, MN
T39 Eden Prairie Eden Prairie63,051 people 54 in 16 New Hope, MN
T39 Edina Edina53,262 people 54 in 16 New Hope, MN
T39 Minnetonka Minnetonka53,064 people 54 in 16 New Hope, MN
T39 St. Louis Park St. Louis Park49,594 people 54 in 16 New Hope, MN
T39 Brooklyn Center Brooklyn Center32,479 people 54 in 16 New Hope, MN
T39 Map of Fridley Fridley30,241 people 54 in 16 New Hope, MN
T39 Champlin Champlin23,294 people 54 in 16 New Hope, MN
T39 Map of Crystal Crystal22,476 people 54 in 16 New Hope, MN
T39 Columbia Heights Columbia Heights22,155 people 54 in 16 New Hope, MN
T39 Golden Valley Golden Valley21,725 people 54 in 16 New Hope, MN
T39 New Hope New Hope21,181 people 54 in 16 New Hope, MN
T39 Map of Hopkins Hopkins18,819 people 54 in 16 New Hope, MN
T39 Robbinsdale Robbinsdale14,234 people 54 in 16 New Hope, MN
T39 Map of Dayton Dayton9,095 people 54 in 16 New Hope, MN
T39 Spring Lake Park Spring Lake Park7,032 people 54 in 16 New Hope, MN
T39 Wayzata Wayzata4,354 people 54 in 16 New Hope, MN
T39 Map of Deephaven Deephaven3,793 people 54 in 16 New Hope, MN
T39 Osseo Osseo2,584 people 54 in 16 New Hope, MN
T61 Long Prairie Long Prairie3,693 people 54 in 16 Long Prairie, MN
T61 Pelican Rapids Pelican Rapids2,586 people 54 in 18 Pelican Rapids, MN
63 Stewartville Stewartville6,807 people 53 in 16 Rochester Intl Airport, MN
64 Little Falls Little Falls9,121 people 53 in 19 Little Falls 2nne, MN
65 Dilworth4,713 people 53 in 16 Moorhead, MN
T66 Rochester Rochester122,330 people 52 in 15 Rochester Airport 2ne, MN
T66 Map of Waseca Waseca9,164 people 52 in 17 Waseca S Rsch & Outreach Ctr, MN
T66 MarionOlmsted County · 4,105 people 52 in 15 Rochester Airport 2ne, MN
T66 CascadeOlmsted County · 2,826 people 52 in 15 Rochester Airport 2ne, MN
70 Map of Pine City Pine City3,468 people 52 in 17 Grantsburg, WI
T71 Mora Mora3,732 people 52 in 17 Mora, MN
T71 PokegamaPine County · 2,847 people 52 in 17 Mora, MN
T73 Chaska Chaska28,706 people 52 in 16 Chaska 2nw, MN
T73 Forest Lake Forest Lake20,729 people 52 in 17 Forest Lake 5ne, MN
T73 Map of Waconia Waconia13,434 people 52 in 16 Chaska 2nw, MN
T73 Map of North Branch North Branch11,565 people 52 in 17 Forest Lake 5ne, MN
T73 Wyoming Wyoming8,087 people 52 in 17 Forest Lake 5ne, MN
T73 Carver Carver6,239 people 52 in 16 Chaska 2nw, MN
T73 Chisago City Chisago City5,899 people 52 in 17 Forest Lake 5ne, MN
T73 LinwoodAnoka County · 5,235 people 52 in 17 Forest Lake 5ne, MN
T73 Lindstrom Lindstrom4,978 people 52 in 17 Forest Lake 5ne, MN
T73 Map of Stacy Stacy4,384 people 52 in 17 Forest Lake 5ne, MN
T73 Park Rapids Park Rapids4,270 people 52 in 19 Itasca Univ Of Minn, MN
T73 Scandia Scandia3,950 people 52 in 17 Forest Lake 5ne, MN
T73 Map of Norwood Young America Norwood Young America3,849 people 52 in 16 Chaska 2nw, MN
T73 MayWashington County · 2,637 people 52 in 17 Forest Lake 5ne, MN
T73 Mayer Mayer2,518 people 52 in 16 Chaska 2nw, MN
88 Granite Falls Granite Falls2,685 people 52 in 17 Granite Falls, MN
89 Moorhead Moorhead45,036 people 51 in 14 Fargo Hector Intl Airport, ND
T90 Bloomington Bloomington88,665 people 51 in 15 Minneapolis/st Paul Airport, MN
T90 Eagan Eagan68,000 people 51 in 15 Minneapolis/st Paul Airport, MN
T90 Richfield Richfield36,642 people 51 in 15 Minneapolis/st Paul Airport, MN
T90 Map of Inver Grove Heights Inver Grove Heights35,906 people 51 in 15 Minneapolis/st Paul Airport, MN
T90 Savage Savage32,889 people 51 in 15 Minneapolis/st Paul Airport, MN
T90 South St. Paul South St. Paul20,611 people 51 in 15 Minneapolis/st Paul Airport, MN
T90 Mendota Heights Mendota Heights11,612 people 51 in 15 Minneapolis/st Paul Airport, MN
T90 Map of St. Paul Park St. Paul Park5,457 people 51 in 15 Minneapolis/st Paul Airport, MN
T90 Map of Newport Newport4,754 people 51 in 15 Minneapolis/st Paul Airport, MN
99 Wadena Wadena4,419 people 51 in 16 Wadena 3 S, MN
100 BrockwayStearns County · 2,951 people 51 in 18 Royalton 5w, MN
101 St. James St. James4,767 people 50 in 16 St James WWTP, MN
T102 New London New LondonKandiyohi County · 2,936 people 50 in 18 New London, MN
T102 Paynesville Paynesville2,519 people 50 in 18 New London, MN
T104 Hutchinson Hutchinson14,680 people 50 in 17 Brownton WWTP, MN
T104 Glencoe Glencoe5,695 people 50 in 17 Brownton WWTP, MN
T106 Map of Thief River Falls Thief River Falls8,823 people 50 in 17 Red Lake Falls, MN
T106 Crookston Crookston7,344 people 50 in 17 Red Lake Falls, MN
T108 West LakelandWashington County · 3,941 people 50 in 17 Roberts WWTP, WI
T108 Map of Bayport Bayport3,905 people 50 in 17 Roberts WWTP, WI
T110 Fergus Falls Fergus Falls14,181 people 50 in 15 Rothsay, MN
T110 Breckenridge3,349 people 50 in 15 Rothsay, MN
T110 Barnesville Barnesville2,762 people 50 in 15 Rothsay, MN
T113 Map of Big Lake Big Lake12,367 people 49 in 17 Santiago 3 E, MN
T113 Map of Zimmerman Zimmerman6,546 people 49 in 17 Santiago 3 E, MN
T113 LivoniaSherburne County · 6,308 people 49 in 17 Santiago 3 E, MN
T113 Becker BeckerSherburne County · 5,601 people 49 in 17 Santiago 3 E, MN
T113 Princeton Princeton5,274 people 49 in 17 Santiago 3 E, MN
T113 Becker Becker5,034 people 49 in 17 Santiago 3 E, MN
T113 Orrock OrrockSherburne County · 3,642 people 49 in 17 Santiago 3 E, MN
T113 Blue HillSherburne County · 2,571 people 49 in 17 Santiago 3 E, MN
T121 Bemidji Bemidji15,569 people 49 in 17 Cass Lake, MN
T121 NorthernBeltrami County · 3,659 people 49 in 17 Cass Lake, MN
T121 Bemidji BemidjiBeltrami County · 3,363 people 49 in 17 Cass Lake, MN
T121 Milaca Milaca3,044 people 49 in 15 Milaca, MN
125 East Grand Forks East Grand Forks9,028 people 49 in 15 Grand Forks Univ (nws), ND
126 Jackson Jackson3,287 people 49 in 15 Lakefield 2ne, MN
T127 Brainerd Brainerd14,468 people 48 in 17 Brainerd, MN
T127 Map of Baxter Baxter8,966 people 48 in 17 Brainerd, MN
T127 SylvanCass County · 2,982 people 48 in 17 Brainerd, MN
T130 St. Cloud St. Cloud70,629 people 48 in 15 St Cloud Rgnl Airport, MN
T130 Sartell Sartell19,758 people 48 in 15 St Cloud Rgnl Airport, MN
T130 Sauk Rapids Sauk Rapids13,852 people 48 in 15 St Cloud Rgnl Airport, MN
T130 Map of Waite Park Waite Park8,399 people 48 in 15 St Cloud Rgnl Airport, MN
T130 St. Augusta3,625 people 48 in 15 St Cloud Rgnl Airport, MN
T130 WatabBenton County · 3,433 people 48 in 15 St Cloud Rgnl Airport, MN
T130 Map of Foley Foley2,675 people 48 in 15 St Cloud Rgnl Airport, MN
T130 PalmerSherburne County · 2,581 people 48 in 15 St Cloud Rgnl Airport, MN
138 Detroit Lakes Detroit Lakes10,025 people 48 in 16 Detroit Lakes 1 Nne, MN
T139 Fairmont Fairmont10,296 people 47 in 16 Winnebago, MN
T139 Map of Blue Earth Blue Earth3,165 people 47 in 16 Winnebago, MN
T141 Alexandria Alexandria14,735 people 46 in 19 Glenwood 2wnw, MN
T141 La GrandDouglas County · 4,281 people 46 in 19 Glenwood 2wnw, MN
T141 Alexandria AlexandriaDouglas County · 3,027 people 46 in 19 Glenwood 2wnw, MN
T141 Glenwood Glenwood2,633 people 46 in 19 Glenwood 2wnw, MN
145 Willmar Willmar21,378 people 46 in 15 Willmar WWTP, MN
146 Perham Perham3,627 people 46 in 16 New York Mills, MN
147 Map of Montevideo Montevideo5,315 people 46 in 12 Montevideo 1sw, MN
148 Worthington13,780 people 45 in 17 Worthington 2 Nne, MN
T149 St. Michael20,010 people 45 in 14 Rockford, MN
T149 Rogers13,685 people 45 in 14 Rockford, MN
T149 Map of Minnetrista Minnetrista8,708 people 45 in 14 Rockford, MN
T149 Albertville Albertville8,207 people 45 in 14 Rockford, MN
T149 Map of Corcoran Corcoran7,302 people 45 in 14 Rockford, MN
T149 Map of Medina Medina6,968 people 45 in 14 Rockford, MN
T149 Delano Delano6,942 people 45 in 14 Rockford, MN
T149 Watertown Watertown4,790 people 45 in 14 Rockford, MN
T149 Rockford Rockford4,597 people 45 in 14 Rockford, MN
T149 Montrose Montrose3,888 people 45 in 14 Rockford, MN
T149 Map of Independence Independence3,694 people 45 in 14 Rockford, MN
T149 Hanover Hanover3,626 people 45 in 14 Rockford, MN
T149 Rockford RockfordWright County · 3,407 people 45 in 14 Rockford, MN
T149 FranklinWright County · 2,904 people 45 in 14 Rockford, MN
T149 Greenfield Greenfield2,894 people 45 in 14 Rockford, MN
T164 St. Charles St. Charles4,037 people 45 in 15 Altura 5w, MN
T164 Plainview Plainview3,500 people 45 in 15 Altura 5w, MN
166 Map of Caledonia Caledonia2,820 people 45 in 15 Caledonia, MN
167 Morris Morris5,128 people 45 in 15 Morris W Cntrl Rsch & Outreach, MN
T168 Map of Kasson Kasson7,050 people 44 in 12 Byron 4north, MN
T168 Map of Byron Byron6,646 people 44 in 12 Byron 4north, MN
T168 Map of Dodge Center Dodge Center2,880 people 44 in 12 Byron 4north, MN
171 Owatonna Owatonna26,498 people 44 in 15 Owatonna, MN
T172 Map of Coon Rapids Coon Rapids63,468 people 44 in 16 Andover 1n, MN
T172 Map of Andover Andover33,035 people 44 in 16 Andover 1n, MN
T172 Anoka Anoka17,970 people 44 in 16 Andover 1n, MN
T172 Map of Red Wing Red Wing16,758 people 44 in 15 Red Wing, MN
T172 Cambridge Cambridge10,307 people 44 in 12 Cambridge, MN
T172 Isanti Isanti7,210 people 44 in 12 Cambridge, MN
T172 BradfordIsanti County · 3,473 people 44 in 12 Cambridge, MN
T172 Rush City Rush City3,295 people 44 in 12 Cambridge, MN
T172 Cambridge CambridgeIsanti County · 2,534 people 44 in 12 Cambridge, MN
181 Redwood Falls Redwood Falls5,068 people 44 in 13 Redwood Falls, MN
T182 Marshall Marshall13,896 people 44 in 14 Marshall, MN
T182 Windom Windom4,799 people 44 in 17 Windom, MN
T182 Map of Zumbrota Zumbrota3,914 people 44 in 16 Zumbrota, MN
T182 Map of Pine Island Pine Island3,580 people 44 in 16 Zumbrota, MN
186 Austin Austin26,358 people 43 in 15 Austin Waste Wtp Facility, MN
T187 Faribault Faribault24,631 people 43 in 15 Faribault, MN
T187 Map of Northfield Northfield20,742 people 43 in 15 Faribault, MN
189 Map of La Crescent La Crescent5,251 people 43 in 13 La Crosse 4nnw, WI
T190 Chisago LakeChisago County · 4,908 people 43 in 14 St Croix Falls, WI
T190 Benson Benson3,441 people 43 in 13 Benson, MN
192 Map of Chatfield Chatfield2,559 people 42 in 14 Preston, MN
T193 Litchfield6,576 people 41 in 12 Dassel 3se, MN
T193 Cokato Cokato2,782 people 41 in 12 Dassel 3se, MN
T195 Lakeville Lakeville74,354 people 41 in 13 Farmington 3 Nw, MN
T195 Burnsville Burnsville64,463 people 41 in 13 Farmington 3 Nw, MN
T195 Apple Valley Apple Valley55,679 people 41 in 13 Farmington 3 Nw, MN
T195 Cottage Grove Cottage Grove40,992 people 41 in 13 Farmington 3 Nw, MN
T195 Rosemount Rosemount27,562 people 41 in 13 Farmington 3 Nw, MN
T195 Map of Farmington Farmington23,902 people 41 in 13 Farmington 3 Nw, MN
T195 Hastings Hastings22,117 people 41 in 13 Farmington 3 Nw, MN
T195 Credit River5,551 people 41 in 13 Farmington 3 Nw, MN
T195 Elko New Market Elko New Market5,002 people 41 in 13 Farmington 3 Nw, MN
T195 Cannon Falls4,227 people 41 in 13 Farmington 3 Nw, MN
T195 Map of New Market New MarketScott County · 3,556 people 41 in 13 Farmington 3 Nw, MN
T195 Empire3,092 people 41 in 13 Farmington 3 Nw, MN
T207 St. Paul St. Paul307,284 people 40 in 8 U Of Mn St Paul, MN
T207 Woodbury Woodbury78,305 people 40 in 8 U Of Mn St Paul, MN
T207 Blaine Blaine72,488 people 40 in 8 U Of Mn St Paul, MN
T207 Maplewood Maplewood40,695 people 40 in 8 U Of Mn St Paul, MN
T207 Roseville Roseville35,802 people 40 in 8 U Of Mn St Paul, MN
T207 Map of Oakdale Oakdale28,585 people 40 in 8 U Of Mn St Paul, MN
T207 Shoreview Shoreview26,714 people 40 in 8 U Of Mn St Paul, MN
T207 Map of White Bear Lake White Bear Lake23,908 people 40 in 8 U Of Mn St Paul, MN
T207 New Brighton New Brighton22,710 people 40 in 8 U Of Mn St Paul, MN
T207 Lino Lakes Lino Lakes22,113 people 40 in 8 U Of Mn St Paul, MN
T207 West St. Paul West St. Paul21,382 people 40 in 8 U Of Mn St Paul, MN
T207 Stillwater Stillwater19,355 people 40 in 8 U Of Mn St Paul, MN
T207 Map of Hugo Hugo16,340 people 40 in 8 U Of Mn St Paul, MN
T207 Lake Elmo Lake Elmo13,140 people 40 in 8 U Of Mn St Paul, MN
T207 Map of Mounds View Mounds View12,926 people 40 in 8 U Of Mn St Paul, MN
T207 Vadnais Heights Vadnais Heights12,838 people 40 in 8 U Of Mn St Paul, MN
T207 North St. Paul North St. Paul12,570 people 40 in 8 U Of Mn St Paul, MN
T207 White Bear White BearRamsey County · 10,656 people 40 in 8 U Of Mn St Paul, MN
T207 Map of Little Canada Little Canada10,514 people 40 in 8 U Of Mn St Paul, MN
T207 Map of St. Anthony St. Anthony9,671 people 40 in 8 U Of Mn St Paul, MN
T207 Arden Hills Arden Hills9,658 people 40 in 8 U Of Mn St Paul, MN
T207 Mahtomedi Mahtomedi8,133 people 40 in 8 U Of Mn St Paul, MN
T207 North Oaks North Oaks5,179 people 40 in 8 U Of Mn St Paul, MN
T207 Falcon Heights Falcon Heights5,085 people 40 in 8 U Of Mn St Paul, MN
T207 Circle Pines Circle Pines4,968 people 40 in 8 U Of Mn St Paul, MN
T207 Oak Park Heights Oak Park Heights4,756 people 40 in 8 U Of Mn St Paul, MN
T207 Map of Grant Grant3,950 people 40 in 8 U Of Mn St Paul, MN
T207 Centerville Centerville3,935 people 40 in 8 U Of Mn St Paul, MN
T207 Afton Afton2,957 people 40 in 8 U Of Mn St Paul, MN
T207 Lexington Lexington2,770 people 40 in 8 U Of Mn St Paul, MN
T237 Buffalo16,499 people 40 in 13 Buffalo 2ne, MN
T237 Monticello Monticello14,858 people 40 in 13 Buffalo 2ne, MN
T237 Belle Plaine Belle Plaine7,423 people 40 in 9 Jordan 1ssw, MN
T237 Jordan Jordan6,771 people 40 in 9 Jordan 1ssw, MN
T237 Spring Lake Spring LakeScott County · 3,478 people 40 in 9 Jordan 1ssw, MN
T237 Annandale Annandale3,399 people 40 in 13 Buffalo 2ne, MN
T237 Monticello MonticelloWright County · 3,328 people 40 in 13 Buffalo 2ne, MN
T237 Cedar LakeScott County · 3,061 people 40 in 9 Jordan 1ssw, MN
T237 Wabasha Wabasha2,587 people 40 in 12 Wabasha, MN
T237 Silver CreekWright County · 2,582 people 40 in 13 Buffalo 2ne, MN
T237 CorinnaWright County · 2,559 people 40 in 13 Buffalo 2ne, MN
248 Map of Pipestone Pipestone4,129 people 40 in 15 Pipestone, MN
249 Map of Albert Lea Albert Lea18,330 people 40 in 15 Albert Lea 3se, MN
T250 Breezy Point2,687 people 39 in 15 Pine Rvr Dam, MN
T250 Map of Crosslake Crosslake2,521 people 39 in 15 Pine Rvr Dam, MN
T252 Map of New Prague New Prague8,237 people 39 in 14 Montgomery, MN
T252 Map of Lonsdale Lonsdale4,896 people 39 in 14 Montgomery, MN
T252 Le Sueur Le Sueur4,215 people 39 in 14 Montgomery, MN
T252 Montgomery Montgomery3,434 people 39 in 14 Montgomery, MN
T252 Map of Le Center Le Center2,513 people 39 in 14 Montgomery, MN
T257 Sauk Centre Sauk Centre4,621 people 39 in 16 Melrose, MN
T257 Map of Melrose Melrose3,671 people 39 in 16 Melrose, MN
T259 Mankato Mankato45,473 people 39 in 13 Mankato, MN
T259 North Mankato14,211 people 39 in 13 Mankato, MN
T259 Map of Eagle Lake Eagle Lake3,281 people 39 in 13 Mankato, MN
T259 Map of Lake Crystal Lake Crystal2,606 people 39 in 13 Mankato, MN
T263 New Ulm New Ulm14,056 people 38 in 13 New Ulm 2 Se, MN
T263 Sleepy Eye Sleepy Eye3,444 people 38 in 13 New Ulm 2 Se, MN
265 St. Peter12,185 people 38 in 11 St Peter, MN
T266 Winona Winona26,009 people 38 in 14 Winona Dam 5 A, MN
T266 Map of Goodview Goodview4,103 people 38 in 14 Winona Dam 5 A, MN
T268 Elk River Elk River26,793 people 36 in 13 Elk Rvr, MN
T268 Map of Otsego Otsego22,245 people 36 in 13 Elk Rvr, MN
T268 Big Lake Big LakeSherburne County · 8,147 people 36 in 13 Elk Rvr, MN
271 Luverne Luverne4,925 people 35 in 13 Rock Rapids, IA
272 Lake City5,034 people 34 in 11 Lake City, MN

How this ranking works

We rank every town by average snowfall in a normal winter, 1991–2020, at the nearest NOAA weather station. Towns that get less than an inch a year aren’t ranked. The town with the highest figure ranks #1. Normals are 30-year averages, not a forecast, and each town’s Climate page shows its whole year month by month.

Snow and frost are measured at weather stations, and each town uses the nearest NOAA station with a matching climate (within 25 miles, with temperatures that agree with the town’s own). Towns near the same station share its figure, so they tie.

Only towns with at least 2,500 residents are ranked; Census estimates for smaller places are too uncertain. Population and income: U.S. Census Bureau American Community Survey 5-year estimates. Climate: NOAA NCEI U.S. Climate Normals, 1991–2020. Town photos: Wikimedia Commons, credited on each town’s page.

Same ranking in other states