Missouri towns
All 228 Missouri towns and cities with 2,500 or more people. The typical Missouri town has a median home value of $153,900 and household income of $56,368.
Missouri town rankings
- The 25 Best Small Towns to Retire in Missouri
- The 22 Quietest Small Towns in Missouri
- The 25 Most Affordable Small Towns in Missouri
- The 25 Best Small Towns for Families in Missouri
- 25 Small Towns in Missouri With the Cheapest Homes
- 25 Small Towns in Missouri With the Mildest Winters
- The 25 Most Walkable Small Towns in Missouri
- 25 Small Towns in Missouri With the Fewest Tornadoes Since 1950
- The 25 Best Small Towns for First-Time Home Buyers in Missouri
- The 12 Best Affordable Small Towns for Remote Workers in Missouri
All Missouri towns
| Town | County | People | Median home | Income | Jan low |
|---|---|---|---|---|---|
| Kansas City | Jackson County | 508,090 | $242,900 | $69,166 | 22° |
| St. Louis | St. Louis city | 301,578 | $197,500 | $56,160 | 25° |
| Springfield | Greene County | 169,176 | $177,700 | $49,311 | 23° |
| Columbia | Boone County | 126,254 | $284,600 | $66,498 | 23° |
| Independence | Jackson County | 123,011 | $172,900 | $60,339 | 19° |
| Lee's Summit | Jackson County | 101,108 | $340,900 | $102,531 | 22° |
| O'Fallon | St. Charles County | 91,316 | $326,200 | $110,443 | 21° |
| St. Joseph | Buchanan County | 72,473 | $154,200 | $57,956 | 17° |
| St. Charles | St. Charles County | 70,493 | $298,700 | $85,937 | 22° |
| Blue Springs | Jackson County | 58,603 | $263,100 | $88,920 | 22° |
| St. Peters | St. Charles County | 57,732 | $269,900 | $91,637 | 21° |
| Florissant | St. Louis County | 52,533 | $148,800 | $65,318 | 24° |
| Joplin | Jasper County | 51,762 | $168,300 | $52,097 | 25° |
| Chesterfield | St. Louis County | 49,999 | $472,500 | $133,037 | 22° |
| Wentzville | St. Charles County | 44,372 | $331,300 | $112,394 | 21° |
| Jefferson City | Cole County | 43,228 | $218,700 | $66,371 | 21° |
| Cape Girardeau | Cape Girardeau County | 39,540 | $196,300 | $55,658 | 26° |
| Oakville | St. Louis County | 36,301 | $318,600 | $106,362 | 22° |
| Wildwood | St. Louis County | 35,417 | $495,800 | $161,060 | 22° |
| University City | St. Louis County | 35,065 | $306,700 | $80,694 | 25° |
| Ballwin | St. Louis County | 31,103 | $377,100 | $124,626 | 22° |
| Liberty | Clay County | 30,167 | $283,300 | $88,542 | 17° |
| Raytown | Jackson County | 30,012 | $182,900 | $68,840 | 22° |
| Kirkwood | St. Louis County | 29,461 | $451,400 | $121,270 | 25° |
| Mehlville | St. Louis County | 28,955 | $218,400 | $67,071 | 22° |
| Maryland Heights | St. Louis County | 28,284 | $227,000 | $86,436 | 22° |
| Gladstone | Clay County | 27,063 | $231,500 | $79,271 | 22° |
| Grandview | Jackson County | 26,209 | $188,500 | $53,447 | 22° |
| Hazelwood | St. Louis County | 25,458 | $167,400 | $55,908 | 24° |
| Webster Groves | St. Louis County | 24,010 | $387,600 | $115,227 | 25° |
| Belton | Cass County | 23,953 | $203,200 | $69,226 | 21° |
| Nixa | Christian County | 23,257 | $258,700 | $83,385 | 21° |
| Raymore | Cass County | 22,941 | $339,100 | $104,447 | 21° |
| Sedalia | Pettis County | 21,725 | $143,000 | $50,990 | 19° |
| Ozark | Christian County | 21,284 | $254,800 | $74,182 | 21° |
| Arnold | Jefferson County | 20,858 | $220,000 | $78,370 | 22° |
| Affton | St. Louis County | 20,417 | $212,400 | $79,539 | 25° |
| Rolla | Phelps County | 19,943 | $187,000 | $46,204 | 22° |
| Old Jamestown | St. Louis County | 19,790 | $236,100 | $99,521 | 24° |
| Warrensburg | Johnson County | 19,337 | $222,200 | $57,067 | 18° |
| Creve Coeur | St. Louis County | 18,834 | $614,000 | $127,188 | 22° |
| Republic | Greene County | 18,750 | $211,500 | $65,729 | 24° |
| Ferguson | St. Louis County | 18,527 | $109,900 | $47,524 | 24° |
| Spanish Lake | St. Louis County | 18,413 | $135,600 | $55,920 | 22° |
| Manchester | St. Louis County | 18,333 | $323,100 | $97,801 | 22° |
| Farmington | St. Francois County | 18,217 | $196,500 | $53,729 | 23° |
| Concord | St. Louis County | 17,668 | $303,600 | $89,038 | 22° |
| Kirksville | Adair County | 17,530 | $153,900 | $50,071 | 15° |
| Clayton | St. Louis County | 17,355 | $830,000 | $123,000 | 25° |
| Lemay | St. Louis County | 17,117 | $152,200 | $60,399 | 22° |
| Hannibal | Marion County | 17,108 | $127,700 | $53,721 | 18° |
| Lake St. Louis | St. Charles County | 16,707 | $405,900 | $125,693 | 21° |
| Sikeston | Scott County | 16,291 | $168,800 | $58,915 | 28° |
| Poplar Bluff | Butler County | 16,225 | $119,800 | $41,941 | 26° |
| Fort Leonard Wood | Pulaski County | 15,959 | — | $67,772 | 22° |
| Overland | St. Louis County | 15,955 | $131,900 | $61,773 | 24° |
| Grain Valley | Jackson County | 15,627 | $283,800 | $89,649 | 22° |
| Carthage | Jasper County | 15,522 | $146,800 | $51,328 | 25° |
| Jackson | Cape Girardeau County | 15,481 | $240,000 | $77,105 | 24° |
| Lebanon | Laclede County | 15,013 | $158,800 | $48,359 | 22° |
| Washington | Franklin County | 14,500 | $231,800 | $79,173 | 20° |
| Marshall | Saline County | 13,806 | $147,900 | $54,437 | 19° |
| Moberly | Randolph County | 13,783 | $153,100 | $44,145 | 19° |
| Webb City | Jasper County | 13,031 | $169,100 | $65,469 | 25° |
| St. Ann | St. Louis County | 13,019 | $126,600 | $52,323 | 24° |
| Jennings | St. Louis County | 12,895 | $68,800 | $38,984 | 24° |
| Dardenne Prairie | St. Charles County | 12,743 | $432,000 | $152,500 | 21° |
| Festus | Jefferson County | 12,706 | $223,600 | $73,532 | 22° |
| Troy | Lincoln County | 12,686 | $226,500 | $79,012 | 20° |
| Branson | Taney County | 12,638 | $251,000 | $51,978 | 27° |
| Fulton | Callaway County | 12,600 | $155,900 | $51,429 | 20° |
| Neosho | Newton County | 12,590 | $163,400 | $57,891 | 25° |
| Crestwood | St. Louis County | 12,404 | $319,600 | $107,169 | 25° |
| Union | Franklin County | 12,348 | $205,200 | $73,435 | 23° |
| West Plains | Howell County | 12,184 | $169,900 | $44,002 | 22° |
| Eureka | St. Louis County | 11,646 | $379,200 | $108,394 | 22° |
| Town and Country | St. Louis County | 11,640 | $928,500 | $232,534 | 22° |
| Mexico | Audrain County | 11,469 | $139,800 | $50,873 | 19° |
| Bridgeton | St. Louis County | 11,445 | $237,700 | $72,005 | 24° |
| Bellefontaine Neighbors | St. Louis County | 10,740 | $99,700 | $49,170 | 24° |
| Bolivar | Polk County | 10,679 | $201,600 | $49,622 | 22° |
| Maryville | Nodaway County | 10,633 | $189,400 | $53,352 | 14° |
| Excelsior Springs | Clay County | 10,553 | $186,800 | $72,609 | 17° |
| Kennett | Dunklin County | 10,515 | $112,000 | $52,500 | 30° |
| Smithville | Clay County | 10,406 | $290,600 | $101,165 | 16° |
| Kearney | Clay County | 10,404 | $298,400 | $103,622 | 17° |
| Harrisonville | Cass County | 10,121 | $209,200 | $62,473 | 21° |
| Ellisville | St. Louis County | 9,985 | $366,600 | $113,309 | 22° |
| Monett | Barry County | 9,576 | $167,700 | $49,390 | 24° |
| Richmond Heights | St. Louis County | 9,286 | $358,700 | $94,460 | 25° |
| Sunset Hills | St. Louis County | 9,198 | $523,800 | $138,144 | 25° |
| Des Peres | St. Louis County | 9,193 | $609,200 | $224,327 | 22° |
| Clinton | Henry County | 9,174 | $155,400 | $51,250 | 19° |
| Chillicothe | Livingston County | 9,107 | $127,000 | $54,493 | 16° |
| Ladue | St. Louis County | 8,989 | $1,056,300 | $250,001 | 25° |
| Pleasant Hill | Cass County | 8,777 | $278,400 | $95,602 | 21° |
| Park Hills | St. Francois County | 8,587 | $131,300 | $52,563 | 23° |
| Perryville | Perry County | 8,555 | $179,700 | $51,897 | 21° |
| Cameron | Clinton County | 8,513 | $193,500 | $61,791 | 15° |
| Olivette | St. Louis County | 8,504 | $460,800 | $111,660 | 24° |
| Warrenton | Warren County | 8,429 | $204,800 | $61,031 | 20° |
| Murphy | Jefferson County | 8,425 | $184,700 | $72,233 | 22° |
| Maplewood | St. Louis County | 8,269 | $237,000 | $65,125 | 25° |
| Brentwood | St. Louis County | 8,233 | $299,700 | $99,719 | 25° |
| Berkeley | St. Louis County | 8,228 | $82,300 | $44,265 | 24° |
| Nevada | Vernon County | 8,212 | $122,700 | $42,813 | 22° |
| Oak Grove | Jackson County | 8,157 | $215,500 | $75,102 | 18° |
| Carl Junction | Jasper County | 8,143 | $218,300 | $82,879 | 25° |
| Sappington | St. Louis County | 7,995 | $297,600 | $77,650 | 25° |
| Boonville | Cooper County | 7,964 | $187,900 | $56,429 | 20° |
| Dexter | Stoddard County | 7,927 | $137,200 | $51,701 | 27° |
| Marshfield | Webster County | 7,458 | $204,700 | $67,642 | 22° |
| Pacific | Franklin County | 7,414 | $249,300 | $62,860 | 20° |
| Aurora | Lawrence County | 7,219 | $124,400 | $49,848 | 22° |
| Parkville | Platte County | 7,117 | $573,500 | $171,271 | 20° |
| Sullivan | Franklin County | 6,906 | $163,200 | $63,370 | 23° |
| Bonne Terre | St. Francois County | 6,903 | $153,000 | $46,179 | 23° |
| Valley Park | St. Louis County | 6,885 | $251,000 | $67,898 | 22° |
| St. John | St. Louis County | 6,643 | $106,300 | $53,755 | 24° |
| Black Jack | St. Louis County | 6,634 | $193,000 | $78,331 | 24° |
| De Soto | Jefferson County | 6,449 | $160,700 | $52,500 | 22° |
| Shrewsbury | St. Louis County | 6,406 | $269,800 | $80,757 | 25° |
| Willard | Greene County | 6,344 | $212,900 | $84,600 | 24° |
| Glendale | St. Louis County | 6,176 | $494,000 | $170,700 | 25° |
| Pevely | Jefferson County | 6,026 | $219,600 | $56,000 | 22° |
| Greenwood | Jackson County | 6,021 | $286,100 | $107,250 | 21° |
| Richmond | Ray County | 6,013 | $142,600 | $59,556 | 15° |
| Battlefield | Greene County | 5,990 | $255,600 | $94,542 | 23° |
| Barnhart | Jefferson County | 5,832 | $229,200 | $95,811 | 22° |
| Peculiar | Cass County | 5,621 | $283,900 | $94,519 | 21° |
| Cottleville | St. Charles County | 5,611 | $435,400 | $131,310 | 21° |
| Trenton | Grundy County | 5,609 | $99,500 | $50,015 | 16° |
| Odessa | Lafayette County | 5,593 | $238,200 | $100,022 | 18° |
| Caruthersville | Pemiscot County | 5,562 | $107,700 | $34,652 | 30° |
| Macon | Macon County | 5,457 | $151,800 | $61,642 | 19° |
| Waynesville | Pulaski County | 5,406 | $200,000 | $56,836 | 22° |
| Weldon Spring | St. Charles County | 5,326 | $544,300 | $158,548 | 21° |
| St. Robert | Pulaski County | 5,192 | $225,300 | $62,641 | 22° |
| Savannah | Andrew County | 5,069 | $161,500 | $62,535 | 16° |
| Charleston | Mississippi County | 5,056 | $123,700 | $33,952 | 26° |
| Ste. Genevieve | Ste. Genevieve County | 4,999 | $172,400 | $48,097 | 24° |
| Dellwood | St. Louis County | 4,914 | $83,700 | $72,540 | 24° |
| Wright City | Warren County | 4,881 | $238,800 | $80,152 | 20° |
| Desloge | St. Francois County | 4,823 | $127,500 | $60,820 | 23° |
| Higginsville | Lafayette County | 4,817 | $166,100 | $81,033 | 18° |
| St. Clair | Franklin County | 4,791 | $157,700 | $41,820 | 23° |
| Platte City | Platte County | 4,784 | $210,800 | $71,498 | 20° |
| Rock Hill | St. Louis County | 4,750 | $278,700 | $95,372 | 25° |
| Ashland | Boone County | 4,747 | $258,500 | $93,143 | 23° |
| Crystal City | Jefferson County | 4,740 | $185,800 | $72,598 | 22° |
| Herculaneum | Jefferson County | 4,672 | $234,300 | $93,438 | 22° |
| Lexington | Lafayette County | 4,652 | $161,300 | $56,905 | 20° |
| Osage Beach | Camden County | 4,637 | $355,200 | $55,994 | 25° |
| Salem | Dent County | 4,608 | $115,000 | $43,923 | 22° |
| Glasgow Village | St. Louis County | 4,584 | $69,000 | $29,530 | 22° |
| Hollister | Taney County | 4,583 | $163,600 | $53,507 | 27° |
| Centralia | Boone County | 4,541 | $174,300 | $66,438 | 19° |
| Mount Vernon | Lawrence County | 4,526 | $186,800 | $53,255 | 22° |
| California | Moniteau County | 4,498 | $152,700 | $63,864 | 20° |
| North Kansas City | Clay County | 4,467 | $197,500 | $49,682 | 22° |
| Breckenridge Hills | St. Louis County | 4,458 | $96,100 | $40,958 | 24° |
| Holts Summit | Callaway County | 4,458 | $191,900 | $85,064 | 23° |
| Fredericktown | Madison County | 4,429 | $136,100 | $49,375 | 21° |
| Eldon | Miller County | 4,416 | $157,400 | $41,684 | 22° |
| Imperial | Jefferson County | 4,407 | $228,700 | $90,028 | 22° |
| Scott City | Scott County | 4,346 | $147,500 | $62,599 | 26° |
| Mountain Grove | Wright County | 4,313 | $87,200 | $37,415 | 22° |
| Normandy | St. Louis County | 4,287 | $87,300 | $29,379 | 24° |
| Lamar | Barton County | 4,266 | $117,200 | $36,705 | 22° |
| High Ridge | Jefferson County | 4,242 | $172,200 | $70,917 | 22° |
| Butler | Bates County | 4,220 | $145,400 | $42,151 | 20° |
| Bowling Green | Pike County | 4,195 | $128,800 | $53,295 | 19° |
| Brookfield | Linn County | 4,111 | $102,100 | $53,000 | 18° |
| Riverside | Platte County | 4,013 | $411,300 | $52,006 | 22° |
| Fenton | St. Louis County | 3,989 | $374,500 | $101,000 | 22° |
| Camdenton | Camden County | 3,960 | $175,500 | $54,375 | 25° |
| Woodson Terrace | St. Louis County | 3,950 | $104,000 | $47,417 | 24° |
| St. James | Phelps County | 3,935 | $142,000 | $53,453 | 22° |
| Rogersville | Webster County | 3,897 | $217,900 | $70,485 | 20° |
| Malden | Dunklin County | 3,706 | $101,300 | $40,118 | 27° |
| Northwoods | St. Louis County | 3,687 | $76,000 | $45,330 | 25° |
| Palmyra | Marion County | 3,613 | $184,200 | $69,922 | 19° |
| Frontenac | St. Louis County | 3,612 | $979,800 | $233,425 | 22° |
| Vandalia | Audrain County | 3,553 | $84,500 | $50,313 | 19° |
| Carrollton | Carroll County | 3,514 | $110,200 | $49,777 | 17° |
| El Dorado Springs | Cedar County | 3,493 | $103,900 | $32,128 | 22° |
| Hillsboro | Jefferson County | 3,473 | $221,200 | $77,500 | 22° |
| Moscow Mills | Lincoln County | 3,317 | $196,400 | $73,468 | 20° |
| Buffalo | Dallas County | 3,290 | $141,800 | $39,896 | 20° |
| Sugar Creek | Jackson County | 3,271 | $136,600 | $62,165 | 19° |
| Louisiana | Pike County | 3,199 | $72,100 | $38,673 | 19° |
| Cassville | Barry County | 3,190 | $155,300 | $60,469 | 23° |
| Cuba | Crawford County | 3,181 | $136,600 | $45,916 | 22° |
| Byrnes Mill | Jefferson County | 3,173 | $306,200 | $98,576 | 22° |
| Chaffee | Scott County | 3,057 | $117,400 | $43,542 | 26° |
| Gray Summit | Franklin County | 3,055 | $170,500 | $65,667 | 20° |
| St. Paul | St. Charles County | 3,005 | $443,600 | $159,022 | 21° |
| Buckner | Jackson County | 2,945 | $197,600 | $87,350 | 19° |
| East Prairie | Mississippi County | 2,943 | $68,400 | $34,637 | 28° |
| Portageville | New Madrid County | 2,942 | $152,400 | $52,279 | 28° |
| Tipton | Moniteau County | 2,920 | $130,200 | $49,257 | 20° |
| Clever | Christian County | 2,918 | $200,000 | $78,366 | 22° |
| Bethany | Harrison County | 2,915 | $121,700 | $48,375 | 16° |
| Whiteman AFB | Johnson County | 2,896 | $328,800 | $54,641 | 18° |
| Ava | Douglas County | 2,894 | $148,000 | $42,500 | 20° |
| Licking | Texas County | 2,851 | $116,900 | $35,652 | 21° |
| Castle Point | St. Louis County | 2,815 | $62,600 | $37,679 | 24° |
| Montgomery City | Montgomery County | 2,811 | $161,100 | $57,500 | 20° |
| Fayette | Howard County | 2,803 | $146,700 | $57,679 | 18° |
| New Madrid | New Madrid County | 2,787 | $127,500 | $57,727 | 28° |
| Knob Noster | Johnson County | 2,782 | $202,600 | $62,353 | 18° |
| Windsor | Henry County | 2,775 | $101,400 | $49,783 | 19° |
| Canton | Lewis County | 2,774 | $117,900 | $55,357 | 17° |
| Owensville | Gasconade County | 2,757 | $139,800 | $49,149 | 18° |
| Pine Lawn | St. Louis County | 2,754 | $66,800 | $24,837 | 25° |
| Pleasant Valley | Clay County | 2,743 | $202,000 | $75,682 | 22° |
| Forsyth | Taney County | 2,730 | $192,600 | $45,824 | 24° |
| Green Park | St. Louis County | 2,705 | $238,800 | $79,141 | 25° |
| Monroe City | Monroe County | 2,652 | $159,300 | $55,737 | 18° |
| Clarkson Valley | St. Louis County | 2,609 | $867,000 | $247,000 | 22° |
| Villa Ridge | Franklin County | 2,601 | $166,600 | $73,826 | 23° |
| Strafford | Greene County | 2,561 | $169,400 | $64,750 | 22° |
| Oronogo | Jasper County | 2,558 | $188,500 | $91,563 | 25° |
| Pagedale | St. Louis County | 2,554 | $75,200 | $31,250 | 25° |
| Lawson | Ray County | 2,541 | $186,000 | $65,941 | 17° |
| Versailles | Morgan County | 2,539 | $117,500 | $33,586 | 22° |
| Potosi | Washington County | 2,538 | $110,100 | $39,846 | 21° |
| Mountain View | Howell County | 2,533 | $123,500 | $38,942 | 25° |
Missouri counties
- Adair County
- Andrew County
- Audrain County
- Barry County
- Barton County
- Bates County
- Boone County
- Buchanan County
- Butler County
- Callaway County
- Camden County
- Cape Girardeau County
- Carroll County
- Cass County
- Cedar County
- Christian County
- Clay County
- Clinton County
- Cole County
- Cooper County
- Crawford County
- Dallas County
- Dent County
- Douglas County
- Dunklin County
- Franklin County
- Gasconade County
- Greene County
- Grundy County
- Harrison County
- Henry County
- Howard County
- Howell County
- Jackson County
- Jasper County
- Jefferson County
- Johnson County
- Laclede County
- Lafayette County
- Lawrence County
- Lewis County
- Lincoln County
- Linn County
- Livingston County
- Macon County
- Madison County
- Marion County
- Miller County
- Mississippi County
- Moniteau County
- Monroe County
- Montgomery County
- Morgan County
- New Madrid County
- Newton County
- Nodaway County
- Pemiscot County
- Perry County
- Pettis County
- Phelps County
- Pike County
- Platte County
- Polk County
- Pulaski County
- Randolph County
- Ray County
- Saline County
- Scott County
- St. Charles County
- St. Francois County
- St. Louis city
- St. Louis County
- Ste. Genevieve County
- Stoddard County
- Taney County
- Texas County
- Vernon County
- Warren County
- Washington County
- Webster County
- Wright County