Skip to content

Texas Environment & Hazard Risk

16 counties rated high or very high risk. 134,917 storm events since 1996, #1 among states.

Expected yearly loss
$12.35B
$424 per person
Storm events since 1996
134,917
Most often hail
Flood insurance policies
504,754
$17.4B in claims paid
Superfund sites
70
1,950 toxic release facilities

Risk by county

FEMA National Risk Index rating, highest risk first

CountyOverall riskTop hazardFlood policiesFlood claims paid
Harris CountyVery HighHurricane206,279$8.76B
Dallas CountyVery HighHail4,809$69.59M
Bexar CountyHighHail4,411$33.81M
Tarrant CountyHighHail4,999$61.61M
Hidalgo CountyHighCold wave9,038$118M
Collin CountyHighTornado1,451$5.33M
Travis CountyHighTornado6,295$115M
Fort Bend CountyHighLightning39,537$451M
Cameron CountyHighCold wave12,201$185M
Denton CountyHighTornado1,740$10.54M
Nueces CountyHighCold wave19,656$187M
Lubbock CountyHighDrought765$2.74M
Montgomery CountyHighLightning21,232$634M
Jefferson CountyHighLightning18,645$1.19B
El Paso CountyHighWinter weather2,695$6.35M
Galveston CountyHighCold wave52,889$2.47B
Brazoria CountyModerateTornado27,418$632M
Comal CountyModerateHail1,500$60.79M
Guadalupe CountyModerateTornado2,244$110M
McLennan CountyModerateTornado770$6.71M
Bell CountyModerateHail837$14.45M
Hays CountyModerateHail1,620$71.71M
Potter CountyModerateWinter weather161$5.43M
Williamson CountyModerateHail1,949$22.26M
Webb CountyModerateHeat wave484$6.79M
Brazos CountyModerateCold wave1,266$7.61M
Gregg CountyModerateIce storm258$3.99M
Randall CountyModerateWinter weather304$3.31M
Johnson CountyModerateTornado510$4.93M
Jim Wells CountyModerateCold wave377$1.63M
Victoria CountyModerateHurricane939$11.26M
Orange CountyModerateLightning11,071$1.04B
Gonzales CountyModerateHail134$6.4M
San Patricio CountyModerateHurricane2,174$19.78M
Starr CountyModerateCold wave152$2.03M
Henderson CountyModerateCold wave225$3.43M
Kleberg CountyModerateCold wave450$2.16M
Smith CountyModerateHeat wave458$4.7M
DeWitt CountyModerateHurricane200$5.91M
Taylor CountyModerateHail1,923$15.63M
Wharton CountyModerateHurricane1,617$51.96M
Ector CountyModerateHail830$2.54M
Hunt CountyModerateIce storm159$1.63M
Wichita CountyModerateHail602$19.9M
Parmer CountyModerateDrought1-
Ellis CountyModerateHail469$6.04M
Midland CountyModerateHail1,038$1.58M
Bastrop CountyModerateTornado474$9.93M
Parker CountyModerateWildfire429$4.48M
Nacogdoches CountyLowStrong wind114$4.09M
Matagorda CountyLowHurricane2,405$24.93M
Grayson CountyLowHail281$18.29M
Caldwell CountyLowHail231$7.36M
Lamar CountyLowIce storm117$2.57M
Liberty CountyLowLightning1,918$109M
Bowie CountyLowHail215$5.17M
Lavaca CountyLowCold wave142$1.5M
Hale CountyLowHail57$34.35K
Harrison CountyLowIce storm169$5.67M
Willacy CountyLowCold wave588$5.03M
Tom Green CountyLowDrought579$6.52M
Kerr CountyLowLightning520$21.75M
Burnet CountyLowWildfire1,202$24.81M
Kaufman CountyLowHail227$2.07M
Val Verde CountyLowWildfire189$3.64M
Polk CountyLowLightning549$10.06M
Wilson CountyLowHail173$2.02M
Navarro CountyLowTornado143$2.59M
Erath CountyLowWildfire56$670K
Walker CountyLowTornado485$15.59M
Anderson CountyLowTornado42$293K
Cooke CountyLowDrought161$10.48M
Hill CountyLowCold wave71$463K
Washington CountyLowHurricane180$1.67M
Angelina CountyLowHeat wave310$5.4M
Jackson CountyLowHurricane470$3.4M
Hopkins CountyLowIce storm55$304K
Rockwall CountyLowTornado158$1.48M
Hood CountyLowTornado458$3.58M
Llano CountyLowHail1,038$20.02M
Waller CountyLowDrought1,927$44.04M
Uvalde CountyLowDrought214$6.72M
Hardin CountyLowLightning2,595$191M
Medina CountyLowDrought357$3.68M
Fannin CountyLowDrought139$1.74M
Hutchinson CountyLowDrought5$14.52K
Upshur CountyLowIce storm31$181K
Bandera CountyLowWildfire232$5.89M
Calhoun CountyLowHurricane1,585$8.02M
Kendall CountyLowHail379$4.54M
Brown CountyLowHail387$9.6M
Red River CountyLowIce storm1-
Maverick CountyLowHeat wave121$5.57M
Coryell CountyLowTornado119$1.11M
Wood CountyLowIce storm63$155K
Bee CountyLowHurricane235$1.33M
Colorado CountyLowDrought303$4.42M
Moore CountyLowDrought10-
Deaf Smith CountyLowDrought5$33.02K
Cherokee CountyLowStrong wind107$625K
Lamb CountyLowHail7-
Aransas CountyLowHurricane3,808$64.32M
Jasper CountyLowHurricane285$7.53M
Tyler CountyLowHurricane116$3.93M
Brooks CountyLowCold wave88$1.17M
Atascosa CountyLowDrought139$516K
Houston CountyLowLightning65$383K
Trinity CountyLowCold wave40$2.53M
Gray CountyLowDrought3$5,051
Limestone CountyLowCold wave60$4.8M
Wise CountyLowWildfire156$2.5M
San Jacinto CountyLowTornado379$10.18M
Van Zandt CountyLowStrong wind107$1.56M
Karnes CountyLowDrought28$105K
Leon CountyLowDrought34$130K
Milam CountyLowDrought46$200K
Fayette CountyLowHurricane171$8.35M
Gillespie CountyLowWildfire153$738K
Gaines CountyLowHail7$57.75K
Grimes CountyLowDrought197$1.39M
Freestone CountyLowCold wave28$587K
Frio CountyLowDrought7$56.86K
Shelby CountyLowStrong wind23$99.03K
Panola CountyLowStrong wind13$67.17K
Palo Pinto CountyLowHail127$1.39M
Montague CountyLowDrought63$1.46M
Howard CountyLowHail47$480K
Duval CountyLowCold wave23$299K
Rusk CountyLowStrong wind57$383K
Zavala CountyLowDrought59$776K
Austin CountyLowDrought474$14.25M
Terry CountyLowHail6$84.44K
Chambers CountyLowHurricane3,453$129M
Hockley CountyLowHail47$132K
Dallam CountyLowDrought9$884
Comanche CountyLowWildfire28$73.5K
Cass CountyLowIce storm20$773K
Titus CountyLowIce storm25$249K
Wilbarger CountyLowDrought13$187K
Yoakum CountyLowDrought30$72.63K
Jim Hogg CountyLowCold wave12$37.06K
Real CountyVery LowWildfire125$684K
Bailey CountyVery LowDrought12-
Hansford CountyVery LowDrought1$966
Wheeler CountyVery LowDrought7$29.96K
Eastland CountyVery LowWildfire71$5.13M
Lee CountyVery LowCold wave27$648K
Camp CountyVery LowIce storm-$6,887
Dawson CountyVery LowDrought12$143K
Jones CountyVery LowHail71$3.96M
Nolan CountyVery LowDrought61$1.11M
Refugio CountyVery LowHurricane101$1.95M
Swisher CountyVery LowHail12$9,064
Bosque CountyVery LowLightning60$1.49M
Young CountyVery LowDrought56$498K
Dimmit CountyVery LowHeat wave21$476K
Madison CountyVery LowDrought30$452K
Ochiltree CountyVery LowDrought--
Hall CountyVery LowDrought1$2,761
Morris CountyVery LowIce storm14$26.91K
Castro CountyVery LowHail4-
Live Oak CountyVery LowCold wave95$928K
Hartley CountyVery LowDrought1$3,535
Blanco CountyVery LowDrought84$2.49M
Kimble CountyVery LowLightning40$389K
Zapata CountyVery LowCold wave30$97.64K
Floyd CountyVery LowHail1-
Sherman CountyVery LowDrought--
Scurry CountyVery LowDrought5$14.11K
Lampasas CountyVery LowWildfire100$755K
Robertson CountyVery LowHurricane135$1.45M
Marion CountyVery LowIce storm11$690K
Burleson CountyVery LowDrought82$1.49M
Kenedy CountyVery LowCold wave2$59.33K
Lipscomb CountyVery LowDrought12$238K
Collingsworth CountyVery LowDrought20$17.32K
Newton CountyVery LowHurricane268$27.96M
Donley CountyVery LowDrought5$7,175
Runnels CountyVery LowDrought10$140K
Falls CountyVery LowTornado2$178K
Carson CountyVery LowDrought9$36.31K
Pecos CountyVery LowDrought9-
Franklin CountyVery LowIce storm10$326K
Crosby CountyVery LowDrought7$32.52K
Lynn CountyVery LowHail1$21.73K
Goliad CountyVery LowHurricane43$424K
La Salle CountyVery LowCold wave3$114K
Sabine CountyVery LowHurricane8$25.64K
Brewster CountyVery LowWildfire134$52.17K
Coleman CountyVery LowHail14$139K
Armstrong CountyVery LowDrought--
Garza CountyVery LowDrought1$11.85K
Martin CountyVery LowDrought7$390
Mitchell CountyVery LowDrought2$52.9K
Childress CountyVery LowDrought1$7,800
Reeves CountyVery LowDrought14$1,020
Knox CountyVery LowDrought1-
San Augustine CountyVery LowStrong wind29$82.28K
Baylor CountyVery LowDrought8$22.6K
Hemphill CountyVery LowDrought--
Ward CountyVery LowWildfire3-
Callahan CountyVery LowHail8$46.08K
Clay CountyVery LowWildfire38$1.68M
Rains CountyVery LowIce storm13$255K
Dickens CountyVery LowDrought--
Hamilton CountyVery LowWildfire5$5,523
Cochran CountyVery LowDrought1-
Cottle CountyVery LowDrought--
Haskell CountyVery LowDrought54$2.33M
Culberson CountyVery LowDrought5$63.11K
Jack CountyVery LowWildfire8$284K
Mason CountyVery LowDrought9$119K
Somervell CountyVery LowWildfire47$633K
Presidio CountyVery LowDrought18$24.03K
McCulloch CountyVery LowDrought16$18.99K
Oldham CountyVery LowDrought--
Stephens CountyVery LowWildfire89$896K
Andrews CountyVery LowDrought2-
Delta CountyVery LowIce storm-$2,841
Briscoe CountyVery LowDrought--
Hardeman CountyVery LowDrought--
Archer CountyVery LowWildfire39$889K
Upton CountyVery LowDrought--
San Saba CountyVery LowDrought78$1.27M
Sutton CountyVery LowWildfire12$894K
Reagan CountyVery LowDrought--
Crockett CountyVery LowWildfire19$26.66K
Edwards CountyVery LowWildfire--
Borden CountyVery LowDrought--
Mills CountyVery LowWildfire2-
Concho CountyVery LowDrought1$26.34K
Foard CountyVery LowDrought1-
Glasscock CountyVery LowDrought--
Winkler CountyVery LowDrought--
Stonewall CountyVery LowDrought-$5,952
Schleicher CountyVery LowDrought1-
Coke CountyVery LowWildfire7-
Throckmorton CountyVery LowDrought1$159K
Motley CountyVery LowDrought--
Roberts CountyVery LowDrought--
Menard CountyVery LowDrought70$290K
Jeff Davis CountyVery LowWildfire10-
Hudspeth CountyVery LowDrought5$245K
Kinney CountyVery LowDrought14$159K
Fisher CountyVery LowDrought-$66.59K
Irion CountyVery LowWildfire5$13.41K
Shackelford CountyVery LowWildfire15$114K
Crane CountyVery LowWildfire--
Sterling CountyVery LowDrought--
Kent CountyVery LowDrought--
McMullen CountyVery LowHurricane10$642
Terrell CountyVery LowWildfire2$5,159
King CountyVery LowWildfire--
Loving CountyVery LowHurricane--

Costliest hazards

Expected annual loss in Texas, all counties combined

  • Tornado$2.37B/yr · 47 counties high
  • Hurricane$1.27B/yr · 17 counties high
  • Cold wave$1.09B/yr · 43 counties high
  • Hail$835M/yr · 39 counties high
  • Heat wave$797M/yr · 13 counties high
  • Drought$411M/yr · 77 counties high
  • Strong wind$190M/yr · 44 counties high
  • Lightning$128M/yr · 46 counties high
  • Wildfire$126M/yr
  • Ice storm$82.75M/yr · 43 counties high

Storm events by type

Since 1996: 1,996 deaths, $120B in property and crop damage

  • Hail40,532 · 5 deaths
  • Thunderstorm Wind26,710 · 73 deaths
  • Drought18,626
  • Flash Flood14,026 · 552 deaths
  • High Wind5,951 · 7 deaths
  • Heat4,871 · 418 deaths
  • Tornado4,186 · 116 deaths
  • Winter Weather3,139 · 102 deaths
  • Winter Storm2,230 · 49 deaths
  • Excessive Heat1,956 · 80 deaths
  • Flood1,854 · 47 deaths
  • Wildfire1,492 · 39 deaths

Events per year

Storm events per year in Texas

Most damaging storms

Since 2017, ranked by deaths, injuries and damage

  • Flash Flood08/27/2017

    Joyce, Harris County

    38 deaths, $10B damage

    What happened

    There were numerous water rescues within Houston and the surrounding suburbs. Flood waters completely inundated thousands of homes and businesses. Roads and highways in and around Houston were flooded and therefore closed for long time periods. Catastrophic flooding occurred on nearly every one of the 22 watersheds in Harris County. 10 out of the 19 bayous in the county reached record crests and flooding. There was widespread flooding along Buffalo Bayou and upstream and downstream of both Addicks and Barkers Reservoirs due to record level pool elevations. There was major flooding of hundreds of homes within numerous neighboring subdivisions along the San Jacinto River and the East Fork of the San Jacinto River.|There were numerous water rescues within Houston and the surrounding suburbs. Roads and highways in and around Houston inundated and closed due to flash flooding. ||Some of the reported flooded roads in Pasadena were Vista Street, Shafer Street, Fairmont Drive and Strawberry Road.

  • Flash Flood08/27/2017

    San Leon, Galveston County

    6 deaths, $10B damage

    What happened

    There were numerous water rescues across western and central Galveston County. Flood waters completely inundated hundreds to thousands of homes and businesses in League City, Dickinson and Santa Fe. Approximately 7,000 homes and 125 businesses were impacted by flood waters across the county. Clear Creek measured record levels that lead to the widespread flooding throughout Friendswood and League City. Major flooding occurred along the Dickinson Bayou; from Cemetery Road to east of Highway 3 along FM 517. Flood waters inundated sections of Interstate 45, Bay Area Boulevard, FM 528, FM 518 and numerous primary and secondary county roads. Approximately 7,000 homes and 125 businesses were impacted by flood waters across the county. Clear Creek measured record levels that lead to the widespread flooding throughout Friendswood and League City. Major flooding occurred along the Dickinson Bayou; from Cemetery Road to east of Highway 3 along FM 517. Flood waters inundated sections of Interstate 45, Bay Area Boulevard, FM 528, FM 518 and numerous primary and secondary county roads. There were numerous water rescues and flooded homes within the Friendswood, Pearland and Dickinson areas.

  • Flash Flood08/27/2017

    Kendleton, Fort Bend County

    3 deaths, $8B damage

    What happened

    There were numerous road closures around the Rosenberg and Richmond areas. Some of these roads included Highway 90 at Highway 36 and Lane Drive, Lane Drive at Mustang Road and I-69 at FM 762 and Reading Road. Major record level flooding of both the Brazos and San Bernard Rivers caused significant home flooding from Richmond to Rosharon. Massive flooding occurred in Tierra Grande subdivision along the San Bernard River in southwestern Fort Bend County. Home flooding occurred at Valley Lodge in Simonton, along Edgewood and Baudet Roads in Richmond, along Bar, Barker, Cumings, Sixth Street, Avenue B and Rio Brazos Roads in Rosenberg. Sections of FM 2759 as well as the Grand River, Rivers Edge and Pecan Estates in Thompsons flooded. Many countywide roads became inundated in flood waters including, but not limited to, Highway 90A, Pitts Road, FM 1489, FM 723, FM 1093, FM 359, SH 6 feeder roads, Sienna Parkway, Carrol Road, McKeever Road, Knights Court, Miller Road, river Oaks Road, Thompsons Ferry Road, Strange Drive, Greenwood Drive, Second Street and low lying roads in Quail Valley in Missouri City. Due to record pool levels in Barker Reservoir, homes in Cinco Ranch flooded. Big...

  • Flash Flood08/28/2017

    Boy, Montgomery County

    4 deaths, $7B damage

    What happened

    Tropical Storm Harvey brought heavy rains and catastrophic flooding to portions of Montgomery County. There were 5 storm related fatalities, 3 direct. Major record flooding occurred along the San Jacinto River and tributaries. Water was reported over sections of I-45 northbound where TXDOT reported flooding at the FM 1097 intersection. Water was reported over sections of I-45 northbound where TXDOT reported flooding at the FM 1097 intersection. Record pool levels on Lake Conroe required downstream releases that flooded numerous downstream homes, businesses and vehicles. Major flooding occurred along the San Jacinto River and the east Fork of the San Jacinto and its tributaries inundated tens to hundreds of residential subdivisions. There were hundreds of flooded homes along Lake, Spring, Peach and Caney Creeks. There were impassable roads due to high water at Horseshoe Circle and Painted Blvd off the Grand Parkway, 19000 block of David Memorial from Sam's Club to Shenandoah Park, the 11000 block of River Oaks Drive, the 45 northbound lanes at Highway 242 and Hines Road in Willis. Flash flooding led to numerous road closures including FM149, FM1484, FM1485, FM1486, FM1774,...

  • Flash Flood08/27/2017

    Griffing, Jefferson County

    5 deaths, 1 injured, $3B damage

    What happened

    Widespread and long duration rainfall produced a storm total rainfall over 40 inches across a large portion of the county. The highest rainfall totals in Jefferson County were 60.58 inches 1.5 mile southwest of Nederland and 60.54 inches 1.3 mile north of Groves. This resulted in over 64,000 homes being flooded. The hardest hit areas were Port Arthur, Groves, Bevil Oaks, Hamphire, Fannet, China, and northeast Beaumont. Several refineries in the county also received floodwaters and were offline for an extended period. City and county infrastructure was also damaged with water pumps and treatment plants being inundated. Record crests were observed along Pine Island and the lower Neches. 5 deaths were reported by flooding.

  • Flash Flood08/27/2017

    Pearland, Brazoria County

    $2B damage

    What happened

    Flash flood waters, from sheet flooding and bayous/creeks coming out of banks, completely inundated hundreds to thousands of homes and businesses. Roads and highways in and around Pearland and south into Manvel, or east of Highway 288 along Highway 6, were flooded and therefore closed for long time periods. Major record flooding of the Brazos, San Bernard and Oyster Creek caused the flooding of hundreds to thousands of vicinity homes, vehicles and businesses. Numerous Roads and homes were inundated with flood waters on east side of Oyster Creek including the Columbia Lakes, Mallard Lakes, Great Lakes, Riverside Estates and Bar X subdivisions as well as homes along CR 39. Other county roads that became impassable due to high flood waters include, but are not limited to, FM 1462, Highways 35 and 90, FM 950, CR 25, 380A, CR 42 and FM 521. The Phillips refinery outside of the town of Sweeny took on water from the west near Little Linville Bayou. Hanson Riverside County Park along the San Bernard River southwest of West Columbia was inundated and water over-topped the Phillips Terminal. Areas around Alvin also flooded.

Hurricanes and tropical storms

56 hurricane landfalls since 1851, 19 of them major (Category 3+)

Flood insurance

National Flood Insurance Program policies and claims

504,754 homes in Texas have flood insurance, about 5.8% of residential buildings. In high-risk flood zones, 171,141 of 360,062 homes (48%) are insured.

Flood claims paid per year in Texas
  • Hurricane Harvey$9.04B · 91,789 claims
  • Hurricane Ike$2.23B · 44,084 claims
  • Tropical Storm Allison$1.02B · 30,711 claims
  • Flooding$808M · 52,829 claims
  • Tropical Storm Imelda$752M · 10,923 claims
  • Spring severe storms$473M · 8,412 claims

Drinking water

4,757 community water systems serve about 33,224,489 people

Since 2021, 1,547 systems reported 7,407 health-based violations. 1,360 systems had a violation of any kind still open at last report. These had the most:

  • Cassie Water SystemServes 106 · Groundwater (surface influenced) · Private128 health violations+188 monitoring or reporting
  • City of Brady Water SystemServes 5,371 · Groundwater · Local government112 health violations+3 monitoring or reporting
  • Stormlight Mobile Home ParkServes 76 · Groundwater · Private84 health violations+198 monitoring or reporting
  • Valley EstatesServes 68 · Groundwater · Private82 health violations+413 monitoring or reporting
  • City of Rose CityServes 664 · Surface water · Local government80 health violations+153 monitoring or reporting
  • Millersview Doole WscServes 3,987 · Surface water · Local government73 health violations+21 monitoring or reporting
  • Grassland WscServes 55 · Groundwater · Local government68 health violations+88 monitoring or reporting
  • Country View MhpServes 54 · Groundwater · Private67 health violations+386 monitoring or reporting

Select a county above to see every system that serves it.

Climate in the largest cities

1991-2020 normals from the nearest NOAA weather station

CityJuly highJan lowRainSnow
Houston93°F44°F54.1 in-
San Antonio94°F40°F34.0 in0.1 in
Dallas97°F38°F38.3 in1.7 in
Austin97°F42°F36.3 in0.2 in
Fort Worth97°F37°F--
El Paso96°F35°F8.8 in2.8 in
Arlington96°F37°F36.2 in-
Corpus Christi92°F47°F30.9 in0.3 in

Pollution sites

70 Superfund sites and 1,950 toxic release facilities

Superfund sites

All 70 in Texas

Largest toxic releases

All 1,950 in Texas

Facilities in Texas reported 280.6 million lbs of toxic releases in 2024, 52.4 million lbs of it into the air.

Frequently asked questions

What is the biggest natural hazard in Texas?
By expected annual loss, tornado costs the most in Texas ($2.37B a year), according to FEMA's National Risk Index.
How many storms hit Texas each year?
NOAA recorded 134,917 storm events in Texas since 1996, about 4,352 a year. The most common type is hail.
How many hurricanes have hit Texas?
Texas has had 56 hurricane landfalls since 1851, including 19 major hurricanes of Category 3 or stronger.
How many homes in Texas have flood insurance?
504,754 residential flood insurance policies are in force in Texas. Since 1978 the National Flood Insurance Program has paid $17.4B on 392,075 claims here.
How many Superfund sites are in Texas?
Texas has 70 Superfund sites on or deleted from EPA's National Priorities List.

Source: FEMA, NOAA, EPA · Last updated 08/01/2026 · Storm counts include events in forecast zones that touch each county. This product uses the FEMA OpenFEMA API, but is not endorsed by FEMA.