MNMinnesota rankings

Highest-income towns in Minnesota

Ranked by median household income: half of households earn more, half earn less. 275 towns with 2,500+ residents.

U.S. Census ACS 2020–2024 5-year

Minnesota · Highest income

Grand Lake ranks #104 of 275

$101K median household income · Visit Grand Lake →

Grand Lake ranks #104 of 275 for highest income in Minnesota
#TownMedian household incomeHome valueBachelor's+
1 Map of North Oaks North Oaks5,179 people $232K $821,200 74.7%
2 Map of Medina Medina6,968 people $231K $736,700 67.4%
3 West LakelandWashington County · 3,941 people $216K $709,300 62.1%
4 Map of Deephaven Deephaven3,793 people $198K $935,900 83.5%
5 Victoria11,295 people $196K $581,200 66.4%
6 Map of Independence Independence3,694 people $187K $663,400 66.7%
7 Orono8,195 people $174K $1,004,500 72%
8 Cedar LakeScott County · 3,061 people $174K $543,100 36.8%
9 Shorewood7,647 people $171K $703,200 72.1%
10 Minnetrista8,708 people $163K $658,300 68.5%
11 Nowthen Nowthen4,538 people $160K $460,000 37.9%
12 Rogers13,685 people $159K $459,700 55.3%
13 Hanover3,626 people $157K $447,900 52.4%
14 Map of Greenfield Greenfield2,894 people $154K $567,700 54.3%
15 Lake Elmo13,140 people $154K $597,000 61.9%
16 Elko New Market5,002 people $152K $433,100 42.1%
17 Map of Grant Grant3,950 people $151K $683,400 58.3%
18 CascadeOlmsted County · 2,826 people $150K $506,800 54.9%
19 Dayton9,095 people $149K $511,300 44%
20 Empire3,092 people $148K $469,500 37.4%
21 Carver Carver6,239 people $148K $445,800 65.4%
22 Spring LakeScott County · 3,478 people $147K $629,600 41.2%
23 Chanhassen Chanhassen26,006 people $144K $566,300 64.1%
24 Credit River5,551 people $143K $595,000 44.2%
25 St. Augusta3,625 people $140K $388,400 43.7%
26 Lakeville74,354 people $139K $452,500 50.6%
27 Map of Andover Andover33,035 people $138K $410,200 38.2%
28 MayWashington County · 2,637 people $137K $685,700 53.6%
29 LivoniaSherburne County · 6,308 people $137K $411,200 27.1%
30 Map of Plymouth Plymouth79,220 people $137K $491,200 65.9%
31 Prior Lake28,016 people $134K $450,700 52.4%
32 Arden Hills9,658 people $134K $441,900 62.4%
33 Map of Corcoran Corcoran7,302 people $133K $569,400 54.6%
34 Afton2,957 people $133K $679,300 58.6%
35 Chisago LakeChisago County · 4,908 people $133K $437,700 30.1%
36 Mendota Heights11,612 people $133K $520,300 67.5%
37 Albertville Albertville8,207 people $133K $343,700 44.7%
38 Map of Maple Grove Maple Grove71,173 people $133K $418,300 57.1%
39 Wayzata Wayzata4,354 people $132K $1,153,400 72.7%
40 St. Michael20,010 people $131K $390,100 43.7%
41 Map of Eden Prairie Eden Prairie63,051 people $130K $473,900 64.9%
42 New MarketScott County · 3,556 people $130K $595,300 48.8%
43 Rosemount27,562 people $130K $424,100 51.6%
44 White BearRamsey County · 10,656 people $129K $386,300 54.8%
45 Map of Edina Edina53,262 people $129K $646,300 72.7%
46 Lino Lakes22,113 people $127K $407,200 43.1%
47 Orrock OrrockSherburne County · 3,642 people $126K $407,300 36.5%
48 Bayport3,905 people $126K $376,900 27.5%
49 Map of Savage Savage32,889 people $126K $432,300 53.7%
50 Woodbury Woodbury78,305 people $125K $450,200 61.3%
51 Map of Mayer Mayer2,518 people $125K $342,700 36.4%
52 Byron6,646 people $124K $345,300 48.2%
53 Farmington23,902 people $124K $366,200 38.7%
54 Mahtomedi8,133 people $123K $476,000 64.7%
55 Monticello MonticelloWright County · 3,328 people $123K $370,800 24.7%
56 Columbus Columbus4,248 people $123K $460,200 28.8%
57 Big Lake Big LakeSherburne County · 8,147 people $123K $404,900 35.9%
58 Centerville3,935 people $123K $376,900 42.5%
59 Map of Becker BeckerSherburne County · 5,601 people $121K $418,700 38.1%
60 Cottage Grove40,992 people $121K $378,800 40.8%
61 PalmerSherburne County · 2,581 people $121K $382,700 36.6%
62 Map of Big Lake Big Lake12,367 people $121K $330,200 26.8%
63 Ham Lake16,702 people $120K $442,500 36.9%
64 Map of Otsego Otsego22,245 people $120K $396,700 40%
65 Minnetonka53,064 people $120K $475,800 65%
66 ThomsonCarlton County · 5,534 people $119K $339,000 46.6%
67 Oak Grove9,130 people $118K $423,300 27%
68 MarionOlmsted County · 4,105 people $117K $416,100 44.9%
69 Ramsey28,421 people $116K $359,600 34.4%
70 BrockwayStearns County · 2,951 people $116K $363,000 22.7%
71 Map of Hugo Hugo16,340 people $116K $408,900 46.5%
72 Map of Champlin Champlin23,294 people $116K $358,700 36.9%
73 LinwoodAnoka County · 5,235 people $116K $380,100 24.3%
74 CollegevilleStearns County · 3,351 people $116K $468,600 43.7%
75 Silver CreekWright County · 2,582 people $116K $452,600 30.5%
76 FranklinWright County · 2,904 people $112K $637,800 36.2%
77 St. Francis8,372 people $111K $327,600 17.5%
78 Map of Waconia Waconia13,434 people $111K $431,000 48.9%
79 Map of Chaska Chaska28,706 people $111K $404,700 46.6%
80 Jordan Jordan6,771 people $110K $336,200 23.9%
81 Map of East Bethel East Bethel12,115 people $110K $363,900 23.1%
82 Delano Delano6,942 people $110K $375,200 48%
83 Golden Valley21,725 people $109K $431,400 60%
84 Elk River26,793 people $109K $370,100 33.8%
85 Map of Eagan Eagan68,000 people $109K $397,100 54.7%
86 Shoreview Shoreview26,714 people $108K $383,700 61.2%
87 WakefieldStearns County · 2,800 people $108K $394,700 31.9%
88 Blue HillSherburne County · 2,571 people $108K $373,300 23.4%
89 CambridgeIsanti County · 2,534 people $108K $372,800 23.7%
90 Wyoming Wyoming8,087 people $108K $365,700 37.3%
91 Shakopee46,012 people $107K $374,800 40.4%
92 Blaine Blaine72,488 people $107K $352,400 36.9%
93 Stillwater Stillwater19,355 people $106K $414,200 51%
94 New London New LondonKandiyohi County · 2,936 people $105K $351,400 36.3%
95 Map of Pine Island Pine Island3,580 people $104K $350,500 37%
96 Map of Excelsior Excelsior2,570 people $103K $909,200 58.2%
97 Map of Montrose Montrose3,888 people $103K $275,700 35.4%
98 Chisago City Chisago City5,899 people $102K $413,000 31.2%
99 Scandia3,950 people $102K $475,800 40.9%
100 Map of Circle Pines Circle Pines4,968 people $102K $293,600 42.2%
101 St. Louis Park49,594 people $102K $386,800 64.2%
102 Map of Inver Grove Heights Inver Grove Heights35,906 people $101K $363,400 43.5%
103 Map of St. Paul Park St. Paul Park5,457 people $101K $263,500 24.5%
104 Grand LakeSt. Louis County · 2,715 people $101K $329,000 34.9%
105 NorthernBeltrami County · 3,659 people $100K $320,200 50.4%
106 Watertown4,790 people $100K $337,200 22.5%
107 Belle Plaine7,423 people $99K $318,200 32.7%
108 WatabBenton County · 3,433 people $99K $318,200 28%
109 Vadnais Heights12,838 people $99K $363,100 45.9%
110 Stacy4,384 people $98K $323,800 18.4%
111 Lindstrom4,978 people $98K $358,100 21.4%
112 Barnesville2,762 people $98K $248,700 30.7%
113 Map of Apple Valley Apple Valley55,679 people $98K $370,400 45.9%
114 St. Anthony9,671 people $97K $387,500 57.5%
115 Eagle Lake3,281 people $97K $276,500 37.6%
116 Falcon Heights Falcon Heights5,085 people $97K $384,500 72.9%
117 St. Charles4,037 people $96K $256,600 33.3%
118 Map of Chatfield Chatfield2,559 people $96K $241,600 32.1%
119 SylvanCass County · 2,982 people $95K $298,200 31.8%
120 Lonsdale4,896 people $95K $357,000 25.1%
121 New Prague8,237 people $95K $350,500 32%
122 Rockford Rockford4,597 people $94K $329,200 38.1%
123 La GrandDouglas County · 4,281 people $94K $384,600 33.7%
124 Hastings22,117 people $94K $322,400 30.9%
125 Map of Dodge Center Dodge Center2,880 people $94K $197,600 16.7%
126 Map of Alexandria AlexandriaDouglas County · 3,027 people $94K $391,500 39.1%
127 Oakdale28,585 people $94K $318,100 35.6%
128 Rockford RockfordWright County · 3,407 people $93K $404,900 27.5%
129 Map of Kasson Kasson7,050 people $93K $285,200 38.1%
130 Map of Bloomington Bloomington88,665 people $93K $361,700 46.2%
131 Forest Lake Forest Lake20,729 people $93K $393,500 35.4%
132 Cohasset2,703 people $93K $330,500 34.3%
133 BradfordIsanti County · 3,473 people $93K $336,800 17.8%
134 Crystal22,476 people $93K $296,100 37.1%
135 Maplewood40,695 people $91K $323,200 35.3%
136 Hermantown10,218 people $91K $382,300 39.9%
137 Spring Lake Park Spring Lake Park7,032 people $91K $290,100 25.6%
138 Dilworth4,713 people $91K $261,800 41.5%
139 North Branch11,565 people $90K $322,300 18.4%
140 Map of Mounds View Mounds View12,926 people $90K $324,200 36.6%
141 Brooklyn Park Brooklyn Park83,876 people $90K $336,200 32.7%
142 Rice Lake4,153 people $90K $309,600 33.9%
143 Rochester122,330 people $89K $310,500 50.9%
144 Buffalo16,499 people $89K $314,400 32%
145 New Brighton22,710 people $89K $364,700 48.2%
146 Robbinsdale14,234 people $88K $295,600 41.4%
147 Coon Rapids63,468 people $88K $305,800 25.7%
148 South St. Paul20,611 people $88K $281,600 32.5%
149 CorinnaWright County · 2,559 people $88K $457,100 38.4%
150 Isanti Isanti7,210 people $88K $290,600 24.9%
151 Burnsville64,463 people $87K $355,200 39.8%
152 Roseville35,802 people $87K $352,100 55%
153 Map of Mound Mound9,107 people $87K $370,800 45.2%
154 Becker5,034 people $86K $271,300 19.9%
155 Breezy Point2,687 people $86K $340,800 32.5%
156 Zimmerman6,546 people $86K $323,600 21.2%
157 Map of La Crescent La Crescent5,251 people $85K $272,400 40.6%
158 Richfield Richfield36,642 people $85K $344,000 43.7%
159 Northfield20,742 people $85K $329,400 53.3%
160 North St. Paul12,570 people $85K $298,500 31.3%
161 Map of Sartell Sartell19,758 people $84K $297,300 40.9%
162 Cannon Falls4,227 people $84K $263,300 24.7%
163 White Bear Lake23,908 people $84K $331,800 41.7%
164 Lake Crystal2,606 people $83K $204,400 27.6%
165 Map of Mountain Iron Mountain Iron2,860 people $83K $192,800 23.3%
166 Plainview Plainview3,500 people $83K $245,300 31%
167 Bemidji BemidjiBeltrami County · 3,363 people $83K $246,000 40.3%
168 Stewartville Stewartville6,807 people $83K $265,300 34.5%
169 Map of Oak Park Heights Oak Park Heights4,756 people $82K $354,800 38.9%
170 Minneapolis427,246 people $81K $362,200 55.5%
171 North Mankato14,211 people $81K $262,100 40.7%
172 Owatonna26,498 people $81K $245,200 29.3%
173 Map of Le Center Le Center2,513 people $81K $209,600 17.9%
174 Map of Crosslake Crosslake2,521 people $80K $473,700 30.4%
175 Monticello14,858 people $80K $323,700 23.5%
176 Montgomery3,434 people $79K $234,700 17%
177 Harris HarrisItasca County · 3,332 people $79K $301,800 30.9%
178 Le Sueur4,215 people $79K $244,000 25.2%
179 Map of Zumbrota Zumbrota3,914 people $78K $249,300 32.7%
180 Little Canada10,514 people $78K $319,800 40.3%
181 PokegamaPine County · 2,847 people $78K $316,000 18.1%
182 Map of Fridley Fridley30,241 people $78K $302,900 30%
183 Map of New Hope New Hope21,181 people $78K $337,000 36.1%
184 East Grand Forks East Grand Forks9,028 people $78K $255,600 26%
185 Map of Caledonia Caledonia2,820 people $76K $157,900 16.9%
186 Map of Anoka Anoka17,970 people $76K $308,700 26.6%
187 Lexington2,770 people $75K $289,800 25%
188 Paynesville2,519 people $75K $178,200 27.2%
189 Hopkins18,819 people $75K $375,600 45.6%
190 St. Joseph St. Joseph7,021 people $75K $237,700 27.5%
191 Map of Windom Windom4,799 people $75K $169,700 26%
192 Map of Goodview Goodview4,103 people $75K $254,200 34.5%
193 Columbia Heights Columbia Heights22,155 people $74K $277,600 32.5%
194 St. Paul307,284 people $73K $294,500 43.8%
195 Hutchinson14,680 people $73K $229,600 26.1%
196 Moorhead Moorhead45,036 people $73K $249,000 41.6%
197 Brooklyn Center Brooklyn Center32,479 people $73K $274,300 24.6%
198 Lake City5,034 people $72K $238,700 28.4%
199 Map of Cold Spring Cold Spring4,249 people $72K $280,400 31%
200 Newport4,754 people $72K $378,100 27.4%
201 Sauk Rapids Sauk Rapids13,852 people $72K $256,100 29.3%
202 Norwood Young America3,849 people $71K $299,300 23.3%
203 Glencoe5,695 people $71K $227,900 10.4%
204 Map of Thief River Falls Thief River Falls8,823 people $71K $175,400 21.2%
205 Baxter8,966 people $71K $324,100 38.3%
206 Cokato2,782 people $70K $223,300 15.4%
207 Map of Jackson Jackson3,287 people $70K $128,500 31.3%
208 Map of Albany Albany2,821 people $69K $238,500 20.5%
209 Map of Cambridge Cambridge10,307 people $69K $251,600 18.8%
210 Map of Duluth Duluth87,093 people $69K $242,700 44%
211 Montevideo5,315 people $69K $141,000 19%
212 Marshall13,896 people $69K $210,300 35.5%
213 West St. Paul21,382 people $68K $301,300 35.5%
214 Map of Austin Austin26,358 people $68K $163,900 23.6%
215 Morris5,128 people $68K $209,600 37.3%
216 Pipestone4,129 people $68K $114,100 25.4%
217 Map of Proctor Proctor3,100 people $67K $224,700 25.6%
218 Red Wing16,758 people $67K $237,300 25.3%
219 Sleepy Eye3,444 people $67K $147,600 19.1%
220 Mankato45,473 people $67K $261,700 35.1%
221 Map of Blue Earth Blue Earth3,165 people $67K $143,600 23.6%
222 Two Harbors3,567 people $66K $206,800 22%
223 Annandale Annandale3,399 people $66K $251,800 23.4%
224 St. Peter12,185 people $65K $250,700 34.5%
225 Map of Albert Lea Albert Lea18,330 people $65K $157,500 17.4%
226 Wabasha2,587 people $65K $262,300 22.4%
227 New Ulm14,056 people $64K $204,200 27.9%
228 Luverne Luverne4,925 people $64K $208,000 29.2%
229 Moose Lake2,863 people $64K $205,000 9.4%
230 Waseca9,164 people $64K $189,200 17.2%
231 Pelican Rapids2,586 people $64K $174,100 19.3%
232 Detroit Lakes10,025 people $63K $265,800 32.8%
233 Sauk Centre Sauk Centre4,621 people $63K $225,700 20.8%
234 Willmar21,378 people $62K $198,400 25.3%
235 Map of Princeton Princeton5,274 people $62K $218,700 13.6%
236 Map of Osseo Osseo2,584 people $62K $306,500 31.9%
237 Worthington13,780 people $62K $210,300 16.8%
238 Redwood Falls5,068 people $62K $162,100 24.3%
239 Faribault24,631 people $61K $241,500 17.6%
240 St. Cloud70,629 people $61K $225,000 30.4%
241 Map of Alexandria Alexandria14,735 people $61K $275,300 33.2%
242 Cloquet12,537 people $61K $212,700 25.8%
243 Grand Rapids11,207 people $61K $213,800 28.8%
244 St. James St. James4,767 people $60K $122,100 15.5%
245 Roseau2,736 people $60K $164,100 21.1%
246 Map of Melrose Melrose3,671 people $60K $207,200 15.3%
247 Granite Falls2,685 people $59K $136,700 21.1%
248 Map of Waite Park Waite Park8,399 people $59K $219,400 20.1%
249 Breckenridge3,349 people $59K $144,500 22.6%
250 Map of Foley Foley2,675 people $59K $203,800 17.9%
251 Long Prairie Long Prairie3,693 people $59K $152,000 11%
252 Rush City Rush City3,295 people $59K $233,100 7.9%
253 International Falls5,642 people $58K $120,400 21%
254 Map of Crookston Crookston7,344 people $57K $185,600 34.7%
255 Winona Winona26,009 people $56K $201,800 36.3%
256 Map of Fergus Falls Fergus Falls14,181 people $56K $194,000 29.3%
257 Map of Brainerd Brainerd14,468 people $56K $192,500 20.3%
258 Wadena4,419 people $56K $160,800 17.6%
259 Hibbing16,057 people $56K $130,200 18.6%
260 Bemidji Bemidji15,569 people $55K $198,300 32.5%
261 WhiteSt. Louis County · 3,109 people $55K $123,600 17.9%
262 Litchfield6,576 people $55K $187,600 17.2%
263 Fairmont Fairmont10,296 people $53K $169,900 25.7%
264 Benson Benson3,441 people $53K $156,000 31.4%
265 Mora Mora3,732 people $53K $171,800 16.7%
266 Pine City3,468 people $52K $186,900 17.9%
267 Virginia8,332 people $52K $120,600 20.9%
268 Map of Chisholm Chisholm4,712 people $51K $109,200 16.6%
269 Eveleth Eveleth3,448 people $51K $97,600 19.9%
270 Perham Perham3,627 people $50K $199,000 30%
271 Map of Milaca Milaca3,044 people $50K $203,400 15.2%
272 Little Falls9,121 people $48K $202,600 22.6%
273 Park Rapids4,270 people $45K $227,500 22%
274 Ely3,240 people $44K $157,300 31.6%
275 Glenwood2,633 people $42K $179,400 27%

How this ranking works

We rank every town by median household income: half of households earn more, half earn less. The town with the highest figure ranks #1. For comparison, the figure for Minnesota as a whole is $89K.

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. Town photos: Wikimedia Commons, credited on each town’s page.

Same ranking in other states