Ranked from official statistics; every city opens its own guide.
Click any dot to open that city: jobs, pay, rent, commute, county economy and climate. Dot size follows population; colours follow the state flag.
By AtiveSite · Published 07/11/2026 · Updated 07/11/2026 · Every figure is linked to its source below.
Among the 80 largest places in Minnesota, Edina has the largest share of adults with a bachelor's degree (72.7%), followed by Plymouth and Minnetonka. Click any column to sort; click a city for its guide.
Across the 80 places in Minnesota that we cover, the median is 40.0% and the average 40.8%; the figure runs from 72.7% (Edina) to 17.4% (Albert Lea). That is a spread of 4.2 times between the two ends. The state figure is 39.4%; 41 of the 80 places are above it and 39 at or below.
The first five are Edina, Plymouth, Minnetonka, Eden Prairie, St. Louis Park. A high or low position is not good or bad on its own: read it together with the other measures on the city pages. Use the Compare tab on each city page to see how two places differ across income, rent, commute and education, and check the county page for the local job market.
| # ⇅ | City ⇅ | County ⇅ | Bachelor's degree or higher ⇅ | Population ⇅ | Median household income ⇅ | Median rent ⇅ |
|---|---|---|---|---|---|---|
| 1 | Edina | Hennepin County | 72.7% | 53,262 | $128,767 | $1,844 |
| 2 | Plymouth | Hennepin County | 65.9% | 79,220 | $136,534 | $1,766 |
| 3 | Minnetonka | Hennepin County | 65.0% | 53,064 | $119,517 | $1,779 |
| 4 | Eden Prairie | Hennepin County | 64.9% | 63,051 | $130,489 | $1,833 |
| 5 | St. Louis Park | Hennepin County | 64.2% | 49,594 | $101,648 | $1,644 |
| 6 | Chanhassen | Carver County | 64.1% | 26,006 | $143,651 | $1,831 |
| 7 | Woodbury | Washington County | 61.3% | 78,305 | $125,310 | $1,908 |
| 8 | Shoreview | Ramsey County | 61.2% | 26,714 | $108,370 | $1,661 |
| 9 | Golden Valley | Hennepin County | 60.0% | 21,725 | $108,772 | $1,785 |
| 10 | Maple Grove | Hennepin County | 57.1% | 71,173 | $132,731 | $1,868 |
| 11 | Minneapolis | Hennepin County | 55.5% | 427,246 | $80,846 | $1,371 |
| 12 | Roseville | Ramsey County | 55.0% | 35,802 | $86,930 | $1,374 |
| 13 | Eagan | Dakota County | 54.7% | 68,000 | $108,690 | $1,679 |
| 14 | Savage | Scott County | 53.7% | 32,889 | $125,513 | $1,766 |
| 15 | Northfield | Rice County | 53.3% | 20,742 | $84,895 | $1,103 |
| 16 | Prior Lake | Scott County | 52.4% | 28,016 | $134,255 | $1,654 |
| 17 | Rosemount | Dakota County | 51.6% | 27,562 | $129,625 | $1,640 |
| 18 | Stillwater | Washington County | 51.0% | 19,355 | $105,853 | $1,622 |
| 19 | Rochester | Olmsted County | 50.9% | 122,330 | $89,389 | $1,399 |
| 20 | Lakeville | Dakota County | 50.6% | 74,354 | $139,041 | $1,806 |
| 21 | New Brighton | Ramsey County | 48.2% | 22,710 | $88,521 | $1,397 |
| 22 | Chaska | Carver County | 46.6% | 28,706 | $110,956 | $1,553 |
| 23 | Hugo | Washington County | 46.5% | 16,340 | $116,228 | $1,891 |
| 24 | Bloomington | Hennepin County | 46.2% | 88,665 | $93,211 | $1,561 |
| 25 | Apple Valley | Dakota County | 45.9% | 55,679 | $97,673 | $1,738 |
| 26 | Hopkins | Hennepin County | 45.6% | 18,819 | $75,234 | $1,468 |
| 27 | Duluth | Saint Louis County | 44.0% | 87,093 | $68,807 | $1,087 |
| 28 | St. Paul | Ramsey County | 43.8% | 307,284 | $73,394 | $1,281 |
| 29 | Richfield | Hennepin County | 43.7% | 36,642 | $85,132 | $1,393 |
| 30 | St. Michael | Wright County | 43.7% | 20,010 | $131,274 | $1,483 |
| 31 | Inver Grove Heights | Dakota County | 43.5% | 35,906 | $101,316 | $1,465 |
| 32 | Lino Lakes | Anoka County | 43.1% | 22,113 | $127,181 | $1,874 |
| 33 | White Bear Lake | Ramsey County | 41.7% | 23,908 | $83,554 | $1,601 |
| 34 | Moorhead | Clay County | 41.6% | 45,036 | $72,761 | $1,033 |
| 35 | Robbinsdale | Hennepin County | 41.4% | 14,234 | $88,252 | $1,758 |
| 36 | Sartell | Stearns County | 40.9% | 19,758 | $84,131 | $1,275 |
| 37 | Cottage Grove | Washington County | 40.8% | 40,992 | $120,791 | $1,783 |
| 38 | North Mankato | Nicollet County | 40.7% | 14,211 | $80,791 | $973 |
| 39 | Shakopee | Scott County | 40.4% | 46,012 | $107,223 | $1,531 |
| 40 | Otsego | Wright County | 40.0% | 22,245 | $119,927 | $1,765 |
| 41 | Burnsville | Dakota County | 39.8% | 64,463 | $87,024 | $1,513 |
| 42 | Farmington | Dakota County | 38.7% | 23,902 | $123,673 | $1,241 |
| 43 | Andover | Anoka County | 38.2% | 33,035 | $137,593 | $2,037 |
| 44 | Crystal | Hennepin County | 37.1% | 22,476 | $92,513 | $1,467 |
| 45 | Champlin | Hennepin County | 36.9% | 23,294 | $116,102 | $1,689 |
| 46 | Ham Lake | Anoka County | 36.9% | 16,702 | $120,135 | $1,173 |
| 47 | Blaine | Anoka County | 36.9% | 72,488 | $106,801 | $1,705 |
| 48 | Winona | Winona County | 36.3% | 26,009 | $56,337 | $882 |
| 49 | New Hope | Hennepin County | 36.1% | 21,181 | $77,662 | $1,335 |
| 50 | Oakdale | Washington County | 35.6% | 28,585 | $93,772 | $1,481 |
| 51 | West St. Paul | Dakota County | 35.5% | 21,382 | $68,464 | $1,282 |
| 52 | Forest Lake | Washington County | 35.4% | 20,729 | $92,944 | $1,421 |
| 53 | Maplewood | Ramsey County | 35.3% | 40,695 | $91,394 | $1,406 |
| 54 | Mankato | Blue Earth County | 35.1% | 45,473 | $66,873 | $1,132 |
| 55 | Ramsey | Anoka County | 34.4% | 28,421 | $116,415 | $1,826 |
| 56 | Elk River | Sherburne County | 33.8% | 26,793 | $108,741 | $1,283 |
| 57 | Alexandria | Douglas County | 33.2% | 14,735 | $61,374 | $934 |
| 58 | Brooklyn Park | Hennepin County | 32.7% | 83,876 | $89,891 | $1,325 |
| 59 | Columbia Heights | Anoka County | 32.5% | 22,155 | $73,691 | $1,295 |
| 60 | South St. Paul | Dakota County | 32.5% | 20,611 | $87,994 | $1,199 |
| 61 | Bemidji | Beltrami County | 32.5% | 15,569 | $55,405 | $1,067 |
| 62 | Buffalo | Wright County | 32.0% | 16,499 | $88,820 | $1,182 |
| 63 | Hastings | Dakota County | 30.9% | 22,117 | $93,998 | $1,183 |
| 64 | St. Cloud | Stearns County | 30.4% | 70,629 | $61,374 | $1,003 |
| 65 | Fridley | Anoka County | 30.0% | 30,241 | $77,680 | $1,326 |
| 66 | Fergus Falls | Otter Tail County | 29.3% | 14,181 | $56,162 | $911 |
| 67 | Owatonna | Steele County | 29.3% | 26,498 | $80,750 | $1,067 |
| 68 | New Ulm | Brown County | 27.9% | 14,056 | $64,449 | $962 |
| 69 | Anoka | Anoka County | 26.6% | 17,970 | $75,948 | $1,269 |
| 70 | Hutchinson | McLeod County | 26.1% | 14,680 | $72,836 | $940 |
| 71 | Coon Rapids | Anoka County | 25.7% | 63,468 | $88,251 | $1,494 |
| 72 | Willmar | Kandiyohi County | 25.3% | 21,378 | $62,280 | $910 |
| 73 | Red Wing | Goodhue County | 25.3% | 16,758 | $67,192 | $969 |
| 74 | Brooklyn Center | Hennepin County | 24.6% | 32,479 | $72,535 | $1,376 |
| 75 | Austin | Mower County | 23.6% | 26,358 | $68,057 | $953 |
| 76 | Monticello | Wright County | 23.5% | 14,858 | $79,534 | $1,405 |
| 77 | Brainerd | Crow Wing County | 20.3% | 14,468 | $56,111 | $827 |
| 78 | Hibbing | Saint Louis County | 18.6% | 16,057 | $55,789 | $833 |
| 79 | Faribault | Rice County | 17.6% | 24,631 | $61,449 | $1,074 |
| 80 | Albert Lea | Freeborn County | 17.4% | 18,330 | $64,603 | $857 |
Largest Cities · Cities With the Cheapest Rent · Cities With the Highest Household Income · Cities Where Rent Takes the Smallest Share of Income · Cities With the Lowest Unemployment · Cities in the Highest-Paying Counties · Cities With the Most Homeowners · Cities With the Most Remote Work · Cities With the Shortest Commutes
Unincorporated places are census-designated places: they have no city government but are counted as communities. Figures describe the city itself.
Edina, with 72.7% (among the 80 largest places; ACS 2020–2024).
The 80 largest places in Minnesota by population.