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 60 largest places in Iowa, Waukee has the highest average pay in its county ($76,316), followed by Perry and Des Moines. Click any column to sort; click a city for its guide.
Across the 60 places in Iowa that we cover, the median is $58,669 and the average $60,336; the figure runs from $76,316 (Waukee) to $48,539 (Washington). That is a spread of 1.6 times between the two ends.
The first five are Waukee, Perry, Des Moines, Ankeny, West Des Moines. 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 ⇅ | County average annual pay ⇅ | Population ⇅ | Median household income ⇅ | Median rent ⇅ |
|---|---|---|---|---|---|---|
| 1 | Waukee | Dallas County | $76,316 | 29,236 | $101,029 | $1,383 |
| 2 | Perry | Dallas County | $76,316 | 7,985 | $68,910 | $931 |
| 3 | Des Moines | Polk County | $72,557 | 212,421 | $65,932 | $1,090 |
| 4 | Ankeny | Polk County | $72,557 | 72,615 | $108,198 | $1,319 |
| 5 | West Des Moines | Polk County | $72,557 | 71,083 | $86,594 | $1,237 |
| 6 | Urbandale | Polk County | $72,557 | 46,595 | $112,795 | $1,211 |
| 7 | Johnston | Polk County | $72,557 | 24,384 | $106,551 | $1,338 |
| 8 | Altoona | Polk County | $72,557 | 21,495 | $86,114 | $1,235 |
| 9 | Clive | Polk County | $72,557 | 19,012 | $132,121 | $1,073 |
| 10 | Grimes | Polk County | $72,557 | 16,366 | $120,037 | $1,251 |
| 11 | Pleasant Hill | Polk County | $72,557 | 11,136 | $90,508 | $1,215 |
| 12 | Bondurant | Polk County | $72,557 | 8,560 | $135,674 | $1,337 |
| 13 | Cedar Rapids | Linn County | $67,613 | 137,264 | $70,424 | $967 |
| 14 | Marion | Linn County | $67,613 | 41,896 | $86,743 | $961 |
| 15 | Hiawatha | Linn County | $67,613 | 7,206 | $66,270 | $855 |
| 16 | Iowa City | Johnson County | $64,363 | 75,752 | $58,546 | $1,094 |
| 17 | Coralville | Johnson County | $64,363 | 23,234 | $69,144 | $1,057 |
| 18 | North Liberty | Johnson County | $64,363 | 21,125 | $102,102 | $1,246 |
| 19 | Muscatine | Muscatine County | $63,594 | 23,489 | $58,117 | $974 |
| 20 | Pella | Marion County | $63,553 | 10,720 | $84,111 | $1,046 |
| 21 | Knoxville | Marion County | $63,553 | 7,473 | $61,599 | $801 |
| 22 | Ames | Story County | $62,615 | 67,669 | $60,991 | $1,023 |
| 23 | Nevada | Story County | $62,615 | 6,983 | $75,094 | $953 |
| 24 | Davenport | Scott County | $61,138 | 100,913 | $66,200 | $978 |
| 25 | Bettendorf | Scott County | $61,138 | 39,647 | $100,495 | $1,187 |
| 26 | Eldridge | Scott County | $61,138 | 6,818 | $106,316 | $945 |
| 27 | Waterloo | Black Hawk County | $59,631 | 67,008 | $57,480 | $923 |
| 28 | Cedar Falls | Black Hawk County | $59,631 | 40,888 | $76,987 | $1,203 |
| 29 | Le Mars | Plymouth County | $59,524 | 10,640 | $74,701 | $929 |
| 30 | Dubuque | Dubuque County | $58,669 | 59,174 | $65,845 | $948 |
| 31 | Grinnell | Poweshiek County | $57,595 | 9,505 | $65,320 | $895 |
| 32 | Fort Madison | Lee County | $57,333 | 10,133 | $50,705 | $826 |
| 33 | Keokuk | Lee County | $57,333 | 9,662 | $52,711 | $871 |
| 34 | Fort Dodge | Webster County | $56,709 | 24,827 | $60,649 | $785 |
| 35 | Council Bluffs | Pottawattamie County | $56,397 | 62,586 | $64,578 | $1,030 |
| 36 | Sioux Center | Sioux County | $55,762 | 8,454 | $92,983 | n/a |
| 37 | Marshalltown | Marshall County | $55,625 | 27,626 | $69,068 | $891 |
| 38 | Oskaloosa | Mahaska County | $55,503 | 11,504 | $64,004 | $831 |
| 39 | Charles City | Floyd County | $54,987 | 7,232 | $59,180 | $735 |
| 40 | Mason City | Cerro Gordo County | $54,949 | 27,050 | $64,804 | $882 |
| 41 | Clear Lake | Cerro Gordo County | $54,949 | 7,607 | $79,415 | $808 |
| 42 | Sioux City | Woodbury County | $54,684 | 86,101 | $68,906 | $976 |
| 43 | Boone | Boone County | $53,922 | 12,424 | $69,222 | $831 |
| 44 | Storm Lake | Buena Vista County | $53,893 | 11,428 | $62,765 | $898 |
| 45 | Fairfield | Jefferson County | $53,535 | 9,456 | $51,311 | $870 |
| 46 | Spencer | Clay County | $53,504 | 11,400 | $59,667 | $805 |
| 47 | Ottumwa | Wapello County | $53,071 | 25,430 | $61,103 | $921 |
| 48 | Denison | Crawford County | $53,067 | 8,260 | $65,684 | $731 |
| 49 | Webster City | Hamilton County | $52,922 | 7,769 | $63,430 | $907 |
| 50 | Burlington | Des Moines County | $52,718 | 23,728 | $59,000 | $924 |
| 51 | Clinton | Clinton County | $52,714 | 24,322 | $60,230 | $791 |
| 52 | Waverly | Bremer County | $52,555 | 10,494 | $80,284 | $1,057 |
| 53 | Mount Pleasant | Henry County | $52,431 | 8,951 | $61,042 | $826 |
| 54 | Decorah | Winneshiek County | $51,439 | 7,535 | $64,366 | $853 |
| 55 | Indianola | Warren County | $51,236 | 16,044 | $75,453 | $986 |
| 56 | Norwalk | Warren County | $51,236 | 14,183 | $102,722 | $838 |
| 57 | Carroll | Carroll County | $50,662 | 10,208 | $69,706 | $722 |
| 58 | Creston | Union County | $50,030 | 7,435 | $52,633 | $703 |
| 59 | Newton | Jasper County | $49,910 | 15,700 | $57,771 | $819 |
| 60 | Washington | Washington County | $48,539 | 7,290 | $55,373 | $968 |
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 · Most College-Educated Cities · 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. County figures describe the whole county where the city lies.
Waukee, with $76,316 (among the 60 largest places; ACS 2020–2024).
The 60 largest places in Iowa by population.