Guest, Sign inJoin
Marceline Station - February 2017Marceline Township, #1 on this list · Photo: Mitchazenia · CC BY-SA 4.0
Missouri rankings · Cost of living

Most affordable towns in Missouri

Marceline Township ranks first on cost of living among Missouri’s 247 towns of 2,500+; 97 of the 247 grade A− or better on cost of living nationally.

The Cost of living grade: home values, rent and property-tax bills against the income of the town’s metro area or county, and the share of households paying 30%+ of income for housing (Census ACS). How grades work

#1

Marceline Township

Linn County · 2,589 people
A+

Cost of living grade, homes cost 1.9 years of area income·Overall A− · #52 of 247 in MO

#3

Tipton

Moniteau County · 2,766 people
A+

Cost of living grade, homes cost 2.6 years of area income·Overall C · #144 of 247 in MO

All 247 towns

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

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

#TownGradeHome price · overall
1Marceline TownshipLinn County · 2,589 peopleA+1.9 years of area income·Overall A− · #52 of 247
2BrookfieldLinn County · 4,083 peopleA+2.2 years of area income·Overall B · #87 of 247
3TiptonMoniteau County · 2,766 peopleA+2.6 years of area income·Overall C · #144 of 247
4Pike TownshipStoddard County · 3,577 peopleA+2.1 years of area income·Overall B− · #117 of 247
5NormandySt. Louis County · 4,380 peopleA+1.2 years of area income·Overall C− · #185 of 247
6BuffaloDallas County · 3,550 peopleA+3.3 years of area income·Overall C · #154 of 247
7De SotoJefferson County · 6,527 peopleA+3.1 years of area income·Overall C · #167 of 247
8CantonLewis County · 2,763 peopleA+3.1 years of area income·Overall B+ · #59 of 247
9CaliforniaMoniteau County · 4,523 peopleA3.3 years of area income·Overall A− · #36 of 247
10Castor TownshipStoddard County · 4,651 peopleA1.8 years of area income·Overall B− · #120 of 247
11DeslogeSt. Francois County · 4,819 peopleA3.0 years of area income·Overall C− · #197 of 247
12ChaffeeScott County · 3,017 peopleA2.5 years of area income·Overall C · #169 of 247
13CentraliaBoone County · 4,767 peopleA3.9 years of area income·Overall A− · #37 of 247
14High Ridgeunincorporated, Jefferson County · 3,714 peopleA3.4 years of area income·Overall A− · #39 of 247
15FayetteHoward County · 2,848 peopleA3.2 years of area income·Overall B+ · #72 of 247
16LouisianaPike County · 3,208 peopleA2.8 years of area income·Overall C+ · #137 of 247
17HigginsvilleLafayette County · 4,770 peopleA2.7 years of area income·Overall A− · #30 of 247
18SullivanFranklin County · 6,942 peopleA2.6 years of area income·Overall C · #149 of 247
19Ste. GenevieveSte. Genevieve County · 5,065 peopleA3.8 years of area income·Overall B · #83 of 247
20LexingtonLafayette County · 4,568 peopleA2.5 years of area income·Overall C · #162 of 247
21UnionFranklin County · 13,445 peopleA3.2 years of area income·Overall C+ · #123 of 247
22VandaliaAudrain County · 3,029 peopleA2.4 years of area income·Overall C− · #172 of 247
23Crystal CityJefferson County · 4,694 peopleA2.8 years of area income·Overall A · #17 of 247
24RichmondRay County · 5,968 peopleA2.8 years of area income·Overall C · #163 of 247
25WindsorHenry County · 2,869 peopleA3.1 years of area income·Overall C− · #198 of 247
26CassvilleBarry County · 3,301 peopleA3.8 years of area income·Overall C− · #183 of 247
27Windsor TownshipHenry County · 3,454 peopleA1.8 years of area income·Overall C− · #201 of 247
28ChillicotheLivingston County · 9,114 peopleA3.0 years of area income·Overall B · #92 of 247
29HarrisonvilleCass County · 10,040 peopleA3.6 years of area income·Overall C+ · #140 of 247
30OwensvilleGasconade County · 2,802 peopleA3.7 years of area income·Overall C+ · #124 of 247
31VersaillesMorgan County · 2,713 peopleA4.5 years of area income·Overall C · #164 of 247
32Murphyunincorporated, Jefferson County · 8,285 peopleA2.3 years of area income·Overall B · #99 of 247
33Duck Creek TownshipStoddard County · 3,016 peopleA2.6 years of area income·Overall C+ · #129 of 247
34Bonne TerreSt. Francois County · 6,636 peopleA3.5 years of area income·Overall C− · #193 of 247
35KennettDunklin County · 10,118 peopleA2.4 years of area income·Overall D · #229 of 247
36MexicoAudrain County · 11,558 peopleA3.1 years of area income·Overall C− · #174 of 247
37MaconMacon County · 5,532 peopleA3.0 years of area income·Overall C+ · #128 of 247
38Independence TownshipDunklin County · 11,792 peopleA2.4 years of area income·Overall C− · #199 of 247
39KirksvilleAdair County · 17,863 peopleA2.5 years of area income·Overall B− · #119 of 247
40CameronClinton County · 7,341 peopleA3.0 years of area income·Overall C+ · #135 of 247
41SalemDent County · 4,674 peopleA3.3 years of area income·Overall C− · #186 of 247
42East PrairieMississippi County · 2,841 peopleA2.0 years of area income·Overall C− · #204 of 247
43Cotton Hill TownshipDunklin County · 4,700 peopleA1.9 years of area income·Overall D · #232 of 247
44Sugar CreekJackson County · 3,209 peopleA2.1 years of area income·Overall C− · #184 of 247
45MarshfieldWebster County · 8,078 peopleA4.0 years of area income·Overall B− · #113 of 247
46Lemayunincorporated, St. Louis County · 16,228 peopleA2.1 years of area income·Overall B+ · #70 of 247
47SavannahAndrew County · 5,107 peopleA4.1 years of area income·Overall A · #9 of 247
48TrentonGrundy County · 5,557 peopleA2.2 years of area income·Overall B− · #112 of 247
49NeoshoNewton County · 14,078 peopleA3.7 years of area income·Overall C · #151 of 247
50Pleasant ValleyClay County · 2,747 peopleA−3.1 years of area income·Overall A · #16 of 247
51BoonvilleCooper County · 7,867 peopleA−2.7 years of area income·Overall C · #161 of 247
52DellwoodSt. Louis County · 4,825 peopleA−1.4 years of area income·Overall C− · #182 of 247
53WashingtonFranklin County · 15,906 peopleA−3.8 years of area income·Overall B+ · #71 of 247
54Terre du Lacunincorporated, St. Francois County · 2,516 peopleA−3.5 years of area income·Overall B · #88 of 247
55OdessaLafayette County · 5,721 peopleA−3.1 years of area income·Overall A+ · #3 of 247
56PalmyraMarion County · 3,649 peopleA−3.9 years of area income·Overall A · #10 of 247
57HannibalMarion County · 16,804 peopleA−2.8 years of area income·Overall C · #157 of 247
58AuroraLawrence County · 7,686 peopleA−2.9 years of area income·Overall C · #170 of 247
59DexterStoddard County · 7,851 peopleA−2.9 years of area income·Overall C · #146 of 247
60WarrentonWarren County · 9,667 peopleA−3.8 years of area income·Overall C+ · #127 of 247
61ButlerBates County · 4,317 peopleA−2.1 years of area income·Overall D · #218 of 247
62Montgomery CityMontgomery County · 2,782 peopleA−3.7 years of area income·Overall C+ · #141 of 247
63Mount Pleasant TownshipBates County · 5,093 peopleA−1.8 years of area income·Overall C− · #175 of 247
64Liberty TownshipStoddard County · 14,741 peopleA−2.7 years of area income·Overall B− · #116 of 247
65Excelsior SpringsClay County · 10,819 peopleA−2.7 years of area income·Overall C+ · #133 of 247
66FestusJefferson County · 14,066 peopleA−3.8 years of area income·Overall B+ · #73 of 247
67Union TownshipDunklin County · 3,242 peopleA−2.1 years of area income·Overall D · #226 of 247
68TroyLincoln County · 15,201 peopleA−4.0 years of area income·Overall B+ · #79 of 247
69CarrolltonCarroll County · 3,499 peopleA−2.5 years of area income·Overall C · #159 of 247
70FultonCallaway County · 12,853 peopleA−3.4 years of area income·Overall C+ · #122 of 247
71Green ParkSt. Louis County · 2,670 peopleA−3.2 years of area income·Overall A+ · #2 of 247
72Mountain ViewHowell County · 2,661 peopleA−3.9 years of area income·Overall C− · #189 of 247
73Scott CityScott County · 4,593 peopleA−2.9 years of area income·Overall C · #150 of 247
74Gray Summitunincorporated, Franklin County · 2,991 peopleA−3.1 years of area income·Overall B · #93 of 247
75Bowling GreenPike County · 4,472 peopleA−4.2 years of area income·Overall B− · #118 of 247
76PagedaleSt. Louis County · 2,511 peopleA−0.9 years of area income·Overall D− · #244 of 247
77Villa Ridgeunincorporated, Franklin County · 2,835 peopleA−3.6 years of area income·Overall C · #147 of 247
78Holts SummitCallaway County · 4,773 peopleA−3.9 years of area income·Overall B+ · #74 of 247
79Jefferson CityCole County · 42,489 peopleA−3.7 years of area income·Overall B− · #110 of 247
80St. AnnSt. Louis County · 12,617 peopleA−2.0 years of area income·Overall C · #158 of 247
81LawsonRay County · 2,541 peopleA−3.7 years of area income·Overall A− · #53 of 247
82BucknerJackson County · 2,891 peopleA−2.5 years of area income·Overall B− · #115 of 247
83Knob NosterJohnson County · 2,997 peopleA−4.0 years of area income·Overall A− · #56 of 247
84Park HillsSt. Francois County · 8,753 peopleA−2.7 years of area income·Overall C · #145 of 247
85Pine LawnSt. Louis County · 2,682 peopleA−0.9 years of area income·Overall D · #207 of 247
86CharlestonMississippi County · 4,731 peopleA−1.4 years of area income·Overall D− · #246 of 247
87MaldenDunklin County · 3,493 peopleA−1.8 years of area income·Overall D · #239 of 247
88Wright CityWarren County · 5,854 peopleA−3.9 years of area income·Overall B+ · #80 of 247
89JenningsSt. Louis County · 13,093 peopleA−0.9 years of area income·Overall D · #213 of 247
90Mount VernonLawrence County · 4,835 peopleA−3.8 years of area income·Overall B− · #108 of 247
91StraffordGreene County · 2,789 peopleA−4.7 years of area income·Overall C+ · #125 of 247
92FredericktownMadison County · 4,584 peopleA−3.3 years of area income·Overall C− · #188 of 247
93St. JamesPhelps County · 3,925 peopleA−4.1 years of area income·Overall C+ · #126 of 247
94CubaCrawford County · 3,288 peopleA−3.9 years of area income·Overall B · #95 of 247
95ArnoldJefferson County · 20,994 peopleA−3.4 years of area income·Overall B+ · #62 of 247
96BethanyHarrison County · 2,956 peopleA−2.5 years of area income·Overall B− · #111 of 247
97Afftonunincorporated, St. Louis County · 19,052 peopleA−3.0 years of area income·Overall A · #25 of 247
98NorthwoodsSt. Louis County · 3,579 peopleB+1.1 years of area income·Overall C− · #194 of 247
99PotosiWashington County · 2,568 peopleB+3.5 years of area income·Overall C− · #190 of 247
100OverlandSt. Louis County · 15,474 peopleB+1.9 years of area income·Overall D · #206 of 247
101BerkeleySt. Louis County · 8,026 peopleB+1.2 years of area income·Overall D · #235 of 247
102Grand River TownshipDeKalb County · 3,258 peopleB+3.2 years of area income·Overall B · #101 of 247
103HillsboroJefferson County · 3,493 peopleB+4.0 years of area income·Overall B · #104 of 247
104Monroe CityMonroe County · 2,714 peopleB+3.6 years of area income·Overall B · #105 of 247
105Sherrill TownshipTexas County · 5,574 peopleB+2.4 years of area income·Overall C− · #192 of 247
106LickingTexas County · 2,958 peopleB+4.0 years of area income·Overall C+ · #134 of 247
107St. ClairFranklin County · 4,813 peopleB+2.7 years of area income·Overall D · #221 of 247
108MarshallSaline County · 13,766 peopleB+3.4 years of area income·Overall C+ · #132 of 247
109Burdine TownshipTexas County · 3,327 peopleB+3.4 years of area income·Overall D · #234 of 247
110RollaPhelps County · 20,588 peopleB+4.1 years of area income·Overall C · #148 of 247
111New MadridNew Madrid County · 2,586 peopleB+2.2 years of area income·Overall D · #238 of 247
112Piney TownshipTexas County · 5,071 peopleB+2.5 years of area income·Overall D · #228 of 247
113St. JosephBuchanan County · 71,001 peopleB+2.8 years of area income·Overall D · #223 of 247
114Mehlvilleunincorporated, St. Louis County · 29,805 peopleB+3.2 years of area income·Overall A− · #40 of 247
115OronogoJasper County · 3,204 peopleB+4.0 years of area income·Overall A · #19 of 247
116SedaliaPettis County · 22,621 peopleB+3.1 years of area income·Overall C · #165 of 247
117ClintonHenry County · 9,504 peopleB+3.0 years of area income·Overall D · #205 of 247
118MaryvilleNodaway County · 10,092 peopleB+3.8 years of area income·Overall B · #94 of 247
119IndependenceJackson County · 121,675 peopleB+2.5 years of area income·Overall C− · #202 of 247
120WarrensburgJohnson County · 20,283 peopleB+4.0 years of area income·Overall B− · #109 of 247
121NevadaVernon County · 8,404 peopleB+3.2 years of area income·Overall D · #217 of 247
122HollisterTaney County · 4,690 peopleB+5.2 years of area income·Overall C+ · #143 of 247
123GladstoneClay County · 27,497 peopleB+3.2 years of area income·Overall B · #89 of 247
124Breckenridge HillsSt. Louis County · 4,350 peopleB+1.5 years of area income·Overall D · #242 of 247
125JacksonCape Girardeau County · 16,033 peopleB+4.1 years of area income·Overall A− · #51 of 247
126EldonMiller County · 4,785 peopleB+3.4 years of area income·Overall B− · #107 of 247
127ForsythTaney County · 2,752 peopleB+3.7 years of area income·Overall C+ · #121 of 247
128Oak GroveJackson County · 9,370 peopleB+3.6 years of area income·Overall B · #98 of 247
129Bellefontaine NeighborsSt. Louis County · 10,368 peopleB+1.3 years of area income·Overall D− · #245 of 247
130FergusonSt. Louis County · 17,953 peopleB+1.4 years of area income·Overall D · #236 of 247
131Moscow MillsLincoln County · 4,388 peopleB+4.2 years of area income·Overall B · #100 of 247
132GrandviewJackson County · 26,653 peopleB+2.6 years of area income·Overall D · #241 of 247
133BolivarPolk County · 11,994 peopleB+4.0 years of area income·Overall C+ · #138 of 247
134RaytownJackson County · 29,154 peopleB+2.5 years of area income·Overall D · #222 of 247
135Center TownshipVernon County · 9,550 peopleB2.9 years of area income·Overall C− · #173 of 247
136St. JohnSt. Louis County · 6,441 peopleB1.7 years of area income·Overall D− · #243 of 247
137St. LouisSt. Louis city · 278,144 peopleB2.3 years of area income·Overall D · #227 of 247
138HazelwoodSt. Louis County · 24,849 peopleB2.0 years of area income·Overall D · #214 of 247
139Woodson TerraceSt. Louis County · 3,902 peopleB1.7 years of area income·Overall D · #237 of 247
140HerculaneumJefferson County · 5,402 peopleB3.7 years of area income·Overall B+ · #61 of 247
141Glasgow Villageunincorporated, St. Louis County · 5,504 peopleB1.0 years of area income·Overall D · #240 of 247
142Cape GirardeauCape Girardeau County · 40,977 peopleB3.3 years of area income·Overall C− · #203 of 247
143Imperialunincorporated, Jefferson County · 5,488 peopleB4.1 years of area income·Overall B− · #114 of 247
144Webb CityJasper County · 13,459 peopleB3.7 years of area income·Overall C+ · #136 of 247
145AvaDouglas County · 3,231 peopleB5.0 years of area income·Overall C+ · #139 of 247
146CamdentonCamden County · 4,050 peopleB4.7 years of area income·Overall C− · #180 of 247
147SikestonScott County · 15,983 peopleB2.7 years of area income·Overall D · #224 of 247
148WillardGreene County · 6,904 peopleB4.2 years of area income·Overall A− · #49 of 247
149Polk TownshipNodaway County · 13,673 peopleB3.0 years of area income·Overall B · #82 of 247
T150City TownshipBarton County · 4,337 peopleB2.3 years of area income·Overall D · #210 of 247
T150LamarBarton County · 4,337 peopleB3.7 years of area income·Overall D · #215 of 247
152Mountain GroveWright County · 4,754 peopleB4.2 years of area income·Overall C · #155 of 247
153PevelyJefferson County · 6,239 peopleB3.4 years of area income·Overall C+ · #130 of 247
154MoberlyRandolph County · 13,719 peopleB3.0 years of area income·Overall D · #216 of 247
155FlorissantSt. Louis County · 51,124 peopleB2.4 years of area income·Overall C− · #179 of 247
156Barnhartunincorporated, Jefferson County · 5,785 peopleB3.6 years of area income·Overall B · #91 of 247
157CleverChristian County · 3,143 peopleB4.2 years of area income·Overall B+ · #67 of 247
158Pleasant HillCass County · 8,956 peopleB4.4 years of area income·Overall A− · #47 of 247
159RogersvilleWebster County · 5,754 peopleB5.0 years of area income·Overall B+ · #77 of 247
160PacificFranklin County · 7,824 peopleB3.1 years of area income·Overall C+ · #131 of 247
161MaplewoodSt. Louis County · 8,033 peopleB3.3 years of area income·Overall B+ · #68 of 247
162MonettBarry County · 10,248 peopleB3.2 years of area income·Overall C− · #178 of 247
163Poplar BluffButler County · 16,295 peopleB3.6 years of area income·Overall C− · #191 of 247
164JoplinJasper County · 53,930 peopleB3.3 years of area income·Overall D · #233 of 247
165CrestwoodSt. Louis County · 12,207 peopleB4.3 years of area income·Overall A · #11 of 247
166Spanish Lakeunincorporated, St. Louis County · 17,873 peopleB1.9 years of area income·Overall D · #225 of 247
167BeltonCass County · 26,193 peopleB3.3 years of area income·Overall C · #156 of 247
168CarthageJasper County · 15,895 peopleB−3.8 years of area income·Overall C− · #187 of 247
169PortagevilleNew Madrid County · 2,702 peopleB−2.3 years of area income·Overall C− · #177 of 247
170El Dorado SpringsCedar County · 3,642 peopleB−3.7 years of area income·Overall D · #230 of 247
171SpringfieldGreene County · 169,847 peopleB−3.7 years of area income·Overall C− · #176 of 247
172North Kansas CityClay County · 5,613 peopleB−3.1 years of area income·Overall C · #152 of 247
173West PlainsHowell County · 12,780 peopleB−4.4 years of area income·Overall D · #220 of 247
174Byrnes MillJefferson County · 3,183 peopleB−4.4 years of area income·Overall D · #209 of 247
175RepublicGreene County · 22,404 peopleB−4.1 years of area income·Overall B+ · #69 of 247
176LebanonLaclede County · 15,663 peopleB−4.4 years of area income·Overall D · #231 of 247
177Oakvilleunincorporated, St. Louis County · 35,333 peopleB−4.5 years of area income·Overall B+ · #58 of 247
178Platte CityPlatte County · 4,911 peopleB−4.8 years of area income·Overall B · #97 of 247
179KearneyClay County · 11,296 peopleB−4.8 years of area income·Overall A · #7 of 247
180PerryvillePerry County · 8,593 peopleB−3.8 years of area income·Overall D · #212 of 247
181AshlandBoone County · 5,221 peopleB−5.0 years of area income·Overall A · #15 of 247
182FarmingtonSt. Francois County · 19,226 peopleB−4.5 years of area income·Overall C− · #196 of 247
183Maryland HeightsSt. Louis County · 27,559 peopleB−3.3 years of area income·Overall A · #22 of 247
184Country ClubAndrew County · 2,512 peopleB−4.9 years of area income·Overall B · #85 of 247
185Blue SpringsJackson County · 61,632 peopleB−3.7 years of area income·Overall B · #84 of 247
186Black JackSt. Louis County · 6,547 peopleB−2.8 years of area income·Overall C− · #181 of 247
187St. PaulSt. Charles County · 3,849 peopleB−5.9 years of area income·Overall A · #26 of 247
188BattlefieldGreene County · 6,361 peopleB−4.7 years of area income·Overall A− · #45 of 247
189LibertyClay County · 31,319 peopleC+3.9 years of area income·Overall B+ · #66 of 247
190SmithvilleClay County · 11,160 peopleC+4.5 years of area income·Overall A · #24 of 247
191PeculiarCass County · 6,365 peopleC+4.3 years of area income·Overall B · #102 of 247
192St. RobertPulaski County · 5,602 peopleC+3.7 years of area income·Overall C · #153 of 247
193WaynesvillePulaski County · 5,558 peopleC+3.9 years of area income·Overall C · #166 of 247
194BridgetonSt. Louis County · 11,277 peopleC+3.5 years of area income·Overall D · #211 of 247
195GreenwoodJackson County · 6,315 peopleC+4.3 years of area income·Overall A · #6 of 247
196Carl JunctionJasper County · 8,484 peopleC+4.2 years of area income·Overall B− · #106 of 247
197NixaChristian County · 26,597 peopleC+5.0 years of area income·Overall A · #12 of 247
198Osage BeachCamden County · 5,079 peopleC+4.9 years of area income·Overall C− · #171 of 247
199Kansas CityJackson County · 521,220 peopleC+3.0 years of area income·Overall C− · #200 of 247
200Concordunincorporated, St. Louis County · 18,368 peopleC+4.2 years of area income·Overall A− · #32 of 247
201St. CharlesSt. Charles County · 72,561 peopleC+4.3 years of area income·Overall B+ · #60 of 247
202St. PetersSt. Charles County · 61,479 peopleC+4.0 years of area income·Overall A− · #43 of 247
203RaymoreCass County · 26,633 peopleC+4.3 years of area income·Overall B+ · #75 of 247
204Grain ValleyJackson County · 16,908 peopleC+4.0 years of area income·Overall B+ · #76 of 247
205OzarkChristian County · 23,544 peopleC+5.0 years of area income·Overall B+ · #64 of 247
206ShrewsburySt. Louis County · 6,231 peopleC+3.6 years of area income·Overall B · #90 of 247
207RiversidePlatte County · 4,581 peopleC5.6 years of area income·Overall D · #208 of 247
208BrentwoodSt. Louis County · 8,079 peopleC3.3 years of area income·Overall A− · #48 of 247
209Sappingtonunincorporated, St. Louis County · 7,367 peopleC4.5 years of area income·Overall A · #20 of 247
210WentzvilleSt. Charles County · 49,495 peopleC5.0 years of area income·Overall A− · #54 of 247
211GlendaleSt. Louis County · 6,060 peopleC7.1 years of area income·Overall A+ · #1 of 247
212O'FallonSt. Charles County · 96,101 peopleC4.7 years of area income·Overall A · #23 of 247
213ColumbiaBoone County · 130,851 peopleC4.4 years of area income·Overall C+ · #142 of 247
214ManchesterSt. Louis County · 18,069 peopleC4.7 years of area income·Overall A− · #33 of 247
215CaruthersvillePemiscot County · 5,211 peopleC2.1 years of area income·Overall D− · #247 of 247
216BransonTaney County · 12,921 peopleC4.3 years of area income·Overall D · #219 of 247
217Old Jamestownunincorporated, St. Louis County · 20,651 peopleC2.9 years of area income·Overall C− · #195 of 247
218Fort Leonard Woodunincorporated, Pulaski County · 15,432 peopleCbetter than 27% of U.S. towns·Overall B · #86 of 247
219BallwinSt. Louis County · 30,901 peopleC5.1 years of area income·Overall A+ · #5 of 247
220Lee's SummitJackson County · 107,514 peopleC−4.7 years of area income·Overall B · #81 of 247
221ParkvillePlatte County · 9,093 peopleC−7.0 years of area income·Overall A− · #42 of 247
222Rock HillSt. Louis County · 4,668 peopleC−3.8 years of area income·Overall A− · #29 of 247
223University CitySt. Louis County · 34,657 peopleC−3.4 years of area income·Overall C · #168 of 247
224FrontenacSt. Louis County · 3,790 peopleC−16.1 years of area income·Overall A− · #50 of 247
225EurekaSt. Louis County · 13,422 peopleC−5.1 years of area income·Overall A− · #46 of 247
226Dardenne PrairieSt. Charles County · 15,032 peopleC−5.9 years of area income·Overall A− · #41 of 247
227Valley ParkSt. Louis County · 6,767 peopleC−3.6 years of area income·Overall B · #103 of 247
228Des PeresSt. Louis County · 9,102 peopleC−8.9 years of area income·Overall B+ · #78 of 247
229CottlevilleSt. Charles County · 6,717 peopleC−6.3 years of area income·Overall A+ · #4 of 247
230Lake St. LouisSt. Charles County · 19,129 peopleC−5.4 years of area income·Overall A− · #31 of 247
231FentonSt. Louis County · 4,060 peopleC−4.4 years of area income·Overall A− · #44 of 247
232KirkwoodSt. Louis County · 29,331 peopleC−5.8 years of area income·Overall A− · #34 of 247
233WildwoodSt. Louis County · 34,955 peopleD7.2 years of area income·Overall A · #21 of 247
234Weldon SpringSt. Charles County · 5,301 peopleD7.9 years of area income·Overall A− · #55 of 247
235OlivetteSt. Louis County · 8,937 peopleD6.2 years of area income·Overall A · #13 of 247
236EllisvilleSt. Louis County · 10,315 peopleD5.0 years of area income·Overall A− · #35 of 247
237ChesterfieldSt. Louis County · 49,309 peopleD7.1 years of area income·Overall A · #27 of 247
238Webster GrovesSt. Louis County · 23,450 peopleD5.5 years of area income·Overall A · #8 of 247
239Lake LotawanaJackson County · 2,756 peopleD7.3 years of area income·Overall B+ · #57 of 247
240LadueSt. Louis County · 8,934 peopleD17.3 years of area income·Overall A · #18 of 247
241Richmond HeightsSt. Louis County · 9,093 peopleD4.9 years of area income·Overall B · #96 of 247
242Clarkson ValleySt. Louis County · 2,540 peopleD11.4 years of area income·Overall A− · #38 of 247
243Sunset HillsSt. Louis County · 9,075 peopleD7.8 years of area income·Overall B+ · #63 of 247
244Whiteman AFBunincorporated, Johnson County · 3,517 peopleD4.9 years of area income·Overall C · #160 of 247
245Town and CountrySt. Louis County · 11,619 peopleD14.8 years of area income·Overall A · #28 of 247
246Creve CoeurSt. Louis County · 18,480 peopleD−7.7 years of area income·Overall B+ · #65 of 247
247ClaytonSt. Louis County · 17,807 peopleD−11.1 years of area income·Overall A · #14 of 247
Quick answers

Questions people ask

What is the most affordable town in Missouri?

Marceline Township (Linn County) ranks first on cost of living among 247 towns, with an A+; Brookfield and Tipton follow.

How are these towns ranked?

The Cost of living grade: home values, rent and property-tax bills against the income of the town’s metro area or county, and the share of households paying 30%+ of income for housing (Census ACS). 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 cost of living 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 affordable towns in other states