Guest, Sign inJoin
Missouri rankings · Outdoors

Best towns for the outdoors in Missouri

Whiteman AFB ranks first on outdoors among Missouri’s 247 towns of 2,500+; 37 of the 247 grade A− or better on outdoors nationally.

The Outdoors grade, a character grade (not part of the overall): the share of land conserved and the trail miles per square mile. How grades work

#2

Park Hills

St. Francois County · 8,753 people
A+

Outdoors grade, better than 97% of U.S. towns·Overall C · #145 of 247 in MO

#3

Fenton

St. Louis County · 4,060 people
A+

Outdoors grade, better than 96% of U.S. towns·Overall A− · #44 of 247 in MO

All 247 towns

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

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

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

Questions people ask

Which Missouri town is best for the outdoors?

Whiteman AFB (Johnson County) ranks first on outdoors among 247 towns, with an A+; Park Hills and Fenton follow.

How are these towns ranked?

The Outdoors grade, a character grade (not part of the overall): the share of land conserved and the trail miles per square mile. 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 outdoors 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

Best towns for the outdoors in other states