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 100 largest places in Michigan, East Grand Rapids has the largest share of adults with a bachelor's degree (79.9%), followed by Beverly Hills and Ann Arbor. Click any column to sort; click a city for its guide.
Across the 100 places in Michigan that we cover, the median is 31.0% and the average 35.4%; the figure runs from 79.9% (East Grand Rapids) to 10.0% (Ionia). That is a spread of 8.0 times between the two ends. The state figure is 32.5%; 48 of the 100 places are above it and 52 at or below.
The first five are East Grand Rapids, Beverly Hills, Ann Arbor, Birmingham, Grosse Pointe 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 | East Grand Rapids | Kent County | 79.9% | 11,445 | $166,610 | $1,862 |
| 2 | Beverly Hills | Oakland County | 77.9% | 10,524 | $177,412 | $2,077 |
| 3 | Ann Arbor | Washtenaw County | 77.9% | 122,036 | $82,212 | $1,649 |
| 4 | Birmingham | Oakland County | 76.8% | 21,763 | $153,510 | $1,902 |
| 5 | Grosse Pointe Park | Wayne County | 73.3% | 11,319 | $124,111 | $1,379 |
| 6 | Okemos (unincorporated) | Ingham County | 72.8% | 26,396 | $102,612 | $1,298 |
| 7 | Forest Hills (unincorporated) | Kent County | 70.9% | 28,695 | $158,005 | $1,958 |
| 8 | Rochester | Oakland County | 70.0% | 12,934 | $111,750 | $1,350 |
| 9 | East Lansing | Ingham County | 66.6% | 45,758 | $45,687 | $1,171 |
| 10 | Grosse Pointe Woods | Wayne County | 65.1% | 16,094 | $126,395 | $1,879 |
| 11 | Troy | Oakland County | 64.8% | 87,898 | $120,045 | $1,602 |
| 12 | Royal Oak | Oakland County | 64.1% | 57,950 | $101,109 | $1,381 |
| 13 | Novi | Oakland County | 64.1% | 66,717 | $110,723 | $1,747 |
| 14 | Farmington | Oakland County | 62.4% | 11,504 | $97,750 | $1,340 |
| 15 | Rochester Hills | Oakland County | 61.4% | 77,089 | $120,694 | $1,644 |
| 16 | Berkley | Oakland County | 58.8% | 15,149 | $116,239 | $1,526 |
| 17 | Ferndale | Oakland County | 57.9% | 19,190 | $94,640 | $1,311 |
| 18 | Farmington Hills | Oakland County | 57.6% | 83,515 | $104,836 | $1,551 |
| 19 | Haslett (unincorporated) | Ingham County | 57.1% | 18,559 | $74,031 | $1,125 |
| 20 | Auburn Hills | Oakland County | 49.6% | 25,105 | $84,375 | $1,477 |
| 21 | Marquette | Marquette County | 48.0% | 21,325 | $55,613 | $1,011 |
| 22 | Portage | Kalamazoo County | 47.9% | 49,259 | $83,212 | $1,133 |
| 23 | Traverse City | Grand Traverse County | 47.4% | 15,593 | $74,087 | $995 |
| 24 | South Lyon | Oakland County | 47.2% | 11,950 | $92,467 | $1,310 |
| 25 | Ypsilanti | Washtenaw County | 46.9% | 19,857 | $46,588 | $1,080 |
| 26 | Wixom | Oakland County | 46.9% | 17,295 | $65,485 | $1,035 |
| 27 | Clawson | Oakland County | 45.8% | 11,374 | $88,636 | $1,253 |
| 28 | Midland | Midland County | 44.6% | 42,724 | $73,325 | $1,048 |
| 29 | Waverly (unincorporated) | Eaton County | 44.1% | 23,575 | $75,700 | $1,170 |
| 30 | Mount Pleasant | Isabella County | 42.9% | 21,236 | $44,706 | $922 |
| 31 | Allendale (unincorporated) | Ottawa County | 42.6% | 26,679 | $70,150 | $1,111 |
| 32 | Livonia | Wayne County | 41.9% | 93,851 | $98,460 | $1,322 |
| 33 | Grand Rapids | Kent County | 41.6% | 198,535 | $69,108 | $1,266 |
| 34 | Holt (unincorporated) | Ingham County | 40.7% | 25,316 | $86,472 | $1,317 |
| 35 | Southfield | Oakland County | 40.7% | 76,236 | $68,166 | $1,340 |
| 36 | Grandville | Kent County | 40.6% | 16,356 | $78,442 | $1,143 |
| 37 | Fenton | Genesee County | 39.2% | 11,906 | $80,000 | $1,275 |
| 38 | Northview (unincorporated) | Kent County | 38.7% | 15,268 | $85,403 | $1,247 |
| 39 | Walker | Kent County | 38.6% | 25,386 | $76,360 | $1,202 |
| 40 | Kalamazoo | Kalamazoo County | 38.5% | 73,076 | $52,272 | $1,078 |
| 41 | Oak Park | Oakland County | 37.1% | 29,318 | $71,510 | $1,396 |
| 42 | Kentwood | Kent County | 36.7% | 54,296 | $74,373 | $1,260 |
| 43 | Grand Haven | Ottawa County | 36.7% | 10,996 | $60,669 | $939 |
| 44 | Holland | Allegan County | 35.8% | 34,423 | $75,865 | $1,193 |
| 45 | Jenison (unincorporated) | Ottawa County | 35.1% | 17,582 | $89,593 | $2,306 |
| 46 | Dearborn | Wayne County | 34.6% | 107,423 | $65,324 | $1,327 |
| 47 | Madison Heights | Oakland County | 33.9% | 28,419 | $69,503 | $1,176 |
| 48 | Norton Shores | Muskegon County | 33.3% | 25,041 | $76,579 | $1,341 |
| 49 | Sterling Heights | Macomb County | 31.1% | 133,573 | $79,909 | $1,292 |
| 50 | Allen Park | Wayne County | 31.0% | 27,925 | $81,655 | $1,246 |
| 51 | New Baltimore | Macomb County | 30.4% | 12,072 | $106,033 | $1,039 |
| 52 | Lansing | Ingham County | 30.2% | 113,023 | $54,382 | $993 |
| 53 | St. Clair Shores | Macomb County | 29.7% | 58,140 | $73,500 | $1,183 |
| 54 | Flat Rock | Wayne County | 29.5% | 10,340 | $81,585 | $919 |
| 55 | Trenton | Wayne County | 27.5% | 18,125 | $82,212 | $880 |
| 56 | Woodhaven | Wayne County | 27.0% | 12,690 | $78,648 | $1,096 |
| 57 | Hazel Park | Oakland County | 27.0% | 14,963 | $67,073 | $1,314 |
| 58 | Sault Ste. Marie | Chippewa County | 27.0% | 13,335 | $55,328 | $804 |
| 59 | Harper Woods | Wayne County | 26.1% | 15,116 | $65,022 | $1,351 |
| 60 | Comstock Park (unincorporated) | Kent County | 26.1% | 10,577 | $59,984 | $1,189 |
| 61 | Wyoming | Kent County | 25.5% | 77,353 | $73,677 | $1,196 |
| 62 | Cutlerville (unincorporated) | Kent County | 24.0% | 18,780 | $67,327 | $1,254 |
| 63 | Dearborn Heights | Wayne County | 23.8% | 61,771 | $60,391 | $1,331 |
| 64 | Westland | Wayne County | 23.0% | 83,633 | $62,076 | $1,158 |
| 65 | Wyandotte | Wayne County | 22.7% | 24,489 | $71,987 | $972 |
| 66 | Fraser | Macomb County | 22.7% | 14,583 | $64,354 | $843 |
| 67 | Cadillac | Wexford County | 22.1% | 10,445 | $51,773 | $842 |
| 68 | Adrian | Lenawee County | 21.9% | 20,395 | $50,209 | $956 |
| 69 | Battle Creek | Calhoun County | 21.9% | 52,374 | $55,693 | $957 |
| 70 | Southgate | Wayne County | 21.5% | 29,366 | $66,118 | $1,120 |
| 71 | Riverview | Wayne County | 21.3% | 12,186 | $73,468 | $1,101 |
| 72 | Owosso | Shiawassee County | 21.1% | 14,632 | $54,229 | $784 |
| 73 | Warren | Macomb County | 21.0% | 137,928 | $64,016 | $1,225 |
| 74 | Monroe | Monroe County | 19.9% | 20,320 | $59,813 | $909 |
| 75 | Escanaba | Delta County | 19.8% | 12,354 | $45,369 | $657 |
| 76 | Bay City | Bay County | 18.8% | 32,320 | $49,420 | $766 |
| 77 | Port Huron | Saint Clair County | 18.1% | 28,620 | $50,366 | $982 |
| 78 | Detroit | Wayne County | 18.1% | 638,530 | $39,938 | $1,074 |
| 79 | Mount Clemens | Macomb County | 18.0% | 15,511 | $52,310 | $847 |
| 80 | Hamtramck | Wayne County | 17.8% | 27,743 | $39,293 | $989 |
| 81 | Wayne | Wayne County | 17.5% | 17,310 | $59,038 | $974 |
| 82 | Niles | Berrien County | 17.0% | 11,803 | $51,376 | $855 |
| 83 | Burton | Genesee County | 16.8% | 29,500 | $60,052 | $1,009 |
| 84 | Taylor | Wayne County | 16.4% | 62,081 | $61,081 | $1,101 |
| 85 | Romulus | Wayne County | 16.2% | 24,831 | $69,151 | $1,049 |
| 86 | Alpena | Alpena County | 16.2% | 10,154 | $47,545 | $625 |
| 87 | Pontiac | Oakland County | 16.1% | 62,104 | $44,329 | $1,063 |
| 88 | Jackson | Jackson County | 16.1% | 31,058 | $44,558 | $898 |
| 89 | Sturgis | Saint Joseph County | 15.7% | 11,054 | $62,710 | $826 |
| 90 | Roseville | Macomb County | 15.5% | 47,123 | $62,182 | $1,233 |
| 91 | Muskegon | Muskegon County | 15.5% | 37,226 | $44,735 | $996 |
| 92 | Eastpointe | Macomb County | 15.2% | 33,982 | $62,325 | $1,325 |
| 93 | Garden City | Wayne County | 15.1% | 26,739 | $67,294 | $1,150 |
| 94 | Flint | Genesee County | 14.2% | 80,175 | $37,646 | $915 |
| 95 | Melvindale | Wayne County | 14.0% | 12,554 | $42,185 | $1,110 |
| 96 | Coldwater | Branch County | 13.9% | 13,671 | $50,781 | $943 |
| 97 | Saginaw | Saginaw County | 13.3% | 43,536 | $38,579 | $922 |
| 98 | Inkster | Wayne County | 13.1% | 25,428 | $39,252 | $1,170 |
| 99 | Lincoln Park | Wayne County | 11.5% | 39,257 | $58,616 | $1,023 |
| 100 | Ionia | Ionia County | 10.0% | 12,753 | $63,978 | $852 |
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.
East Grand Rapids, with 79.9% (among the 100 largest places; ACS 2020–2024).
The 100 largest places in Michigan by population.