Guest, Sign inJoin
Missouri rankings · Hazard risk

Towns with the lowest natural-hazard risk in Missouri

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

The Hazard risk grade: FEMA’s expected yearly loss to buildings from natural hazards, where residents live (National Risk Index). How grades work

#2

St. James

Phelps County · 3,925 people
A−

Hazard risk grade, better than 82% of U.S. towns·Overall C+ · #126 of 247 in MO

#3

Fayette

Howard County · 2,848 people
A−

Hazard risk grade, better than 82% of U.S. towns·Overall B+ · #72 of 247 in MO

All 247 towns

Hazard risk 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.

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

Questions people ask

Which Missouri town has the lowest natural-hazard risk?

Whiteman AFB (Johnson County) ranks first on hazard risk among 247 towns, with an A; St. James and Fayette follow.

How are these towns ranked?

The Hazard risk grade: FEMA’s expected yearly loss to buildings from natural hazards, where residents live (National Risk Index). 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 hazard risk 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

Towns with the lowest natural-hazard risk in other states