Guest, Sign inJoin
Runner Fountain and Old Courthouse and Arch (5618845531)St. Louis, #1 on this list · Photo: Jefferson National Expansion Memorial, NPS from St. Louis, MO, USA · CC BY 2.0
Missouri rankings · History

Most historic towns in Missouri

St. Louis ranks first on history among Missouri’s 247 towns of 2,500+; 57 of the 247 grade A− or better on history nationally.

The History grade, a character grade (not part of the overall): the town’s founding era, homes built before 1940 (Census ACS) and its National Register places. How grades work

#1

St. Louis

St. Louis city · 278,144 people
A+

History grade, among the top in the U.S.·Overall D · #227 of 247 in MO

#2

Richmond Heights

St. Louis County · 9,093 people
A+

History grade, among the top in the U.S.·Overall B · #96 of 247 in MO

#3

Louisiana

Pike County · 3,208 people
A+

History grade, better than 98% of U.S. towns·Overall C+ · #137 of 247 in MO

All 247 towns

History grade, best first (the letter is national). Towns with the same score share a rank (T = tied; 62 towns here); the overall grade and state rank are beside each.

247 towns ranked. Not here? See why a town may be missing.

#TownGradeOverall
1St. LouisSt. Louis city · 278,144 peopleA+among the top in the U.S.·Overall D · #227 of 247
2Richmond HeightsSt. Louis County · 9,093 peopleA+among the top in the U.S.·Overall B · #96 of 247
3LouisianaPike County · 3,208 peopleA+better than 98% of U.S. towns·Overall C+ · #137 of 247
4FayetteHoward County · 2,848 peopleA+better than 97% of U.S. towns·Overall B+ · #72 of 247
5Ste. GenevieveSte. Genevieve County · 5,065 peopleA+better than 97% of U.S. towns·Overall B · #83 of 247
6HannibalMarion County · 16,804 peopleA+better than 97% of U.S. towns·Overall C · #157 of 247
7St. JosephBuchanan County · 71,001 peopleA+better than 96% of U.S. towns·Overall D · #223 of 247
8BoonvilleCooper County · 7,867 peopleAbetter than 95% of U.S. towns·Overall C · #161 of 247
9WashingtonFranklin County · 15,906 peopleAbetter than 91% of U.S. towns·Overall B+ · #71 of 247
10LexingtonLafayette County · 4,568 peopleAbetter than 91% of U.S. towns·Overall C · #162 of 247
11CarthageJasper County · 15,895 peopleAbetter than 91% of U.S. towns·Overall C− · #187 of 247
12TrentonGrundy County · 5,557 peopleAbetter than 90% of U.S. towns·Overall B− · #112 of 247
13FultonCallaway County · 12,853 peopleAbetter than 90% of U.S. towns·Overall C+ · #122 of 247
14St. CharlesSt. Charles County · 72,561 peopleAbetter than 89% of U.S. towns·Overall B+ · #60 of 247
15PalmyraMarion County · 3,649 peopleAbetter than 89% of U.S. towns·Overall A · #10 of 247
16ClaytonSt. Louis County · 17,807 peopleAbetter than 88% of U.S. towns·Overall A · #14 of 247
17CantonLewis County · 2,763 peopleAbetter than 88% of U.S. towns·Overall B+ · #59 of 247
18Webster GrovesSt. Louis County · 23,450 peopleAbetter than 87% of U.S. towns·Overall A · #8 of 247
19ChillicotheLivingston County · 9,114 peopleAbetter than 87% of U.S. towns·Overall B · #92 of 247
T20CaliforniaMoniteau County · 4,523 peopleAbetter than 87% of U.S. towns·Overall A− · #36 of 247
T20SpringfieldGreene County · 169,847 peopleAbetter than 87% of U.S. towns·Overall C− · #176 of 247
T22KirksvilleAdair County · 17,863 peopleAbetter than 87% of U.S. towns·Overall B− · #119 of 247
T22NormandySt. Louis County · 4,380 peopleAbetter than 87% of U.S. towns·Overall C− · #185 of 247
24Jefferson CityCole County · 42,489 peopleAbetter than 86% of U.S. towns·Overall B− · #110 of 247
25MaplewoodSt. Louis County · 8,033 peopleAbetter than 86% of U.S. towns·Overall B+ · #68 of 247
26Cape GirardeauCape Girardeau County · 40,977 peopleAbetter than 86% of U.S. towns·Overall C− · #203 of 247
27MexicoAudrain County · 11,558 peopleAbetter than 86% of U.S. towns·Overall C− · #174 of 247
28Union TownshipDunklin County · 3,242 peopleA−better than 85% of U.S. towns·Overall D · #226 of 247
29CarrolltonCarroll County · 3,499 peopleA−better than 84% of U.S. towns·Overall C · #159 of 247
30Lemayunincorporated, St. Louis County · 16,228 peopleA−better than 84% of U.S. towns·Overall B+ · #70 of 247
31MoberlyRandolph County · 13,719 peopleA−better than 84% of U.S. towns·Overall D · #216 of 247
T32ClintonHenry County · 9,504 peopleA−better than 83% of U.S. towns·Overall D · #205 of 247
T32Park HillsSt. Francois County · 8,753 peopleA−better than 83% of U.S. towns·Overall C · #145 of 247
T34FredericktownMadison County · 4,584 peopleA−better than 82% of U.S. towns·Overall C− · #188 of 247
T34NeoshoNewton County · 14,078 peopleA−better than 82% of U.S. towns·Overall C · #151 of 247
36MarshallSaline County · 13,766 peopleA−better than 81% of U.S. towns·Overall C+ · #132 of 247
37West PlainsHowell County · 12,780 peopleA−better than 81% of U.S. towns·Overall D · #220 of 247
T38Kansas CityJackson County · 521,220 peopleA−better than 80% of U.S. towns·Overall C− · #200 of 247
T38Pleasant HillCass County · 8,956 peopleA−better than 80% of U.S. towns·Overall A− · #47 of 247
40FarmingtonSt. Francois County · 19,226 peopleA−better than 80% of U.S. towns·Overall C− · #196 of 247
T41LibertyClay County · 31,319 peopleA−better than 80% of U.S. towns·Overall B+ · #66 of 247
T41RichmondRay County · 5,968 peopleA−better than 80% of U.S. towns·Overall C · #163 of 247
43GlendaleSt. Louis County · 6,060 peopleA−better than 79% of U.S. towns·Overall A+ · #1 of 247
44CassvilleBarry County · 3,301 peopleA−better than 79% of U.S. towns·Overall C− · #183 of 247
45WarrensburgJohnson County · 20,283 peopleA−better than 79% of U.S. towns·Overall B− · #109 of 247
46SedaliaPettis County · 22,621 peopleA−better than 78% of U.S. towns·Overall C · #165 of 247
47MaryvilleNodaway County · 10,092 peopleA−better than 78% of U.S. towns·Overall B · #94 of 247
T48CharlestonMississippi County · 4,731 peopleA−better than 78% of U.S. towns·Overall D− · #246 of 247
T48University CitySt. Louis County · 34,657 peopleA−better than 78% of U.S. towns·Overall C · #168 of 247
50IndependenceJackson County · 121,675 peopleA−better than 78% of U.S. towns·Overall C− · #202 of 247
T51Center TownshipVernon County · 9,550 peopleA−better than 77% of U.S. towns·Overall C− · #173 of 247
T51HarrisonvilleCass County · 10,040 peopleA−better than 77% of U.S. towns·Overall C+ · #140 of 247
53JenningsSt. Louis County · 13,093 peopleA−better than 76% of U.S. towns·Overall D · #213 of 247
54ColumbiaBoone County · 130,851 peopleA−better than 76% of U.S. towns·Overall C+ · #142 of 247
55KirkwoodSt. Louis County · 29,331 peopleA−better than 75% of U.S. towns·Overall A− · #34 of 247
56JacksonCape Girardeau County · 16,033 peopleA−better than 75% of U.S. towns·Overall A− · #51 of 247
57Excelsior SpringsClay County · 10,819 peopleA−better than 75% of U.S. towns·Overall C+ · #133 of 247
58VersaillesMorgan County · 2,713 peopleB+better than 74% of U.S. towns·Overall C · #164 of 247
59Piney TownshipTexas County · 5,071 peopleB+better than 74% of U.S. towns·Overall D · #228 of 247
60SmithvilleClay County · 11,160 peopleB+better than 74% of U.S. towns·Overall A · #24 of 247
61FergusonSt. Louis County · 17,953 peopleB+better than 73% of U.S. towns·Overall D · #236 of 247
62MonettBarry County · 10,248 peopleB+better than 73% of U.S. towns·Overall C− · #178 of 247
63Castor TownshipStoddard County · 4,651 peopleB+better than 72% of U.S. towns·Overall B− · #120 of 247
64JoplinJasper County · 53,930 peopleB+better than 72% of U.S. towns·Overall D · #233 of 247
65TroyLincoln County · 15,201 peopleB+better than 71% of U.S. towns·Overall B+ · #79 of 247
66PerryvillePerry County · 8,593 peopleB+better than 71% of U.S. towns·Overall D · #212 of 247
67Webb CityJasper County · 13,459 peopleB+better than 70% of U.S. towns·Overall C+ · #136 of 247
68Bonne TerreSt. Francois County · 6,636 peopleB+better than 69% of U.S. towns·Overall C− · #193 of 247
69SavannahAndrew County · 5,107 peopleB+better than 69% of U.S. towns·Overall A · #9 of 247
70CameronClinton County · 7,341 peopleB+better than 68% of U.S. towns·Overall C+ · #135 of 247
71NevadaVernon County · 8,404 peopleB+better than 68% of U.S. towns·Overall D · #217 of 247
72LebanonLaclede County · 15,663 peopleB+better than 68% of U.S. towns·Overall D · #231 of 247
73Poplar BluffButler County · 16,295 peopleB+better than 67% of U.S. towns·Overall C− · #191 of 247
T74Mount VernonLawrence County · 4,835 peopleB+better than 67% of U.S. towns·Overall B− · #108 of 247
T74Polk TownshipNodaway County · 13,673 peopleB+better than 67% of U.S. towns·Overall B · #82 of 247
76New MadridNew Madrid County · 2,586 peopleB+better than 67% of U.S. towns·Overall D · #238 of 247
77Knob NosterJohnson County · 2,997 peopleB+better than 66% of U.S. towns·Overall A− · #56 of 247
78FlorissantSt. Louis County · 51,124 peopleB+better than 66% of U.S. towns·Overall C− · #179 of 247
79TiptonMoniteau County · 2,766 peopleB+better than 66% of U.S. towns·Overall C · #144 of 247
80MaconMacon County · 5,532 peopleB+better than 65% of U.S. towns·Overall C+ · #128 of 247
T81Mount Pleasant TownshipBates County · 5,093 peopleBbetter than 65% of U.S. towns·Overall C− · #175 of 247
T81Platte CityPlatte County · 4,911 peopleBbetter than 65% of U.S. towns·Overall B · #97 of 247
T81PotosiWashington County · 2,568 peopleBbetter than 65% of U.S. towns·Overall C− · #190 of 247
84City TownshipBarton County · 4,337 peopleBbetter than 65% of U.S. towns·Overall D · #210 of 247
85CentraliaBoone County · 4,767 peopleBbetter than 64% of U.S. towns·Overall A− · #37 of 247
T86Bowling GreenPike County · 4,472 peopleBbetter than 64% of U.S. towns·Overall B− · #118 of 247
T86Rock HillSt. Louis County · 4,668 peopleBbetter than 64% of U.S. towns·Overall A− · #29 of 247
88Moscow MillsLincoln County · 4,388 peopleBbetter than 63% of U.S. towns·Overall B · #100 of 247
89WarrentonWarren County · 9,667 peopleBbetter than 63% of U.S. towns·Overall C+ · #127 of 247
90Monroe CityMonroe County · 2,714 peopleBbetter than 63% of U.S. towns·Overall B · #105 of 247
91North Kansas CityClay County · 5,613 peopleBbetter than 63% of U.S. towns·Overall C · #152 of 247
92MarshfieldWebster County · 8,078 peopleBbetter than 62% of U.S. towns·Overall B− · #113 of 247
93OzarkChristian County · 23,544 peopleBbetter than 61% of U.S. towns·Overall B+ · #64 of 247
94VandaliaAudrain County · 3,029 peopleBbetter than 61% of U.S. towns·Overall C− · #172 of 247
95RollaPhelps County · 20,588 peopleBbetter than 60% of U.S. towns·Overall C · #148 of 247
96ManchesterSt. Louis County · 18,069 peopleBbetter than 60% of U.S. towns·Overall A− · #33 of 247
97PacificFranklin County · 7,824 peopleBbetter than 59% of U.S. towns·Overall C+ · #131 of 247
98AuroraLawrence County · 7,686 peopleBbetter than 58% of U.S. towns·Overall C · #170 of 247
99BolivarPolk County · 11,994 peopleBbetter than 58% of U.S. towns·Overall C+ · #138 of 247
100ChesterfieldSt. Louis County · 49,309 peopleBbetter than 58% of U.S. towns·Overall A · #27 of 247
T101Afftonunincorporated, St. Louis County · 19,052 peopleBbetter than 57% of U.S. towns·Overall A · #25 of 247
T101LadueSt. Louis County · 8,934 peopleBbetter than 57% of U.S. towns·Overall A · #18 of 247
T101ParkvillePlatte County · 9,093 peopleBbetter than 57% of U.S. towns·Overall A− · #42 of 247
104WaynesvillePulaski County · 5,558 peopleBbetter than 57% of U.S. towns·Overall C · #166 of 247
T105De SotoJefferson County · 6,527 peopleBbetter than 57% of U.S. towns·Overall C · #167 of 247
T105St. ClairFranklin County · 4,813 peopleBbetter than 57% of U.S. towns·Overall D · #221 of 247
107HigginsvilleLafayette County · 4,770 peopleBbetter than 56% of U.S. towns·Overall A− · #30 of 247
108Marceline TownshipLinn County · 2,589 peopleBbetter than 55% of U.S. towns·Overall A− · #52 of 247
109ButlerBates County · 4,317 peopleB−better than 55% of U.S. towns·Overall D · #218 of 247
110Blue SpringsJackson County · 61,632 peopleB−better than 54% of U.S. towns·Overall B · #84 of 247
111AvaDouglas County · 3,231 peopleB−better than 54% of U.S. towns·Overall C+ · #139 of 247
112LamarBarton County · 4,337 peopleB−better than 53% of U.S. towns·Overall D · #215 of 247
113HillsboroJefferson County · 3,493 peopleB−better than 52% of U.S. towns·Overall B · #104 of 247
114RaytownJackson County · 29,154 peopleB−better than 52% of U.S. towns·Overall D · #222 of 247
115BethanyHarrison County · 2,956 peopleB−better than 52% of U.S. towns·Overall B− · #111 of 247
116Lee's SummitJackson County · 107,514 peopleB−better than 51% of U.S. towns·Overall B · #81 of 247
117CubaCrawford County · 3,288 peopleB−better than 50% of U.S. towns·Overall B · #95 of 247
118Pine LawnSt. Louis County · 2,682 peopleB−better than 50% of U.S. towns·Overall D · #207 of 247
119Breckenridge HillsSt. Louis County · 4,350 peopleB−better than 49% of U.S. towns·Overall D · #242 of 247
120St. JohnSt. Louis County · 6,441 peopleB−better than 49% of U.S. towns·Overall D− · #243 of 247
121St. JamesPhelps County · 3,925 peopleB−better than 48% of U.S. towns·Overall C+ · #126 of 247
122BuffaloDallas County · 3,550 peopleB−better than 48% of U.S. towns·Overall C · #154 of 247
123BridgetonSt. Louis County · 11,277 peopleB−better than 47% of U.S. towns·Overall D · #211 of 247
124SalemDent County · 4,674 peopleB−better than 47% of U.S. towns·Overall C− · #186 of 247
125FentonSt. Louis County · 4,060 peopleB−better than 47% of U.S. towns·Overall A− · #44 of 247
126Oakvilleunincorporated, St. Louis County · 35,333 peopleB−better than 46% of U.S. towns·Overall B+ · #58 of 247
127Independence TownshipDunklin County · 11,792 peopleB−better than 46% of U.S. towns·Overall C− · #199 of 247
128Mountain GroveWright County · 4,754 peopleB−better than 46% of U.S. towns·Overall C · #155 of 247
129OverlandSt. Louis County · 15,474 peopleB−better than 45% of U.S. towns·Overall D · #206 of 247
130UnionFranklin County · 13,445 peopleC+better than 45% of U.S. towns·Overall C+ · #123 of 247
131ForsythTaney County · 2,752 peopleC+better than 44% of U.S. towns·Overall C+ · #121 of 247
132Creve CoeurSt. Louis County · 18,480 peopleC+better than 43% of U.S. towns·Overall B+ · #65 of 247
133SullivanFranklin County · 6,942 peopleC+better than 42% of U.S. towns·Overall C · #149 of 247
134OdessaLafayette County · 5,721 peopleC+better than 42% of U.S. towns·Overall A+ · #3 of 247
135SikestonScott County · 15,983 peopleC+better than 42% of U.S. towns·Overall D · #224 of 247
136CaruthersvillePemiscot County · 5,211 peopleC+better than 41% of U.S. towns·Overall D− · #247 of 247
137KennettDunklin County · 10,118 peopleC+better than 40% of U.S. towns·Overall D · #229 of 247
138GrandviewJackson County · 26,653 peopleC+better than 40% of U.S. towns·Overall D · #241 of 247
T139Liberty TownshipStoddard County · 14,741 peopleC+better than 39% of U.S. towns·Overall B− · #116 of 247
T139PagedaleSt. Louis County · 2,511 peopleC+better than 39% of U.S. towns·Overall D− · #244 of 247
141DexterStoddard County · 7,851 peopleC+better than 39% of U.S. towns·Overall C · #146 of 247
142Wright CityWarren County · 5,854 peopleC+better than 39% of U.S. towns·Overall B+ · #80 of 247
143BrookfieldLinn County · 4,083 peopleC+better than 38% of U.S. towns·Overall B · #87 of 247
144Sappingtonunincorporated, St. Louis County · 7,367 peopleC+better than 38% of U.S. towns·Overall A · #20 of 247
145CrestwoodSt. Louis County · 12,207 peopleC+better than 38% of U.S. towns·Overall A · #11 of 247
146Lake LotawanaJackson County · 2,756 peopleC+better than 38% of U.S. towns·Overall B+ · #57 of 247
147OwensvilleGasconade County · 2,802 peopleC+better than 38% of U.S. towns·Overall C+ · #124 of 247
148WindsorHenry County · 2,869 peopleC+better than 38% of U.S. towns·Overall C− · #198 of 247
149Byrnes MillJefferson County · 3,183 peopleC+better than 37% of U.S. towns·Overall D · #209 of 247
150LickingTexas County · 2,958 peopleC+better than 37% of U.S. towns·Overall C+ · #134 of 247
151Mehlvilleunincorporated, St. Louis County · 29,805 peopleC+better than 37% of U.S. towns·Overall A− · #40 of 247
152Oak GroveJackson County · 9,370 peopleC+better than 36% of U.S. towns·Overall B · #98 of 247
153Scott CityScott County · 4,593 peopleC+better than 36% of U.S. towns·Overall C · #150 of 247
154Sugar CreekJackson County · 3,209 peopleC+better than 36% of U.S. towns·Overall C− · #184 of 247
155Windsor TownshipHenry County · 3,454 peopleC+better than 35% of U.S. towns·Overall C− · #201 of 247
156BrentwoodSt. Louis County · 8,079 peopleCbetter than 35% of U.S. towns·Overall A− · #48 of 247
157ShrewsburySt. Louis County · 6,231 peopleCbetter than 35% of U.S. towns·Overall B · #90 of 247
158RaymoreCass County · 26,633 peopleCbetter than 34% of U.S. towns·Overall B+ · #75 of 247
159Mountain ViewHowell County · 2,661 peopleCbetter than 34% of U.S. towns·Overall C− · #189 of 247
T160ChaffeeScott County · 3,017 peopleCbetter than 33% of U.S. towns·Overall C · #169 of 247
T160Spanish Lakeunincorporated, St. Louis County · 17,873 peopleCbetter than 33% of U.S. towns·Overall D · #225 of 247
162Imperialunincorporated, Jefferson County · 5,488 peopleCbetter than 33% of U.S. towns·Overall B− · #114 of 247
T163El Dorado SpringsCedar County · 3,642 peopleCbetter than 32% of U.S. towns·Overall D · #230 of 247
T163KearneyClay County · 11,296 peopleCbetter than 32% of U.S. towns·Overall A · #7 of 247
T165BransonTaney County · 12,921 peopleCbetter than 31% of U.S. towns·Overall D · #219 of 247
T165HollisterTaney County · 4,690 peopleCbetter than 31% of U.S. towns·Overall C+ · #143 of 247
167PortagevilleNew Madrid County · 2,702 peopleCbetter than 31% of U.S. towns·Overall C− · #177 of 247
168CottlevilleSt. Charles County · 6,717 peopleCbetter than 31% of U.S. towns·Overall A+ · #4 of 247
169O'FallonSt. Charles County · 96,101 peopleCbetter than 30% of U.S. towns·Overall A · #23 of 247
170St. PetersSt. Charles County · 61,479 peopleCbetter than 30% of U.S. towns·Overall A− · #43 of 247
171EurekaSt. Louis County · 13,422 peopleCbetter than 29% of U.S. towns·Overall A− · #46 of 247
172RepublicGreene County · 22,404 peopleCbetter than 29% of U.S. towns·Overall B+ · #69 of 247
173DeslogeSt. Francois County · 4,819 peopleCbetter than 29% of U.S. towns·Overall C− · #197 of 247
174BallwinSt. Louis County · 30,901 peopleCbetter than 28% of U.S. towns·Overall A+ · #5 of 247
175Des PeresSt. Louis County · 9,102 peopleCbetter than 28% of U.S. towns·Overall B+ · #78 of 247
176MaldenDunklin County · 3,493 peopleCbetter than 28% of U.S. towns·Overall D · #239 of 247
177EllisvilleSt. Louis County · 10,315 peopleCbetter than 27% of U.S. towns·Overall A− · #35 of 247
178Montgomery CityMontgomery County · 2,782 peopleCbetter than 27% of U.S. towns·Overall C+ · #141 of 247
179EldonMiller County · 4,785 peopleCbetter than 27% of U.S. towns·Overall B− · #107 of 247
180PevelyJefferson County · 6,239 peopleCbetter than 27% of U.S. towns·Overall C+ · #130 of 247
181NorthwoodsSt. Louis County · 3,579 peopleCbetter than 27% of U.S. towns·Overall C− · #194 of 247
182BucknerJackson County · 2,891 peopleCbetter than 26% of U.S. towns·Overall B− · #115 of 247
183Country ClubAndrew County · 2,512 peopleCbetter than 26% of U.S. towns·Overall B · #85 of 247
184Crystal CityJefferson County · 4,694 peopleCbetter than 26% of U.S. towns·Overall A · #17 of 247
185Old Jamestownunincorporated, St. Louis County · 20,651 peopleCbetter than 26% of U.S. towns·Overall C− · #195 of 247
T186Cotton Hill TownshipDunklin County · 4,700 peopleCbetter than 26% of U.S. towns·Overall D · #232 of 247
T186FestusJefferson County · 14,066 peopleCbetter than 26% of U.S. towns·Overall B+ · #73 of 247
188Black JackSt. Louis County · 6,547 peopleCbetter than 25% of U.S. towns·Overall C− · #181 of 247
189Burdine TownshipTexas County · 3,327 peopleCbetter than 25% of U.S. towns·Overall D · #234 of 247
190LawsonRay County · 2,541 peopleC−better than 25% of U.S. towns·Overall A− · #53 of 247
T191Concordunincorporated, St. Louis County · 18,368 peopleC−better than 24% of U.S. towns·Overall A− · #32 of 247
T191East PrairieMississippi County · 2,841 peopleC−better than 24% of U.S. towns·Overall C− · #204 of 247
193WildwoodSt. Louis County · 34,955 peopleC−better than 23% of U.S. towns·Overall A · #21 of 247
194Glasgow Villageunincorporated, St. Louis County · 5,504 peopleC−better than 23% of U.S. towns·Overall D · #240 of 247
195WentzvilleSt. Charles County · 49,495 peopleC−better than 23% of U.S. towns·Overall A− · #54 of 247
196Sherrill TownshipTexas County · 5,574 peopleC−better than 22% of U.S. towns·Overall C− · #192 of 247
197RogersvilleWebster County · 5,754 peopleC−better than 22% of U.S. towns·Overall B+ · #77 of 247
198OronogoJasper County · 3,204 peopleC−better than 22% of U.S. towns·Overall A · #19 of 247
T199St. AnnSt. Louis County · 12,617 peopleC−better than 22% of U.S. towns·Overall C · #158 of 247
T199Valley ParkSt. Louis County · 6,767 peopleC−better than 22% of U.S. towns·Overall B · #103 of 247
201Pike TownshipStoddard County · 3,577 peopleC−better than 21% of U.S. towns·Overall B− · #117 of 247
202Duck Creek TownshipStoddard County · 3,016 peopleC−better than 20% of U.S. towns·Overall C+ · #129 of 247
203Sunset HillsSt. Louis County · 9,075 peopleC−better than 20% of U.S. towns·Overall B+ · #63 of 247
204WillardGreene County · 6,904 peopleC−better than 19% of U.S. towns·Overall A− · #49 of 247
T205BeltonCass County · 26,193 peopleC−better than 18% of U.S. towns·Overall C · #156 of 247
T205Villa Ridgeunincorporated, Franklin County · 2,835 peopleC−better than 18% of U.S. towns·Overall C · #147 of 247
207Holts SummitCallaway County · 4,773 peopleC−better than 18% of U.S. towns·Overall B+ · #74 of 247
208Gray Summitunincorporated, Franklin County · 2,991 peopleC−better than 17% of U.S. towns·Overall B · #93 of 247
209CleverChristian County · 3,143 peopleC−better than 17% of U.S. towns·Overall B+ · #67 of 247
210Carl JunctionJasper County · 8,484 peopleC−better than 17% of U.S. towns·Overall B− · #106 of 247
T211Grand River TownshipDeKalb County · 3,258 peopleC−better than 17% of U.S. towns·Overall B · #101 of 247
T211Woodson TerraceSt. Louis County · 3,902 peopleC−better than 17% of U.S. towns·Overall D · #237 of 247
213StraffordGreene County · 2,789 peopleC−better than 17% of U.S. towns·Overall C+ · #125 of 247
T214Grain ValleyJackson County · 16,908 peopleC−better than 16% of U.S. towns·Overall B+ · #76 of 247
T214High Ridgeunincorporated, Jefferson County · 3,714 peopleC−better than 16% of U.S. towns·Overall A− · #39 of 247
T214Weldon SpringSt. Charles County · 5,301 peopleC−better than 16% of U.S. towns·Overall A− · #55 of 247
217AshlandBoone County · 5,221 peopleC−better than 16% of U.S. towns·Overall A · #15 of 247
218HerculaneumJefferson County · 5,402 peopleC−better than 16% of U.S. towns·Overall B+ · #61 of 247
219St. PaulSt. Charles County · 3,849 peopleC−better than 16% of U.S. towns·Overall A · #26 of 247
T220GreenwoodJackson County · 6,315 peopleC−better than 15% of U.S. towns·Overall A · #6 of 247
T220PeculiarCass County · 6,365 peopleC−better than 15% of U.S. towns·Overall B · #102 of 247
222BerkeleySt. Louis County · 8,026 peopleC−better than 15% of U.S. towns·Overall D · #235 of 247
223NixaChristian County · 26,597 peopleDbetter than 15% of U.S. towns·Overall A · #12 of 247
T224FrontenacSt. Louis County · 3,790 peopleDbetter than 14% of U.S. towns·Overall A− · #50 of 247
T224GladstoneClay County · 27,497 peopleDbetter than 14% of U.S. towns·Overall B · #89 of 247
T224Town and CountrySt. Louis County · 11,619 peopleDbetter than 14% of U.S. towns·Overall A · #28 of 247
227Murphyunincorporated, Jefferson County · 8,285 peopleDbetter than 14% of U.S. towns·Overall B · #99 of 247
228Pleasant ValleyClay County · 2,747 peopleDbetter than 13% of U.S. towns·Overall A · #16 of 247
229HazelwoodSt. Louis County · 24,849 peopleDbetter than 13% of U.S. towns·Overall D · #214 of 247
230OlivetteSt. Louis County · 8,937 peopleDbetter than 13% of U.S. towns·Overall A · #13 of 247
231Bellefontaine NeighborsSt. Louis County · 10,368 peopleDbetter than 12% of U.S. towns·Overall D− · #245 of 247
232Osage BeachCamden County · 5,079 peopleDbetter than 11% of U.S. towns·Overall C− · #171 of 247
233CamdentonCamden County · 4,050 peopleDbetter than 10% of U.S. towns·Overall C− · #180 of 247
234Whiteman AFBunincorporated, Johnson County · 3,517 peopleDbetter than 8% of U.S. towns·Overall C · #160 of 247
235St. RobertPulaski County · 5,602 peopleDbetter than 7% of U.S. towns·Overall C · #153 of 247
236Fort Leonard Woodunincorporated, Pulaski County · 15,432 peopleDbetter than 7% of U.S. towns·Overall B · #86 of 247
T237DellwoodSt. Louis County · 4,825 peopleDbetter than 6% of U.S. towns·Overall C− · #182 of 247
T237Maryland HeightsSt. Louis County · 27,559 peopleDbetter than 6% of U.S. towns·Overall A · #22 of 247
T239ArnoldJefferson County · 20,994 peopleD−better than 4% of U.S. towns·Overall B+ · #62 of 247
T239BattlefieldGreene County · 6,361 peopleD−better than 4% of U.S. towns·Overall A− · #45 of 247
241Barnhartunincorporated, Jefferson County · 5,785 peopleD−better than 3% of U.S. towns·Overall B · #91 of 247
242Green ParkSt. Louis County · 2,670 peopleD−better than 3% of U.S. towns·Overall A+ · #2 of 247
243Terre du Lacunincorporated, St. Francois County · 2,516 peopleD−better than 2% of U.S. towns·Overall B · #88 of 247
T244Clarkson ValleySt. Louis County · 2,540 peopleD−among the lowest in the U.S.·Overall A− · #38 of 247
T244Dardenne PrairieSt. Charles County · 15,032 peopleD−among the lowest in the U.S.·Overall A− · #41 of 247
T246Lake St. LouisSt. Charles County · 19,129 peopleD−among the lowest in the U.S.·Overall A− · #31 of 247
T246RiversidePlatte County · 4,581 peopleD−among the lowest in the U.S.·Overall D · #208 of 247
Quick answers

Questions people ask

What is the most historic town in Missouri?

St. Louis (St. Louis city) ranks first on history among 247 towns, with an A+; Richmond Heights and Louisiana follow.

How are these towns ranked?

The History grade, a character grade (not part of the overall): the town’s founding era, homes built before 1940 (Census ACS) and its National Register places. Towns are sorted on the grade’s score; the letter and rank are the same as on each town’s page. How grades work.

Why isn’t my town on this list?

The list covers towns of 2,500+ residents with a history grade (247 in Missouri). Smaller towns have the grade on their page but no rank. Every town is on the Missouri page.

Go deeper

More Missouri lists

Every list ranks the same 2,500+ towns, so a town’s rank means the same thing on each.

All Missouri rankings →
Other states

Most historic towns in other states