Fatal NTSB investigations
1,404 cases where the phase of flight was Unknown.
Cases per year
| 1962 | 1 |
|---|---|
| 1963 | 1 |
| 1964 | 22 |
| 1965 | 24 |
| 1966 | 28 |
| 1967 | 42 |
| 1968 | 50 |
| 1969 | 29 |
| 1970 | 23 |
| 1971 | 15 |
| 1972 | 25 |
| 1973 | 23 |
| 1974 | 21 |
| 1975 | 22 |
| 1976 | 12 |
| 1977 | 21 |
| 1978 | 31 |
| 1979 | 27 |
| 1980 | 21 |
| 1981 | 20 |
| 1982 | 38 |
| 1983 | 36 |
| 1984 | 38 |
| 1985 | 33 |
| 1986 | 15 |
| 1987 | 16 |
| 1988 | 20 |
| 1989 | 17 |
| 1990 | 20 |
| 1991 | 12 |
| 1992 | 14 |
| 1993 | 14 |
| 1994 | 10 |
| 1995 | 11 |
| 1996 | 13 |
| 1997 | 13 |
| 1998 | 17 |
| 1999 | 13 |
| 2000 | 10 |
| 2001 | 11 |
| 2002 | 9 |
| 2003 | 10 |
| 2004 | 3 |
| 2005 | 7 |
| 2006 | 5 |
| 2007 | 9 |
| 2008 | 7 |
| 2009 | 6 |
| 2010 | 14 |
| 2011 | 14 |
| 2012 | 10 |
| 2013 | 11 |
| 2014 | 20 |
| 2015 | 22 |
| 2016 | 29 |
| 2017 | 31 |
| 2018 | 35 |
| 2019 | 20 |
| 2020 | 27 |
| 2021 | 31 |
| 2022 | 46 |
| 2023 | 25 |
| 2024 | 29 |
| 2025 | 49 |
| 2026 | 106 |
Where
Latest cases
Query with SQL
duckdb -csv -c "WITH phase_names(main, name) AS (VALUES (100, 'Prior to flight'), (150, 'Standing'), (200, 'Pushback/towing'), (250, 'Taxi'), (300, 'Takeoff'), (350, 'Initial climb'), (400, 'Enroute'), (450, 'Maneuvering'), (500, 'Approach'), (550, 'Landing'), (600, 'Emergency descent'), (650, 'Uncontrolled descent'), (700, 'Post-impact'), (750, 'After landing'), (800, 'Other'), (990, 'Unknown')),
crosswalk(code, main, name) AS (VALUES (500, 150, 'Standing'), (501, 150, 'Standing - pre-flight'), (502, 150, 'Standing - starting engine(s)'), (503, 150, 'Standing - engine(s) operating'), (504, 150, 'Standing - engine(s) not operating'), (505, 150, 'Standing - idling rotors'), (510, 250, 'Taxi'), (511, 200, 'Taxi - pushback/tow'), (512, 250, 'Taxi - to takeoff'), (513, 250, 'Taxi - from landing'), (514, 250, 'Taxi - aerial'), (520, 300, 'Takeoff'), (521, 300, 'Takeoff - roll/run'), (522, 350, 'Takeoff - initial climb'), (523, 300, 'Takeoff - aborted'), (530, 400, 'Climb'), (531, 400, 'Climb - to cruise'), (540, 400, 'Cruise'), (541, 400, 'Cruise - normal'), (542, 400, 'Maneuvering - holding (IFR)'), (550, 400, 'Descent'), (551, 400, 'Descent - normal'), (552, 600, 'Descent - emergency'), (553, 650, 'Descent - uncontrolled'), (560, 500, 'Approach'), (561, 500, 'Approach - VFR pattern - downwind'), (562, 500, 'Approach - VFR pattern - base turn'), (563, 500, 'Approach - VFR pattern - base leg/base to final'), (564, 500, 'Approach - VFR pattern - final approach'), (565, 500, 'Go-around (VFR)'), (566, 500, 'Approach - IAF to FAF/outer marker (IFR)'), (567, 500, 'Approach - FAF/outer marker to threshold (IFR)'), (568, 500, 'Circling (IFR)'), (569, 500, 'Missed approach (IFR)'), (570, 550, 'Landing'), (571, 550, 'Landing - flare/touchdown'), (572, 550, 'Landing - roll'), (573, 550, 'Landing - aborted'), (574, 550, 'Emergency landing'), (575, 550, 'Emergency landing after takeoff'), (576, 600, 'Emergency descent/landing'), (580, 450, 'Maneuvering'), (581, 450, 'Maneuvering - aerial application'), (582, 450, 'Maneuvering - turn to reverse direction'), (583, 450, 'Maneuvering - turn to landing area (emergency)'), (590, 450, 'Hover'), (591, 450, 'Hover - in ground effect'), (592, 450, 'Hover - out of ground effect'), (600, 800, 'Other'), (610, 990, 'Unknown')),
current_codes AS (
SELECT e.case_mkey, TRY_CAST(e.\"tier1Number\" AS INTEGER) AS code,
row_number() OVER (PARTITION BY e.case_mkey ORDER BY coalesce(e.\"isDefiningEvent\", false) DESC, e.position) AS n
FROM 'https://openairdocs.org/data/latest/ntsb_events.parquet' e
WHERE e.aircrafts_position = 1 AND e.\"tier1Number\" GLOB '[1-9][0-9]*'
AND (e.\"isDefiningEvent\" OR e.case_mkey IN (SELECT \"mKey\" FROM 'https://openairdocs.org/data/latest/ntsb_case_detail.parquet' WHERE \"isPre1982\"))
),
phases AS (
SELECT case_mkey, 'current' AS scheme, code, CASE WHEN code >= 990 THEN 990 ELSE code // 50 * 50 END AS main
FROM current_codes WHERE n = 1
UNION ALL
SELECT o.case_mkey, 'older', o.\"phaseOfFlightCode\", w.main
FROM 'https://openairdocs.org/data/latest/ntsb_occurrences.parquet' o JOIN crosswalk w ON w.code = o.\"phaseOfFlightCode\"
WHERE o.aircrafts_position = 1 AND o.\"occurrenceNumber\" = 1 AND o.case_mkey NOT IN (SELECT case_mkey FROM current_codes)
),
case_phases AS (
SELECT p.*, c.\"eventDate\", c.\"highestInjuryLevel\" = 'Fatal' AS fatal, a.aircraft_model_code
FROM phases p JOIN 'https://openairdocs.org/data/latest/ntsb_case_detail.parquet' c ON c.\"mKey\" = p.case_mkey
LEFT JOIN 'https://openairdocs.org/data/latest/ntsb_aircrafts.parquet' a ON a.case_mkey = p.case_mkey AND a.position = 1
WHERE c.\"eventDate\" >= DATE '1962-01-01' AND p.main IN (SELECT main FROM phase_names)
)
SELECT c.\"ntsbNumber\", c.\"eventDate\", c.\"eventType\", c.\"eventCity\", c.\"eventStateOrRegion\", a.n_number, a.\"aircraftMake\", a.\"aircraftModel\", c.\"highestInjuryLevel\", c.\"totalFatal\", c.\"completionStatus\", c.report_url
FROM 'https://openairdocs.org/data/latest/ntsb_case_detail.parquet' c LEFT JOIN 'https://openairdocs.org/data/latest/ntsb_aircrafts.parquet' a ON a.case_mkey = c.\"mKey\" AND a.position = 1
WHERE c.\"highestInjuryLevel\" = 'Fatal'
AND c.\"mKey\" IN (SELECT case_mkey FROM case_phases WHERE main = 990)
ORDER BY c.\"eventDate\" DESC, c.\"ntsbNumber\" DESC"Prints the whole list as CSV. It reads the release’s Parquet files over HTTPS, so there’s nothing to download first. Install DuckDB to run it.
WITH phase_names(main, name) AS (VALUES (100, 'Prior to flight'), (150, 'Standing'), (200, 'Pushback/towing'), (250, 'Taxi'), (300, 'Takeoff'), (350, 'Initial climb'), (400, 'Enroute'), (450, 'Maneuvering'), (500, 'Approach'), (550, 'Landing'), (600, 'Emergency descent'), (650, 'Uncontrolled descent'), (700, 'Post-impact'), (750, 'After landing'), (800, 'Other'), (990, 'Unknown')),
crosswalk(code, main, name) AS (VALUES (500, 150, 'Standing'), (501, 150, 'Standing - pre-flight'), (502, 150, 'Standing - starting engine(s)'), (503, 150, 'Standing - engine(s) operating'), (504, 150, 'Standing - engine(s) not operating'), (505, 150, 'Standing - idling rotors'), (510, 250, 'Taxi'), (511, 200, 'Taxi - pushback/tow'), (512, 250, 'Taxi - to takeoff'), (513, 250, 'Taxi - from landing'), (514, 250, 'Taxi - aerial'), (520, 300, 'Takeoff'), (521, 300, 'Takeoff - roll/run'), (522, 350, 'Takeoff - initial climb'), (523, 300, 'Takeoff - aborted'), (530, 400, 'Climb'), (531, 400, 'Climb - to cruise'), (540, 400, 'Cruise'), (541, 400, 'Cruise - normal'), (542, 400, 'Maneuvering - holding (IFR)'), (550, 400, 'Descent'), (551, 400, 'Descent - normal'), (552, 600, 'Descent - emergency'), (553, 650, 'Descent - uncontrolled'), (560, 500, 'Approach'), (561, 500, 'Approach - VFR pattern - downwind'), (562, 500, 'Approach - VFR pattern - base turn'), (563, 500, 'Approach - VFR pattern - base leg/base to final'), (564, 500, 'Approach - VFR pattern - final approach'), (565, 500, 'Go-around (VFR)'), (566, 500, 'Approach - IAF to FAF/outer marker (IFR)'), (567, 500, 'Approach - FAF/outer marker to threshold (IFR)'), (568, 500, 'Circling (IFR)'), (569, 500, 'Missed approach (IFR)'), (570, 550, 'Landing'), (571, 550, 'Landing - flare/touchdown'), (572, 550, 'Landing - roll'), (573, 550, 'Landing - aborted'), (574, 550, 'Emergency landing'), (575, 550, 'Emergency landing after takeoff'), (576, 600, 'Emergency descent/landing'), (580, 450, 'Maneuvering'), (581, 450, 'Maneuvering - aerial application'), (582, 450, 'Maneuvering - turn to reverse direction'), (583, 450, 'Maneuvering - turn to landing area (emergency)'), (590, 450, 'Hover'), (591, 450, 'Hover - in ground effect'), (592, 450, 'Hover - out of ground effect'), (600, 800, 'Other'), (610, 990, 'Unknown')),
current_codes AS (
SELECT e.case_mkey, TRY_CAST(e."tier1Number" AS INTEGER) AS code,
row_number() OVER (PARTITION BY e.case_mkey ORDER BY coalesce(e."isDefiningEvent", false) DESC, e.position) AS n
FROM 'https://openairdocs.org/data/latest/ntsb_events.parquet' e
WHERE e.aircrafts_position = 1 AND e."tier1Number" GLOB '[1-9][0-9]*'
AND (e."isDefiningEvent" OR e.case_mkey IN (SELECT "mKey" FROM 'https://openairdocs.org/data/latest/ntsb_case_detail.parquet' WHERE "isPre1982"))
),
phases AS (
SELECT case_mkey, 'current' AS scheme, code, CASE WHEN code >= 990 THEN 990 ELSE code // 50 * 50 END AS main
FROM current_codes WHERE n = 1
UNION ALL
SELECT o.case_mkey, 'older', o."phaseOfFlightCode", w.main
FROM 'https://openairdocs.org/data/latest/ntsb_occurrences.parquet' o JOIN crosswalk w ON w.code = o."phaseOfFlightCode"
WHERE o.aircrafts_position = 1 AND o."occurrenceNumber" = 1 AND o.case_mkey NOT IN (SELECT case_mkey FROM current_codes)
),
case_phases AS (
SELECT p.*, c."eventDate", c."highestInjuryLevel" = 'Fatal' AS fatal, a.aircraft_model_code
FROM phases p JOIN 'https://openairdocs.org/data/latest/ntsb_case_detail.parquet' c ON c."mKey" = p.case_mkey
LEFT JOIN 'https://openairdocs.org/data/latest/ntsb_aircrafts.parquet' a ON a.case_mkey = p.case_mkey AND a.position = 1
WHERE c."eventDate" >= DATE '1962-01-01' AND p.main IN (SELECT main FROM phase_names)
)
SELECT c."ntsbNumber", c."eventDate", c."eventType", c."eventCity", c."eventStateOrRegion", a.n_number, a."aircraftMake", a."aircraftModel", c."highestInjuryLevel", c."totalFatal", c."completionStatus", c.report_url
FROM 'https://openairdocs.org/data/latest/ntsb_case_detail.parquet' c LEFT JOIN 'https://openairdocs.org/data/latest/ntsb_aircrafts.parquet' a ON a.case_mkey = c."mKey" AND a.position = 1
WHERE c."highestInjuryLevel" = 'Fatal'
AND c."mKey" IN (SELECT case_mkey FROM case_phases WHERE main = 990)
ORDER BY c."eventDate" DESC, c."ntsbNumber" DESCRun it at the DuckDB prompt, or in any tool that reads Parquet over HTTPS. More ways to query the release are on Use the data.
NTSB GAA27WA020Accident · 1 fatalForeign investigationCessna U206 · Puerto Ayacucho, VenezuelaNTSB GAA27WA015Accident · 2 fatalClass 5 · ForeignVans RV7 · Sao Paulo, BrazilNTSB GAA27WA013Accident · 2 fatalClass 5 · ForeignPiper PA38 · Dryman, United KingdomNTSB GAA27WA016Accident · 3 fatalForeign investigationBeech 300 · Santana Do Paraiso, BrazilNTSB GAA27WA003Accident · 1 fatalClass 5 · ForeignRutan Varieze · Worplesdon, United KingdomNTSB ERA27FA004Accident · 1 fatalClass 3 · FieldInvestigation openHughes 269B · Lahmansville, WVNTSB GAA27WA002Accident · 2 fatalClass 5 · ForeignCessna 501 · Los Mezquites, MexicoNTSB GAA27WA001Accident · 6 fatalForeign investigationGulfstream Gulfstream G100 · International Waters, CanadaNTSB GAA26WA336Accident · 5 fatalClass 5 · ForeignBell 430 · Mendamu, ZimbabweNTSB GAA26WA329Accident · 4 fatalForeign investigationRobinson R44 · Farnham, CanadaNTSB ERA26FA350Accident · 1 fatalClass 3 · FieldPreliminary reportAero Commander 112 · Chatsworth, GAOn September 26, 2026, about 1120 eastern daylight time, an Aero Commander 112, N1102J, was substantially damaged when it was involved in an accident near Chatsworth, Georgia. The pilot was fatally injured. The airplane was operated as a Title 14 Code of…NTSB WPR26FA355Accident · 2 fatalClass 3 · FieldPreliminary reportAeronca 7AC · Hesperia, CAOn September 24, 2026, about 0945 Pacific daylight time, an Aeronca 7AC, N12DF, was substantially damaged when it was involved in an accident near Hesperia, California. The flight instructor and passenger were fatally injured. The airplane was operated as a…NTSB GAA26WA324Accident · 5 fatalForeign investigationBell 430 · Serra do Corvo Branco, BrazilNTSB GAA26WA330Accident · 2 fatalClass 5 · ForeignComp Air 7SL · Primavera do Leste, BrazilNTSB GAA26WA325Accident · 2 fatalForeign investigationCessna 172 · Kisbey, CanadaNTSB ERA26FA341Accident · 1 fatalClass 3 · FieldPreliminary reportWeatherly 620 · Lynchburg, SCOn September 17, 2026, about 0720 eastern daylight time, a Weatherly Aviation Company Inc. 602B, N20003, was substantially damaged when it was involved in an accident near Lynchburg, South Carolina. The pilot was fatally injured. The airplane was operated as…NTSB GAA26WA320Accident · 3 fatalClass 5 · ForeignCessna F172 · Fronderath, GermanyNTSB GAA26WA311Accident · 5 fatalForeign investigationCessna T206 · Tatama Massif, ColombiaNTSB GAA26WA322Accident · 3 fatalClass 4 · ForeignCessna 402 · Agua Boa, BrazilNTSB GAA26WA302Accident · 1 fatalClass 5 · ForeignCanadian Home Rotors Safari · Eyrewell, New ZealandNTSB GAA26WA300Accident · 5 fatalClass 5 · ForeignBolkow BO105 · Long Lellang, MalaysiaNTSB GAA26WA301Accident · 2 fatalClass 5 · ForeignBeech A36 · Archerfield, AustraliaNTSB GAA26WA297Occurrence · 4 fatalClass 3 · ForeignPiper PA-34-200T · Andros, BahamasNTSB CEN26FA311Accident · 2 fatalClass 3 · FieldPreliminary reportEXP Stol CH701 · Neosho, MOOn September 7, 2026, about 1337 central daylight time, an experimental STOL CH701 airplane, N101XV, sustained substantial damage when it was involved in an accident near Neosho, Missouri. The pilot and passenger sustained fatal injuries. The airplane was…NTSB GAA26WA317Accident · 2 fatalClass 5 · ForeignCirrus SR22 · Calgary, CanadaNTSB GAA26WA312Accident · 2 fatalClass 5 · ForeignTecnam P2006T · Kampur, IndiaNTSB GAA26WA295Accident · 1 fatalClass 5 · ForeignBeech 58 · Groote Eylandt, AustraliaNTSB GAA26WA292Accident · 1 fatalClass 5 · ForeignBeech 200 · Prince George, CanadaNTSB GAA26WA283Accident · 3 fatalClass 5 · ForeignBell 206 · Exambela, GreeceNTSB GAA26WA282Accident · 2 fatalClass 5 · ForeignPiper PA28 · Trawsfynydd, United KingdomNTSB GAA26WA279Accident · 4 fatalForeign investigationRobinson R44 · Rio de Janeiro, BrazilNTSB GAA26WA278Accident · 1 fatalClass 5 · ForeignCessna 150 · Portimao, PortugalNTSB GAA26WA277Accident · 1 fatalForeign investigationCessna 172L · Chilliwack, CanadaNTSB WPR26FA284Accident · 1 fatalClass 3 · FieldPreliminary reportCessna 172 · Blackfoot, IDOn August 1, 2026, about 2301 mountain daylight time (MDT), a Cessna 172G, N1166F, was substantially damaged when it was involved in an accident near Blackfoot, Idaho. The pilot was fatally injured, and the two passengers sustained serious injuries. The…NTSB GAA26WA270Accident · 2 fatalClass 5 · ForeignBell 214ST · West Attica, GreeceNTSB GAA26WA268Accident · 13 fatalClass 5 · ForeignCessna 208 · Nazca, PeruNTSB GAA26WA267Accident · 7 fatalClass 5 · ForeignBell 412 · San Agustín, ArgentinaNTSB CEN26FA267Accident · 1 fatalClass 3 · FieldPreliminary reportZenith Zodiak 601 HDS · Sioux City, IAOn July 24, 2026, about 1422 central daylight time, a Zenith Zodiac 601HDS experimental airplane, N27601, was destroyed when it was involved in an accident near Sioux City, Iowa. The pilot was fatally injured. The airplane was operated as a Title 14 Code of…NTSB GAA26WA271Accident · 1 fatalClass 5 · ForeignRobinson R44 · Temelli, TürkiyeNTSB WPR26FA262Accident · 1 fatalClass 3 · FieldPreliminary reportVans RV-4 · Yuba City, CAOn July 16, 2026, at 0701 Pacific daylight time, an experimental amateur built Vans RV-4, N98GB, was substantially damaged when it was involved in an accident near Yuba City, California. The pilot was fatally injured. The airplane was operated as a Title 14…NTSB GAA26WA258Accident · 2 fatalClass 5 · ForeignCessna 335 · Barinas, VenezuelaNTSB WPR26FA257Accident · 1 fatalClass 3 · FieldPreliminary reportLuscombe 8A · Canton, TXOn July 14, 2026, sometime between 1252 and 1356 CDT, a Luscombe 8A, N1164K, was substantially damaged when it crashed in a field near Canton, Texas. The pilot, who was the sole occupant, was fatally injured. The airplane was operated as a Title 14 Code of…NTSB GAA26WA261Incident · 1 fatalClass 5 · ForeignCessna 152 · Mengeringhausen, GermanyNTSB GAA26WA251Accident · 2 fatalClass 5 · ForeignHughes 369 · British Columbia, CanadaNTSB CEN26LA254Accident · 1 fatalClass 3 · LimitedPreliminary reportTag Aviation PTY Titanium Explorer · Larkspur, COOn July 13, 2026, about 800 mountain daylight time, a Tag Aviation Pty Ltd Titanium Explorer gyrocopter, N665TE was substantially damaged when it was involved in an accident near Larkspur, Colorado. The pilot passed away in the hospital five days after the…NTSB GAA26WA250Accident · 2 fatalClass 5 · ForeignPiper PA28 · Seitenstetten, AustriaNTSB GAA26WA265Accident · 1 fatalClass 5 · ForeignRobinson R44 · RorainóPolis, BrazilNTSB GAA26WA332Accident · 1 fatalClass 5 · ForeignRobin DR400 · Alençon, FranceNTSB GAA26WA243Accident · 2 fatalClass 5 · ForeignCessna 172 · Fujairah, United Arab EmiratesNTSB GAA26WA237Accident · 2 fatalClass 5 · ForeignBeech V35 · San Miguel Pochuta, Guatemala