Use of force by Texas law enforcement

Texas runs three separate reporting systems that each capture a different kind of encounter. This page keeps them apart: each section states exactly what its source counts, over what dates, and nothing is added across them.

Three systems, three definitions

Officer-involved shootings
A peace officer discharges a firearm at a person, causing injury or death. Reported to the Office of the Attorney General under Code of Criminal Procedure arts. 2A.206 / 2A.207 (previously 2.139 / 2.1395). The OAG publishes an annual summary.
Custodial deaths
A death of a person in the custody of a law-enforcement agency, or in a jail or lockup (CCP art. 49.18; Gov. Code 501.055). Most custodial deaths are not shootings — illness, suicide, and drug or alcohol intoxication account for the majority.
Motor-vehicle-stop force
During a traffic stop, an officer used physical force that resulted in bodily injury. Collected by the Texas Commission on Law Enforcement (TCOLE) on the annual racial-profiling report (Occ. Code 1701.164; CCP arts. 2B.0051–.0059). This is a narrower thing than “use of force” in general: it is traffic stops only.

1.Officer-involved shootings

Office of the Attorney General, Peace Officer Involved Shootings annual reports, 2015–2025

The figures below are transcribed by hand from the eleven OAG annual-report PDFs (2015 through 2025), one number at a time, each checked against the page it is printed on (verified September 9, 2026). The 2015 report covers only 1 September – 31 December 2015, when the law took effect. A blank cell means that year’s report did not state that number — it is not a zero.

Where each number comes from: the report for its year — file ois_<year>.pdf. In the 2016–2025 reports, incidents, casualties, weapon and demographic counts are on page 2and the “why the officer was there” breakdown is on page 3; the 2015 report states everything on page 2. Every stored figure carries its own source_pdf + source_page (21 distinct file/page pairs across the 11 years).

Transcription notes: 2015 incidentspartial year: the statute took effect 2015-09-01; 2018 reason emergency callthe 2018 report reads 'eighty-one (83)'; the parenthetical figure (83) is used, matching the report's convention; 2025 officers killedthe 2025 report states 'No peace officer deaths were reported'.

YearIncidentsPersons killedPersons injuredOfficers injuredOfficers killed
2015(Sep–Dec)70294140
20161667690316
20171588078215
201817410470223
201919911782337
202019411084296
202118011268283
202222514679262
202320814068303
202425016684145
202519511778270

An “incident” is one person injured or killed. If two officers fire at one person, the OAG counts one incident but two filed reports — see the reporting cross-check below.

Why the officer was there

The OAG’s own note: an agency may give more than one reason, so these add up to more than the incident count.

YearEmergency callWarrantHostage / barricadeTraffic stopOther
20152844628
20167127181753
20177313192046
20188318232544
201911521353141
202010425203841
202111317303329
202213029243144
202312621233940
202414840363147
202511721264240

The people injured or killed

Each OAG report states this as: “Of the individuals (non-peace officers) who were either injured or killed in these incidents, [N] were Caucasian, [N] were Hispanic, …” The categories are the report’s own. A blank means the report did not list that category that year.

YearWhiteHispanicBlackAsian / PINativeOtherNot avail.
20153221161
2016635049211
201760573911
2018566647221
2019776054512
2020636761111
2021637240311
202265906325
2023659146231
2024839864311
2025666954312

In every year, the reports say most of the people involved were carrying a deadly weapon — in 2025, 180 were and 15 were not.The OAG reports this per year as “[N] of these incidents involved individuals who were reported to be carrying a deadly weapon; [N] did not.”

Reporting cross-check: filed reports vs. summarized incidents

The OAG also runs a public index of every individual report filed — 2,499 current-version reports in all. It counts reports, not incidents(multiple officers → multiple reports), and it also holds “injury of officer” reports. The annual-report totals above count incidents. Where the two diverge, that is a fact about the reporting system, not an error. The index is read from the OAG portal’s data endpoint and reaches back only so far — the earliest years are incomplete.

YearReports in the indexSummarized incidents
2016132166
2017192158
2018220174
2019252199
2020243194
2021218180
2022263225
2023251208
2024268250
2025228195
2026135

The current calendar year is partial. Reports whose incident date was blank in the index are not counted in any year.

2.Custodial deaths

Office of the Attorney General Custodial Death Reports, via the Texas Open Data Portal (data.texas.gov, dataset ypvi-69jj) — extract through July 30, 2025

These are the reports agencies filed, as published on the state open-data portal (current version of each report only). The OAG does not publish an annual custodial-death summary, so there is no official statewide total to check these counts against. The latest year shown is partial. Report numbers carry a trailing code (e.g. -UF, -CJ); the OAG publishes no key for what those codes mean, so nothing on this page is derived from them.

Cause of death is not shown.The OAG’s public index does not carry it, and Texas Justice Initiative’s cleaned custodial-death dataset — which does classify manner of death — is not publicly downloadable. So this section is counts by year only.

YearReported custodial deaths
2016636
2017714
2018800
2019732
20201,002
2021929
2022946
2023930
20241,033
2025(through July 30, 2025)583

18,388 reports in total, back to the 1980s. An in-custody shooting appears in both this system and the shootings system above; the two are never added together.

3.Force during motor-vehicle stops (TCOLE)

Texas Commission on Law Enforcement, Comprehensive Racial Profiling reports — reporting years 2019, 2020, 2021, 2022, 2024

One row per agency per year, from TCOLE’s comprehensive workbooks. Not loaded: 2019–2020 the bodily-injury field was not yet on the form, and racial-profiling compliance those two years was incomplete; 2023— TCOLE’s workbook carries a corrupted bodily-injury column (one agency’s value alone is over a million), and a fresh download from tcole.texas.gov is byte-identical, so it is a source defect; 2025— preliminary. “Full” and “Exempt” are TCOLE’s filing statuses, kept as filed; an agency that is absent from a year’s file did not file at all.
YearAgencies filedMotor-vehicle stopsSearchesContraband foundPhysical force usedForce → bodily injury
20192,5821,532 full · 1,050 exempt9,589,160491,923168,92148,321
20202,7001,505 full · 1,195 exempt6,299,479363,877158,9876,727
20212,6891,541 full · 1,148 exempt6,892,423377,285168,3204,8933,240
20222,7121,544 full · 1,168 exempt7,177,337378,646166,2876,3464,096excl. 2 flagged rows
20242,7391,558 full · 1,181 exempt7,997,351365,397157,15610,5573,042excl. 1 flagged row

Sums are over full filers only, and exclude the flagged rows listed below. “Force → bodily injury” is physical_force_yes_bodily_injury_suspect — the statutory metric. A dash means the field was not collected that year.

Excluded from the totals: 3 agency rows with impossible values

  • 2022 · GALVESTON CO. SHERIFF'S OFFICE, GALVESTON County Reported 85 suspect bodily-injury outcomes (plus 41 officer, 10 both) against 12 physical-force events; the whole force block exceeds the event count. TCOLE workbook value as submitted.
  • 2022 · RICHMOND POLICE DEPT., FORT BEND County Reported 51,927 traffic-stop suspect bodily-injury outcomes against 5 physical-force events and 1,932 stops; the value appears to concatenate the force (5) and no-force (1,927) cells. TCOLE workbook value as submitted.
  • 2024 · MATHIS POLICE DEPT., SAN PATRICIO County Reported 671 suspect bodily-injury outcomes against 0 physical-force events (671 equals the agency's total stop count). TCOLE workbook value as submitted.

These rows stay in the underlying data with the values TCOLE published; they are held out of the statewide sums because a bodily-injury count cannot exceed the agency’s own count of force events.

Sources

Texas Justice Initiative’s civilian-level republication of the OAG shooting reports is also loaded (cited as TJI) but is not shown here — this page reports aggregates only. There is no per-agency breakdown, no per-capita rate, and no ranking of agencies: each figure is presented with the source’s own definition next to it.