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 incidents — partial year: the statute took effect 2015-09-01; 2018 reason emergency call — the 2018 report reads 'eighty-one (83)'; the parenthetical figure (83) is used, matching the report's convention; 2025 officers killed — the 2025 report states 'No peace officer deaths were reported'.
| Year | Incidents | Persons killed | Persons injured | Officers injured | Officers killed |
|---|---|---|---|---|---|
| 2015(Sep–Dec) | 70 | 29 | 41 | 4 | 0 |
| 2016 | 166 | 76 | 90 | 31 | 6 |
| 2017 | 158 | 80 | 78 | 21 | 5 |
| 2018 | 174 | 104 | 70 | 22 | 3 |
| 2019 | 199 | 117 | 82 | 33 | 7 |
| 2020 | 194 | 110 | 84 | 29 | 6 |
| 2021 | 180 | 112 | 68 | 28 | 3 |
| 2022 | 225 | 146 | 79 | 26 | 2 |
| 2023 | 208 | 140 | 68 | 30 | 3 |
| 2024 | 250 | 166 | 84 | 14 | 5 |
| 2025 | 195 | 117 | 78 | 27 | 0 |
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.
| Year | Emergency call | Warrant | Hostage / barricade | Traffic stop | Other |
|---|---|---|---|---|---|
| 2015 | 28 | 4 | 4 | 6 | 28 |
| 2016 | 71 | 27 | 18 | 17 | 53 |
| 2017 | 73 | 13 | 19 | 20 | 46 |
| 2018 | 83 | 18 | 23 | 25 | 44 |
| 2019 | 115 | 21 | 35 | 31 | 41 |
| 2020 | 104 | 25 | 20 | 38 | 41 |
| 2021 | 113 | 17 | 30 | 33 | 29 |
| 2022 | 130 | 29 | 24 | 31 | 44 |
| 2023 | 126 | 21 | 23 | 39 | 40 |
| 2024 | 148 | 40 | 36 | 31 | 47 |
| 2025 | 117 | 21 | 26 | 42 | 40 |
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.
| Year | White | Hispanic | Black | Asian / PI | Native | Other | Not avail. |
|---|---|---|---|---|---|---|---|
| 2015 | 32 | 21 | 16 | — | — | 1 | — |
| 2016 | 63 | 50 | 49 | 2 | 1 | 1 | — |
| 2017 | 60 | 57 | 39 | 1 | — | 1 | — |
| 2018 | 56 | 66 | 47 | 2 | — | 2 | 1 |
| 2019 | 77 | 60 | 54 | 5 | — | 1 | 2 |
| 2020 | 63 | 67 | 61 | 1 | — | 1 | 1 |
| 2021 | 63 | 72 | 40 | 3 | 1 | — | 1 |
| 2022 | 65 | 90 | 63 | 2 | — | 5 | — |
| 2023 | 65 | 91 | 46 | 2 | — | 3 | 1 |
| 2024 | 83 | 98 | 64 | 3 | — | 1 | 1 |
| 2025 | 66 | 69 | 54 | 3 | — | 1 | 2 |
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.
| Year | Reports in the index | Summarized incidents |
|---|---|---|
| 2016 | 132 | 166 |
| 2017 | 192 | 158 |
| 2018 | 220 | 174 |
| 2019 | 252 | 199 |
| 2020 | 243 | 194 |
| 2021 | 218 | 180 |
| 2022 | 263 | 225 |
| 2023 | 251 | 208 |
| 2024 | 268 | 250 |
| 2025 | 228 | 195 |
| 2026 | 135 | — |
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.
| Year | Reported custodial deaths |
|---|---|
| 2016 | 636 |
| 2017 | 714 |
| 2018 | 800 |
| 2019 | 732 |
| 2020 | 1,002 |
| 2021 | 929 |
| 2022 | 946 |
| 2023 | 930 |
| 2024 | 1,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
| Year | Agencies filed | Motor-vehicle stops | Searches | Contraband found | Physical force used | Force → bodily injury |
|---|---|---|---|---|---|---|
| 2019 | 2,5821,532 full · 1,050 exempt | 9,589,160 | 491,923 | 168,921 | 48,321 | — |
| 2020 | 2,7001,505 full · 1,195 exempt | 6,299,479 | 363,877 | 158,987 | 6,727 | — |
| 2021 | 2,6891,541 full · 1,148 exempt | 6,892,423 | 377,285 | 168,320 | 4,893 | 3,240 |
| 2022 | 2,7121,544 full · 1,168 exempt | 7,177,337 | 378,646 | 166,287 | 6,346 | 4,096excl. 2 flagged rows |
| 2024 | 2,7391,558 full · 1,181 exempt | 7,997,351 | 365,397 | 157,156 | 10,557 | 3,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
| Source | Where from | Rows | Retrieved |
|---|---|---|---|
| cdr_report_index | https://data.texas.gov/resource/ypvi-69jj.json | 18,388 | 9/10/2026 |
| ois_annual_reports | https://www.texasattorneygeneral.gov/divisions/criminal-justice/peace-officer-involved-shooting-report | 194 | 9/10/2026 |
| ois_report_index | https://oag.my.site.com/oisreports/apexremote | 2,499 | 9/10/2026 |
| tcole_2019 | https://www.tcole.texas.gov/content/data-reports | 2,582 | 9/10/2026 |
| tcole_2020 | https://www.tcole.texas.gov/content/data-reports | 2,700 | 9/10/2026 |
| tcole_2021 | https://www.tcole.texas.gov/content/data-reports | 2,689 | 9/10/2026 |
| tcole_2022 | https://www.tcole.texas.gov/content/data-reports | 2,712 | 9/10/2026 |
| tcole_2024 | https://www.tcole.texas.gov/content/data-reports | 2,739 | 9/10/2026 |
| tji_civilians | https://texasjusticeinitiative.org/data | 1,674 | 9/10/2026 |
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.