Skip to content
FonteumPublic-records evidence
CARE QUALITY · ISSUE 071
fda-enforcement-reportsOriginal Research

The FDA Drug Recall List, Analyzed: 2026 Trends by Severity

Of 56,777 FDA drug and device recalls on file, 5,237 — 9.2%, about one in eleven — carry Class I, the agency's most serious tier, signaling a reasonable probability of serious injury or death. Devices drive 68.9% of recalls; 99.4% are voluntary, company-initiated withdrawals, not FDA-ordered.

BY FONTEUM LLC · JUNE 14, 2026 · 11 MIN READREVIEWED BY DR. JENNIFER MONTECILLO, MDSNAPSHOT 2026-06-14 · LAST UPDATED JUNE 14, 2026
FDA Enforcement Reports · 2026-06-14
FDA drug & device recalls by severity classfda-enforcement-reports · 2026-06-14
Class I (most serious)
5237
Class II
48820
Class III (least serious)
2720
Built on FDA Enforcement Reports · snapshot 2026-06-14 · reproducible · re-derive the figures yourself
Key findings
of all 56,777 FDA drug and device recalls are Class I — the agency's most serious classification, defined as a reasonable probability of serious injury or death. That is 5,237 recalls, about one in eleven
fda-enforcement-reports · CMS
of recalls are medical devices (39,095), not drugs (17,682, 31.1%) — devices are recalled more than two to one over drugs across the file
fda-enforcement-reports · CMS
of recalls are voluntary, company-initiated withdrawals; the FDA mandated just 302 (0.5%). Recalls are overwhelmingly self-reported by manufacturers, not agency-ordered
fda-enforcement-reports · CMS
drug recalls are marginally more likely to be Class I than device recalls, and far more likely to be lowest-risk Class III (9.6% vs 2.6%); device recalls cluster in mid-severity Class II (88.4%)
fda-enforcement-reports · CMS

The FDA's recall enforcement reports are the public record of every drug and medical-device recall the agency has logged — the recalling firm, the product, the reason, the geographic spread, and, most consequentially, a classification that grades how dangerous the FDA judged the problem to be. A recall sounds uniformly alarming, but the classification is where the meaning lives: a Class I recall is the agency's way of saying a product could seriously injure or kill, while a Class III recall covers problems unlikely to harm anyone at all. This study reads all 56,777 recalls on file and asks the obvious question the headlines rarely answer: when the FDA pulls a drug or a device, how serious is it usually?

Most recalls are not the most serious — but one in eleven is

Grade the 56,777 recalls by the FDA's own three-tier scale and the shape is clear. 5,237 recalls — 9.2%, about one in eleven — are Class I, the tier the FDA reserves for a reasonable probability of serious adverse health consequences or death. The large majority, 48,820 recalls (86.0%), are Class II: a defect is documented, but the agency judged the chance of serious harm temporary, reversible, or remote. The remaining 2,720 (4.8%) are Class III — violations unlikely to cause any harm, like a minor labeling error.

That 9.2% is the number to hold onto. It means the typical FDA recall is a mid-severity correction, not a life-threatening hazard — but it also means that across the full file, more than five thousand recalls carry the agency's most serious label, each one a product the FDA judged capable of causing serious injury or death.

About one in eleven FDA drug and device recalls carries the agency's most serious label — Class I, the tier it reserves for products it judges could seriously injure or kill.

Devices, not drugs, drive the volume

The file is not split evenly between the two product families. Medical devices account for 39,095 recalls (68.9%); drugs account for 17,682 (31.1%) — devices are recalled more than two to one over drugs. Part of that gap is structural: a single device design flaw or software fix can cascade into a recall spanning many models, lots, and serial ranges, so device recalls accumulate faster than drug recalls of comparable scope.

ProductRecallsShareClass IClass IIClass III
Medical devices39,09568.9%3,510 (9.0%)34,560 (88.4%)1,025 (2.6%)
Drugs17,68231.1%1,727 (9.8%)14,260 (80.6%)1,695 (9.6%)
All recalls56,777100.0%5,237 (9.2%)48,820 (86.0%)2,720 (4.8%)

Source: FDA recall enforcement reports, classification by product kind, via the per-class rollup in the reproducibility block.

The two families carry similar Class I rates — 9.8% for drugs, 9.0% for devices — so the most serious recalls are roughly as common, proportionally, on each side. The difference is at the bottom of the scale: 9.6% of drug recalls are lowest-risk Class III versus just 2.6% of device recalls, and device recalls pile up in the middle, with 88.4% rated Class II. A drug recall is more likely to sit at either extreme; a device recall almost always lands in the mid-severity band.

Companies pull their own products — the FDA rarely orders it

The other striking fact is who initiates the recall. 56,430 of the 56,777 recalls (99.4%) are recorded as voluntary, firm-initiated withdrawals. Only 302 (0.5%) are marked FDA-mandated. Read carelessly, that looks like an agency that never forces the issue; read correctly, it reflects how the law is written.

The FDA's authority to compel a recall is narrower and more recent than most people assume — mandatory device-recall power is used sparingly, and for drugs the agency generally cannot order a recall outright, relying instead on the threat of seizure or public warning to prompt a "voluntary" action. So a 99.4% voluntary share describes the statutory structure of U.S. recall law, not a measure of how cooperative or careless any company was.

In practice a recall is a negotiated, manufacturer-led process: the firm identifies a problem, proposes a correction or removal, and the FDA reviews and assigns the classification. The voluntary label is the default channel, not evidence that a problem was minor.

Recall volume over time

Recalls run at a steady few thousand a year, with no runaway trend. The annual counts below cover the eleven full calendar years from 2015 through 2025; 99.2% of the entire file falls in 2012 or later, so the years before that are too sparse to chart.

YearRecallsClass IDrugsDevices
20154,6402021,7332,907
20164,2281751,1993,029
20174,4542031,1413,313
20184,6946521,6813,013
20194,7984181,7883,010
20203,5322879302,602
20213,4122951,1522,260
20223,6672751,3912,276
20233,7236701,1222,601
20243,8323845573,275
20253,6084227782,830

Source: FDA recall enforcement reports, by recall-initiation year. 2026 is excluded as a partial year.

Annual volume drifts down from roughly 4,600 recalls in the mid-2010s to about 3,600 in recent years, with a dip during 2020–2021. The Class I count is far noisier — 175 in 2016, 652 in 2018, 670 in 2023 — but those swings should not be read as the products suddenly getting more or less dangerous. Class I designations often attach to a cluster of related recalls from a single event, and classification can lag the initiation date, so any one year's Class I tally is sensitive to a handful of large actions.

What gets a product recalled

The recorded reasons differ by product family in a way that matches how each is made and used. For drugs, the dominant themes are contamination and sterility, out-of-specification or potency problems, and manufacturing-process failures — the recurring failure modes of chemistry and aseptic production. For devices, the reasons spread more evenly across contamination and sterility, labeling and packaging errors, and outright device defects or malfunctions. The reason text is free-form and a single recall can touch more than one theme, so these are directional signals rather than mutually exclusive categories, but the pattern is consistent: drug recalls are dominated by what is inside the product, device recalls by how the product is labeled, packaged, and built.

What one record actually is

Each row in fda_enforcement_reports is one recall enforcement record: a recalling firm, a product description, a reason, an FDA classification, and the dates the recall was initiated and reported. Rolling those rows up by classification, product_kind, and voluntary_mandated gives the severity, product, and initiation figures in this study. Because the unit is the recall event, no count or share here names, ranks, or singles out an individual manufacturer — the file describes the population of recalls, not a leaderboard of firms.

Methodology

All figures are aggregations over the fda_enforcement_reports table, populated from the FDA's recall enforcement reports via openFDA (drug and device enforcement endpoints). The table holds 56,777 recalls across 4,204 distinct recalling firms. The universe is every row; there is no suppression or sampling. Severity figures group by the FDA classification field (Class I / Class II / Class III); the product split groups by product_kind (drug / device); the voluntary share counts voluntary_mandated values beginning "Voluntary" against the total. The annual section groups by the calendar year of recall_initiation_date and reports only full years (2015–2025). Methodology version: fda-recalls/v1. The exact SQL is in the reproducibility block below and on the FDA Enforcement Reports dataset page.

Limitations

  • Classification is the FDA's risk judgment, not an outcome. A Class I label means the agency judged a reasonable probability of serious harm at the time of the action; it does not mean anyone was harmed, and Class II/III recalls are not evidence that a product was safe to keep using.
  • Voluntary vs mandated reflects the law. The 99.4% voluntary share is shaped by the FDA's limited statutory authority to compel recalls, especially for drugs, and is not a measure of how cooperative or negligent any firm was.
  • Counts are recall events, not products, lots, or patients. One recall can span many models, lots, or units, and one event can generate several recall records; the file does not measure how many devices or drug units actually reached patients.
  • Reason categories overlap. The reason field is free text, matched here by keyword, so the reason themes are directional and a single recall can fall under more than one.
  • Point-in-time snapshot. Figures reflect the 2026-06-14 openFDA snapshot. The file is updated continuously and recalls are reclassified and terminated over time, so the bands shift between snapshots; the single pre-2004 outlier record is retained but immaterial to every share.
  • Drug and device only, aggregate-only. The dataset covers FDA drug and device recalls; food, cosmetics, and tobacco recalls are out of scope. No recalling firm is named, ranked, or surfaced.

Sources

The companion dataset page for FDA Enforcement Reports lists the schema and refresh cadence. For the federal-oversight context around these products, see who pays U.S. doctors the most — device makers, not pharma on the manufacturer side, and the OIG exclusion list, explained on the provider-enforcement side.

Frequently asked questions

How many FDA drug and device recalls are there, and how serious are they?
The dataset holds 56,777 FDA drug and device recalls. Of those, 5,237 — 9.2%, about one in eleven — are Class I, the agency's most serious classification, which the FDA defines as a reasonable probability that the product will cause serious adverse health consequences or death. The large majority, 48,820 recalls (86.0%), are mid-severity Class II, and 2,720 (4.8%) are lowest-risk Class III.
Are most FDA recalls drugs or medical devices?
Devices, by more than two to one. Medical devices account for 39,095 recalls (68.9%) and drugs for 17,682 (31.1%). The split partly reflects how the two product families are regulated: a single device design change or software fix can trigger a recall across many models and lots, so device recalls accumulate faster than drug recalls.
Does the FDA order recalls, or do companies issue them?
Almost always the company. 56,430 of the 56,777 recalls (99.4%) are recorded as voluntary, firm-initiated withdrawals, while only 302 (0.5%) are marked FDA-mandated. That reflects the law as much as company behavior — the FDA's authority to compel a recall is narrow and recent for devices and rarely used for drugs, so the standard route is a manufacturer pulling the product itself.
Are drug recalls more serious than device recalls?
They are slightly more likely to be the most serious and far more likely to be the least serious. 9.8% of drug recalls are Class I versus 9.0% of device recalls, and 9.6% of drug recalls are lowest-risk Class III versus just 2.6% of device recalls. Device recalls concentrate in mid-severity Class II (88.4%), where a defect is documented but the risk of serious harm is judged remote.
Why are recalls listed for a product that was never dangerous?
A recall is a correction or removal, not a verdict that anyone was harmed. Class II and Class III recalls — 90.8% of the file — cover problems like a labeling error, a packaging defect, or an out-of-specification result where the FDA judged the chance of serious harm remote or unlikely. The classification records the agency's risk assessment at the time of the action, not an outcome.
Can I reproduce these recall figures?
Yes. Every figure aggregates the public fda_enforcement_reports table (56,777 rows, openFDA recall enforcement data) by classification, product_kind, and voluntary_mandated. The exact SQL — the severity split, the device-versus-drug counts, the per-product class mix, and the voluntary share — is published in the reproducibility block below. No recalling firm is named or ranked.

Who uses this data

The source data behind this study is public

Compliance teams, journalists, and researchers work from the same federal source families cited above — queried by NPI or facility identifier through Fonteum’s open dataset pages and API. Every figure traces to a frozen, downloadable snapshot you can reproduce yourself.

Reproducibility

Every claim, reproducible

The SQL
fda-drug-device-recalls-2026.sql
-- FDA drug & device recall severity — fully reproducible query.
--
-- Question: when the FDA pulls a drug or a medical device, how serious is it
-- usually? We measure, over every recall enforcement record on file, the share
-- that carries each FDA classification (Class I = most serious, a reasonable
-- probability of serious injury or death; Class II = mid-severity; Class III =
-- least serious), the device-vs-drug split, the per-product class mix, the
-- voluntary-vs-mandated share, and recall volume by year.
--
-- Source:
--   public.fda_enforcement_reports — FDA recall enforcement reports via
--     openFDA (drug + device enforcement endpoints). One row per recall
--     enforcement record. 56,777 rows; public, read-only.
--     License: US-Government-Works (17 U.S.C. §105).
--
-- Universe: every row. No suppression, no sampling. A single recall event can
--   span many models/lots, and one event can generate several records, so the
--   unit is the recall record, not a product, a lot, or a patient.
--
-- Snapshot: figures are point-in-time to the 2026-06-14 openFDA snapshot
--   (max report_date 2026-06-03). The file is updated continuously and recalls
--   are reclassified/terminated over time, so the bands shift between snapshots.

-- ============================================================================
-- Audit observation: 2026-07-14. Source snapshot remains 2026-06-14.
-- audit-claim: recall-severity-vector
--     Class I share (9.2%) is the lead figure.
-- ============================================================================
SELECT classification,
       count(*)                                            AS recalls,
       round(100.0 * count(*) / sum(count(*)) OVER (), 1)  AS share_pct
FROM public.fda_enforcement_reports
GROUP BY classification
ORDER BY recalls DESC;
--  Class II    48,820   86.0
--  Class I      5,237    9.2   <- most serious; ~1 in 11 recalls
--  Class III    2,720    4.8

-- ============================================================================
-- audit-claim: recall-product-vector
-- ============================================================================
SELECT product_kind,
       count(*)                                                          AS recalls,
       round(100.0 * count(*) / sum(count(*)) OVER (), 1)                AS share_pct,
       count(*) FILTER (WHERE classification = 'Class I')                AS class1,
       round(100.0 * count(*) FILTER (WHERE classification = 'Class I')
             / count(*), 1)                                              AS class1_pct,
       count(*) FILTER (WHERE classification = 'Class II')               AS class2,
       round(100.0 * count(*) FILTER (WHERE classification = 'Class II')
             / count(*), 1)                                              AS class2_pct,
       count(*) FILTER (WHERE classification = 'Class III')              AS class3,
       round(100.0 * count(*) FILTER (WHERE classification = 'Class III')
             / count(*), 1)                                              AS class3_pct
FROM public.fda_enforcement_reports
GROUP BY product_kind
ORDER BY recalls DESC;
--  device  39,095  68.9  | I 3,510 (9.0)  II 34,560 (88.4)  III 1,025 (2.6)
--  drug    17,682  31.1  | I 1,727 (9.8)  II 14,260 (80.6)  III 1,695 (9.6)

-- ============================================================================
-- audit-claim: recall-initiation-summary
-- ============================================================================
SELECT
  count(*)                                                            AS recalls,
  count(*) FILTER (WHERE voluntary_mandated ILIKE 'Voluntary%')       AS voluntary,
  round(100.0 * count(*) FILTER (WHERE voluntary_mandated ILIKE 'Voluntary%')
        / count(*), 1)                                                AS voluntary_pct,
  count(*) FILTER (WHERE voluntary_mandated ILIKE '%mandated%')       AS mandated,
  round(100.0 * count(*) FILTER (WHERE voluntary_mandated ILIKE '%mandated%')
        / count(*), 1)                                                AS mandated_pct,
  count(DISTINCT firm_name_normalized)                               AS distinct_firms
FROM public.fda_enforcement_reports;
--  recalls 56,777 · voluntary 56,430 (99.4%) · mandated 302 (0.5%)
--  distinct_firms 4,204   (45 records carry neither label cleanly)

-- ============================================================================
-- audit-claim: recall-year-vector
--     2026 excluded as a partial year; pre-2012 is < 0.8% of the file.
-- ============================================================================
SELECT date_part('year', recall_initiation_date)::int             AS yr,
       count(*)                                                   AS recalls,
       count(*) FILTER (WHERE classification = 'Class I')         AS class1,
       count(*) FILTER (WHERE product_kind = 'drug')              AS drugs,
       count(*) FILTER (WHERE product_kind = 'device')            AS devices
FROM public.fda_enforcement_reports
WHERE recall_initiation_date >= '2015-01-01'
  AND recall_initiation_date <  '2026-01-01'
GROUP BY 1
ORDER BY 1;
--  2015 4,640 / I 202 / drug 1,733 / device 2,907
--  2016 4,228 / I 175 / drug 1,199 / device 3,029
--  2017 4,454 / I 203 / drug 1,141 / device 3,313
--  2018 4,694 / I 652 / drug 1,681 / device 3,013
--  2019 4,798 / I 418 / drug 1,788 / device 3,010
--  2020 3,532 / I 287 / drug   930 / device 2,602
--  2021 3,412 / I 295 / drug 1,152 / device 2,260
--  2022 3,667 / I 275 / drug 1,391 / device 2,276
--  2023 3,723 / I 670 / drug 1,122 / device 2,601
--  2024 3,832 / I 384 / drug   557 / device 3,275
--  2025 3,608 / I 422 / drug   778 / device 2,830

-- ============================================================================
-- audit-claim: recall-reason-vector
--     reason field is free text, so a recall can match more than one bucket).
--     Directional signal only, not a partition.
-- ============================================================================
WITH r AS (
  SELECT product_kind, lower(reason_for_recall) AS rsn
  FROM public.fda_enforcement_reports
)
SELECT product_kind,
  count(*) FILTER (WHERE rsn ~ 'contaminat|microbial|steril|bacteria|fungal|mold|particulate|foreign') AS contamination_sterility,
  count(*) FILTER (WHERE rsn ~ 'label|mislabel|incorrect.*label|packag')                                AS labeling_packaging,
  count(*) FILTER (WHERE rsn ~ 'specification|out of spec|potency|subpotent|superpotent|assay|impurit|dissolution|stability|degrad') AS specs_potency,
  count(*) FILTER (WHERE rsn ~ 'software|malfunction|defective|failure|fail to|may fail|component')      AS device_defect,
  count(*) FILTER (WHERE rsn ~ 'cgmp|gmp|manufactur|process')                                            AS manufacturing,
  count(*)                                                                                               AS total
FROM r
GROUP BY product_kind
ORDER BY total DESC;
--  device | contam 7,839 · label 7,461 · specs 2,494 · defect 6,300 · mfg 5,229 · total 39,095
--  drug   | contam 9,226 · label 2,569 · specs 3,613 · defect   517 · mfg 5,134 · total 17,682

-- ============================================================================
-- audit-claim: recall-universe
-- ============================================================================
SELECT
  count(*)                                                        AS total_rows,
  count(*) FILTER (WHERE product_kind = 'drug')                   AS drug_rows,
  count(*) FILTER (WHERE product_kind = 'device')                 AS device_rows,
  count(DISTINCT firm_name_normalized)                            AS distinct_firms,
  count(*) FILTER (WHERE recall_initiation_date >= '2012-01-01')  AS y2012plus,
  min(recall_initiation_date)                                     AS earliest,
  max(recall_initiation_date)                                     AS latest
FROM public.fda_enforcement_reports;
--  total_rows 56,777 · drug 17,682 · device 39,095 · firms 4,204
--  y2012plus 56,321 (99.2%) · earliest 1930-12-11 (single outlier) · latest 2026-05-18
The snapshot
dataset_idfda-enforcement-reports
snapshot_date2026-06-14
The JOINs
universe          = every row in fda_enforcement_reports                          -- 56,777 recalls (drug + device)
product split     = count(*) GROUP BY product_kind                                -- device 39,095 (68.9%) · drug 17,682 (31.1%)
class I share     = count(classification = 'Class I') / count(*)                   -- 5,237 / 56,777 = 9.2%
class mix         = count(*) GROUP BY product_kind, classification                 -- device 9.0/88.4/2.6 · drug 9.8/80.6/9.6 (I/II/III %)
voluntary share   = count(voluntary_mandated ILIKE 'Voluntary%') / count(*)        -- 56,430 / 56,777 = 99.4% (mandated 302 = 0.5%)
distinct firms    = count(DISTINCT firm_name_normalized)                           -- 4,204
The pipeline version
methodology_versionfda-recalls/v1

Reproduce this

Run the exact query against the frozen 2026-06-14.

-- FDA drug & device recall severity — fully reproducible query. -- -- Question: when the FDA pulls a drug or a medical device, how serious is it -- usually? We measure, over every recall enforcement record on file, the share -- that carries each FDA classification (Class I = most serious, a reasonable -- probability of serious injury or death; Class II = mid-severity; Class III = -- least serious), the device-vs-drug split, the per-product class mix, the -- voluntary-vs-mandated share, and recall volume by year. -- -- Source: -- public.fda_enforcement_reports — FDA recall enforcement reports via -- openFDA (drug + device enforcement endpoints). One row per recall -- enforcement record. 56,777 rows; public, read-only. -- License: US-Government-Works (17 U.S.C. §105). -- -- Universe: every row. No suppression, no sampling. A single recall event can -- span many models/lots, and one event can generate several records, so the -- unit is the recall record, not a product, a lot, or a patient. -- -- Snapshot: figures are point-in-time to the 2026-06-14 openFDA snapshot -- (max report_date 2026-06-03). The file is updated continuously and recalls -- are reclassified/terminated over time, so the bands shift between snapshots. -- ============================================================================ -- Audit observation: 2026-07-14. Source snapshot remains 2026-06-14. -- audit-claim: recall-severity-vector -- Class I share (9.2%) is the lead figure. -- ============================================================================ SELECT classification, count(*) AS recalls, round(100.0 * count(*) / sum(count(*)) OVER (), 1) AS share_pct FROM public.fda_enforcement_reports GROUP BY classification ORDER BY recalls DESC; -- Class II 48,820 86.0 -- Class I 5,237 9.2 <- most serious; ~1 in 11 recalls -- Class III 2,720 4.8 -- ============================================================================ -- audit-claim: recall-product-vector -- ============================================================================ SELECT product_kind, count(*) AS recalls, round(100.0 * count(*) / sum(count(*)) OVER (), 1) AS share_pct, count(*) FILTER (WHERE classification = 'Class I') AS class1, round(100.0 * count(*) FILTER (WHERE classification = 'Class I') / count(*), 1) AS class1_pct, count(*) FILTER (WHERE classification = 'Class II') AS class2, round(100.0 * count(*) FILTER (WHERE classification = 'Class II') / count(*), 1) AS class2_pct, count(*) FILTER (WHERE classification = 'Class III') AS class3, round(100.0 * count(*) FILTER (WHERE classification = 'Class III') / count(*), 1) AS class3_pct FROM public.fda_enforcement_reports GROUP BY product_kind ORDER BY recalls DESC; -- device 39,095 68.9 | I 3,510 (9.0) II 34,560 (88.4) III 1,025 (2.6) -- drug 17,682 31.1 | I 1,727 (9.8) II 14,260 (80.6) III 1,695 (9.6) -- ============================================================================ -- audit-claim: recall-initiation-summary -- ============================================================================ SELECT count(*) AS recalls, count(*) FILTER (WHERE voluntary_mandated ILIKE 'Voluntary%') AS voluntary, round(100.0 * count(*) FILTER (WHERE voluntary_mandated ILIKE 'Voluntary%') / count(*), 1) AS voluntary_pct, count(*) FILTER (WHERE voluntary_mandated ILIKE '%mandated%') AS mandated, round(100.0 * count(*) FILTER (WHERE voluntary_mandated ILIKE '%mandated%') / count(*), 1) AS mandated_pct, count(DISTINCT firm_name_normalized) AS distinct_firms FROM public.fda_enforcement_reports; -- recalls 56,777 · voluntary 56,430 (99.4%) · mandated 302 (0.5%) -- distinct_firms 4,204 (45 records carry neither label cleanly) -- ============================================================================ -- audit-claim: recall-year-vector -- 2026 excluded as a partial year; pre-2012 is < 0.8% of the file. -- ============================================================================ SELECT date_part('year', recall_initiation_date)::int AS yr, count(*) AS recalls, count(*) FILTER (WHERE classification = 'Class I') AS class1, count(*) FILTER (WHERE product_kind = 'drug') AS drugs, count(*) FILTER (WHERE product_kind = 'device') AS devices FROM public.fda_enforcement_reports WHERE recall_initiation_date >= '2015-01-01' AND recall_initiation_date < '2026-01-01' GROUP BY 1 ORDER BY 1; -- 2015 4,640 / I 202 / drug 1,733 / device 2,907 -- 2016 4,228 / I 175 / drug 1,199 / device 3,029 -- 2017 4,454 / I 203 / drug 1,141 / device 3,313 -- 2018 4,694 / I 652 / drug 1,681 / device 3,013 -- 2019 4,798 / I 418 / drug 1,788 / device 3,010 -- 2020 3,532 / I 287 / drug 930 / device 2,602 -- 2021 3,412 / I 295 / drug 1,152 / device 2,260 -- 2022 3,667 / I 275 / drug 1,391 / device 2,276 -- 2023 3,723 / I 670 / drug 1,122 / device 2,601 -- 2024 3,832 / I 384 / drug 557 / device 3,275 -- 2025 3,608 / I 422 / drug 778 / device 2,830 -- ============================================================================ -- audit-claim: recall-reason-vector -- reason field is free text, so a recall can match more than one bucket). -- Directional signal only, not a partition. -- ============================================================================ WITH r AS ( SELECT product_kind, lower(reason_for_recall) AS rsn FROM public.fda_enforcement_reports ) SELECT product_kind, count(*) FILTER (WHERE rsn ~ 'contaminat|microbial|steril|bacteria|fungal|mold|particulate|foreign') AS contamination_sterility, count(*) FILTER (WHERE rsn ~ 'label|mislabel|incorrect.*label|packag') AS labeling_packaging, count(*) FILTER (WHERE rsn ~ 'specification|out of spec|potency|subpotent|superpotent|assay|impurit|dissolution|stability|degrad') AS specs_potency, count(*) FILTER (WHERE rsn ~ 'software|malfunction|defective|failure|fail to|may fail|component') AS device_defect, count(*) FILTER (WHERE rsn ~ 'cgmp|gmp|manufactur|process') AS manufacturing, count(*) AS total FROM r GROUP BY product_kind ORDER BY total DESC; -- device | contam 7,839 · label 7,461 · specs 2,494 · defect 6,300 · mfg 5,229 · total 39,095 -- drug | contam 9,226 · label 2,569 · specs 3,613 · defect 517 · mfg 5,134 · total 17,682 -- ============================================================================ -- audit-claim: recall-universe -- ============================================================================ SELECT count(*) AS total_rows, count(*) FILTER (WHERE product_kind = 'drug') AS drug_rows, count(*) FILTER (WHERE product_kind = 'device') AS device_rows, count(DISTINCT firm_name_normalized) AS distinct_firms, count(*) FILTER (WHERE recall_initiation_date >= '2012-01-01') AS y2012plus, min(recall_initiation_date) AS earliest, max(recall_initiation_date) AS latest FROM public.fda_enforcement_reports; -- total_rows 56,777 · drug 17,682 · device 39,095 · firms 4,204 -- y2012plus 56,321 (99.2%) · earliest 1930-12-11 (single outlier) · latest 2026-05-18

Download the data: SQL · JSON · CSV

Cite this study

Citation-ready for researchers and AI.

Fonteum Research Bureau (2026). The FDA Drug Recall List, Analyzed: 2026 Trends by Severity. FDA Enforcement Reports, snapshot 2026-06-14. https://fonteum.com/research/fda-drug-device-recalls-2026

Check the chain

The cited snapshot identifies the federal file. Where an attestation is present, its file hash can be re-derived; figures are not individually signed.

1
Snapshot
fda-enforcement-reports · 2026-06-14
2
Supplied file hash
Not supplied
3
Snapshot attestation
Inspect supplied artifact
Figures are not individually signed · check it in Attest →

Federal source citations

  1. FDA Enforcement Reports · snapshot 2026-06-14 · federal source family · US-Government-Works

Fonteum LLC · June 14, 2026 · All figures trace to the frozen federal-data snapshot cited above.

What’s on file, by the numbers

Platform snapshot · 2026-08-14

13.4Mproviders & companiesProviders, organizations, owners, and facilities on file
26.2Msource-linked factsSource-linked field facts in the dated platform snapshot
90sources with dataDistinct snapshot source IDs with at least one positive record count
72fresh sourcesDistinct source IDs whose latest positive-data snapshot falls within the preceding 45 days
111sources integratedActive registry rows; integration does not establish a load
13state Medicaid jurisdictionsDistinct states represented in the state-exclusions serving table

Integrated, with-data, and fresh-observation counts are separate. No platform-wide source-completeness count is published. Completeness is source-specific and must be evaluated against the named source's expected scope. State coverage is a separate jurisdiction measure.

Source authority is record-specific

Use the issuer named on the record.

Fonteum spans federal, state, and global public publishers. A source page or returned record identifies its issuer and dataset where that metadata is available. A platform registry count does not assign every page to one authority or establish loaded, fresh, or complete coverage.

Browse source records and their stated limitations →

Reproducible by design

Inspect the evidence each published figure actually supplies.

Source and date

Research pages expose the named public file and observation date where those fields are available. Source-file SHA-256 coverage is separate; facts do not currently link deterministically to signatures.

Available derivation

Studies with a retained release and committed derivation link the SQL or method used. Other studies state the evidence and reproduction limits they actually have.

Daily observations

Dated table row-count observations can detect local drift. They do not imply that an upstream publisher released or Fonteum ingested new data that day.

Named medical review

Reviewed by Jennifer Montecillo, MD, medical reviewer. Non-practicing medical reviewer.

Read the full provenance and attestation methodology →

Request access