European Union · Binding — legally enforceable maximum levels · Established 1958 · Authored by Karen Pendergrass, Institute of Contaminant Standards · food.ec.europa.eu
Quick read
The European Commission sets the legally binding maximum levels for heavy metals in food across the European Union, now consolidated in Commission Regulation (EU) 2023/915. Unlike EFSA’s advisory guidance, these are enforceable concentration limits (mg/kg in a specified food): product exceeding them cannot lawfully be placed on the EU market. The Commission sets the limits; EFSA provides the underlying science.
Mandate & scope
The European Commission holds the legislative power to set binding food-contaminant limits for the EU, exercised on the scientific basis of EFSA opinions and through comitology with the Member States. Its maximum levels for lead, cadmium, mercury, inorganic arsenic, and tin are now consolidated in Regulation (EU) 2023/915, which in 2023 replaced the earlier framework Regulation (EC) No 1881/2006 and its amendments (several of which the Index still tracks as superseded). The Commission progressively tightens these limits — successive 2021 amendments lowered lead and cadmium levels for cereals and infant foods — under an ALARA (“as low as reasonably achievable”) policy. For nickel it moved within 2024 from a monitoring recommendation (2024/907) to binding maximum levels (Regulation (EU) 2024/1987). These limits are the enforceable floor in the EU; product above them is non-compliant.
Positions across metals
| Metal | Type | Value | Instrument | Effective | Status |
|---|---|---|---|---|---|
| Lead | Maximum level | multiple — see instrument | Lead Maximum Levels for Infant and Young-Child Foods | — | in-force |
| Lead | Maximum level | see instrument | EU Regulation 2023 915 maximum levels for contamin… | — | maximum levels |
| Lead | Maximum level | multiple — see instrument | Commission Regulation | 2002 | superseded |
| Lead | Directive | multiple — see instrument | eu-directive-2002-32-animal-feed-heavy-metals | 2002 | active |
| Lead | Maximum level | see instrument | Commission Regulation | 2007 | superseded |
| Lead | — | see instrument | specific migration limits for metals | 2011 | active |
| Lead | — | multiple — see instrument | eu-rohs-2011-heavy-metals-homogeneous-materials | 2011 | active |
| Lead | Directive | see instrument | element migration limits | 2013 | active |
| Lead | — | multiple — see instrument | eu-reach-2015-628-lead-mouthable-articles | 2015 | active |
| Lead | — | multiple — see instrument | eu-fertilising-products-heavy-metal-limits-2019 | 2019 | active |
| Lead | — | multiple — see instrument | eu-reach-2018-1513-cmr-textiles | 2020 | active |
| Lead | Directive | multiple — see instrument | eu-2020-2184-drinking-water | 2021 | active |
| Lead | Maximum level | 0.2 mg/kg wet weight | Lead maximum level for cereals and pulses | 2021 | superseded |
| Lead | — | multiple — see instrument | eu-reach-2020-2081-tattoo-ink-metal-limits | 2022 | active |
| Lead | — | multiple — see instrument | eu-batteries-2023-heavy-metal-restrictions | 2023 | active |
| Cadmium | Maximum level | see instrument | Commission Regulation | — | maximum levels |
| Cadmium | Maximum level | see instrument | EU Regulation 2023 915 maximum levels for contamin… | — | maximum levels |
| Cadmium | Maximum level | multiple — see instrument | Commission Regulation | 2002 | superseded |
| Cadmium | Directive | multiple — see instrument | eu-directive-2002-32-animal-feed-heavy-metals | 2002 | active |
| Cadmium | Maximum level | see instrument | Commission Regulation | 2007 | superseded |
| Cadmium | — | see instrument | specific migration limits for metals | 2011 | active |
| Cadmium | — | multiple — see instrument | eu-rohs-2011-heavy-metals-homogeneous-materials | 2011 | active |
| Cadmium | — | multiple — see instrument | eu-reach-2011-494-cadmium-annex-xvii | 2012 | active |
| Cadmium | Directive | see instrument | element migration limits | 2013 | active |
| Cadmium | — | multiple — see instrument | eu-fertilising-products-heavy-metal-limits-2019 | 2019 | active |
| Cadmium | — | multiple — see instrument | eu-reach-2018-1513-cmr-textiles | 2020 | active |
| Cadmium | Directive | multiple — see instrument | eu-2020-2184-drinking-water | 2021 | active |
| Cadmium | Maximum level | multiple — see instrument | Cadmium maximum levels for cereals | 2021 | superseded |
| Cadmium | — | multiple — see instrument | eu-reach-2020-2081-tattoo-ink-metal-limits | 2022 | active |
| Cadmium | — | multiple — see instrument | eu-batteries-2023-heavy-metal-restrictions | 2023 | active |
| Inorganic arsenic | Maximum level | see instrument | EU Regulation 2023 915 maximum levels for contamin… | — | maximum levels |
| Inorganic arsenic | Maximum level | see instrument | Commission Regulation | 2007 | superseded |
| Inorganic arsenic | — | multiple — see instrument | eu-2015-1006-iAs-rice | 2016 | superseded |
| Inorganic arsenic | — | multiple — see instrument | eu-fertilising-products-heavy-metal-limits-2019 | 2019 | active |
| Inorganic arsenic | Maximum level | multiple — see instrument | eu-2025-1891-inorganic-arsenic-fish-seafood | 2025 | active |
| Total arsenic | Maximum level | see instrument | EU Regulation 2023 915 maximum levels for contamin… | — | maximum levels |
| Total arsenic | Directive | multiple — see instrument | eu-directive-2002-32-animal-feed-heavy-metals | 2002 | active |
| Total arsenic | — | see instrument | specific migration limits for metals | 2011 | active |
| Total arsenic | Directive | see instrument | element migration limits | 2013 | active |
| Total arsenic | — | multiple — see instrument | eu-fertilising-products-heavy-metal-limits-2019 | 2019 | active |
| Total arsenic | — | multiple — see instrument | eu-reach-2018-1513-cmr-textiles | 2020 | active |
| Total arsenic | Directive | multiple — see instrument | eu-2020-2184-drinking-water | 2021 | active |
| Total arsenic | — | multiple — see instrument | eu-reach-2020-2081-tattoo-ink-metal-limits | 2022 | active |
| Total arsenic | Maximum level | multiple — see instrument | eu-2025-1891-inorganic-arsenic-fish-seafood | 2025 | active |
| Total mercury | Maximum level | see instrument | EU Regulation 2023 915 maximum levels for contamin… | — | maximum levels |
| Total mercury | Maximum level | multiple — see instrument | Commission Regulation | 2002 | superseded |
| Total mercury | Directive | multiple — see instrument | eu-directive-2002-32-animal-feed-heavy-metals | 2002 | active |
| Total mercury | Maximum level | see instrument | Commission Regulation | 2007 | superseded |
| Total mercury | — | see instrument | specific migration limits for metals | 2011 | active |
| Total mercury | — | multiple — see instrument | eu-rohs-2011-heavy-metals-homogeneous-materials | 2011 | active |
| Total mercury | Directive | see instrument | element migration limits | 2013 | active |
| Total mercury | MRL | 0.01 mg/kg as mercury | eu-reg-2018-73-mercury-compounds-mrls | 2018 | finalized |
| Total mercury | — | multiple — see instrument | eu-fertilising-products-heavy-metal-limits-2019 | 2019 | active |
| Total mercury | Directive | multiple — see instrument | eu-2020-2184-drinking-water | 2021 | active |
| Total mercury | — | multiple — see instrument | eu-reach-2020-2081-tattoo-ink-metal-limits | 2022 | active |
| Total mercury | Maximum level | multiple — see instrument | eu-reg-2022-617-mercury-fish | 2022 | finalized |
| Total mercury | — | multiple — see instrument | eu-batteries-2023-heavy-metal-restrictions | 2023 | active |
| Methylmercury | Maximum level | see instrument | Commission Regulation | 2007 | superseded |
| Nickel | Directive | see instrument | EU Nickel Directive 94 27 EC | — | historical-as-described-in-source |
| Nickel | Maximum level | see instrument | EU Regulation 2023 915 maximum levels for contamin… | — | maximum levels |
| Nickel | — | see instrument | specific migration limits for metals | 2011 | active |
| Nickel | Directive | see instrument | element migration limits | 2013 | active |
| Nickel | — | multiple — see instrument | eu-fertilising-products-heavy-metal-limits-2019 | 2019 | active |
| Nickel | Directive | multiple — see instrument | eu-2020-2184-drinking-water | 2021 | active |
| Nickel | — | multiple — see instrument | eu-reach-2020-2081-tattoo-ink-metal-limits | 2022 | active |
| Nickel | Monitoring | monitoring recommendation | Commission Recommendation | 2024 | in-force |
| Nickel | Maximum level | 0.10–40 mg/kg | maximum levels of nickel in certain foodstuffs | 2024 | in-force |
| Aluminium | — | see instrument | specific migration limits for metals | 2011 | active |
| Aluminium | Directive | see instrument | element migration limits | 2013 | active |
| Aluminium | Directive | multiple — see instrument | eu-2020-2184-drinking-water | 2021 | active |
| Hexavalent chromium | — | multiple — see instrument | eu-rohs-2011-heavy-metals-homogeneous-materials | 2011 | active |
| Hexavalent chromium | Directive | see instrument | element migration limits | 2013 | active |
| Hexavalent chromium | — | 3000 mg/kg | eu-reach-2014-301-chromium-vi-leather | 2015 | active |
| Hexavalent chromium | — | multiple — see instrument | eu-fertilising-products-heavy-metal-limits-2019 | 2019 | active |
| Hexavalent chromium | — | multiple — see instrument | eu-reach-2018-1513-cmr-textiles | 2020 | active |
| Hexavalent chromium | — | multiple — see instrument | eu-reach-2020-2081-tattoo-ink-metal-limits | 2022 | active |
| Tin | Maximum level | see instrument | EU Regulation 2023 915 maximum levels for contamin… | — | maximum levels |
| Tin | Maximum level | see instrument | Commission Regulation | 2007 | superseded |
| Tin | — | see instrument | organotin compounds in skin-contact and childcare… | 2012 | active |
| Tin | Directive | see instrument | element migration limits | 2013 | active |
| Antimony | — | see instrument | specific migration limits for metals | 2011 | active |
| Antimony | Directive | see instrument | element migration limits | 2013 | active |
| Antimony | Directive | multiple — see instrument | eu-2020-2184-drinking-water | 2021 | active |
| Antimony | — | multiple — see instrument | eu-reach-2020-2081-tattoo-ink-metal-limits | 2022 | active |
| Cr-total | — | see instrument | specific migration limits for metals | 2011 | active |
| multiple (Annex II prohibits Pb, Cd, As, Hg, Sb, Be, Cr and their compounds as ingredients) | Maximum level | see instrument | prohibited-substance framework | 2013 | enforced |
| Cr-total | Directive | multiple — see instrument | eu-2020-2184-drinking-water | 2021 | active |
Where it diverges
The Commission’s maximum levels are binding concentration limits in specific foods and are not comparable with EFSA’s or JECFA’s intake-based guidance — though they and FDA’s action levels both express concentrations (mg/kg vs ppb) and can be compared food-by-food where the matrices match. The EU’s infant-food lead limits are among the tightest in force globally; where they sit below US FDA action levels for comparable categories, the gap reflects the EU’s more precautionary, binding posture rather than a different toxicological basis.
Cr-total
| Body | Type | Value | Instrument |
|---|---|---|---|
| EC | Directive | multiple — see instrument | eu-2020-2184-drinking-water |
| EC | — | see instrument | specific migration limits for metals |
| FDA | — | multiple — see instrument | 21cfr-73-color-additive-metal-specifications |
| FDA | — | multiple — see instrument | 21cfr-74-certified-color-additive-metal-specificat… |
multiple (Annex II prohibits Pb, Cd, As, Hg, Sb, Be, Cr and their compounds as ingredients)
No other tracked body sets a position for multiple (annex ii prohibits pb, cd, as, hg, sb, be, cr and their compounds as ingredients); EC is the only one in the index.
Lead
Cadmium
Inorganic arsenic
| Body | Type | Value | Instrument |
|---|---|---|---|
| EC | Maximum level | see instrument | EU Regulation 2023 915 maximum levels for contamin… |
| EC | — | multiple — see instrument | eu-fertilising-products-heavy-metal-limits-2019 |
| EC | Maximum level | multiple — see instrument | eu-2025-1891-inorganic-arsenic-fish-seafood |
| EC | — | multiple — see instrument | eu-2015-1006-iAs-rice |
| EC | Maximum level | see instrument | Commission Regulation |
| JECFA | BMDL | see instrument | JECFA inorganic arsenic BMDL₀.₅ |
| EFSA | BMDL (no threshold) | no numeric threshold (BMDL basis) | Arsenic in Food |
| FDA | Action level | 100 ppb | FDA Closer to Zero — 100 ppb Inorganic Arsenic Act… |
| FDA | Action level | 10 ppb | 10 ppb Inorganic Arsenic Action Level for Apple Ju… |
| US EPA | MCL (water) | 10 ppb | Maximum Contaminant Level for Arsenic in Drinking… |
| US EPA | — | value pending | EPA IRIS — Inorganic Arsenic Toxicological Review |
| OEHHA | Prop 65 | value pending | Inorganic Arsenic Compounds Listing |
Total arsenic
| Body | Type | Value | Instrument |
|---|---|---|---|
| EC | Maximum level | see instrument | EU Regulation 2023 915 maximum levels for contamin… |
| EC | — | multiple — see instrument | eu-reach-2020-2081-tattoo-ink-metal-limits |
| EC | — | multiple — see instrument | eu-reach-2018-1513-cmr-textiles |
| EC | — | multiple — see instrument | eu-fertilising-products-heavy-metal-limits-2019 |
| EC | Directive | multiple — see instrument | eu-directive-2002-32-animal-feed-heavy-metals |
| EC | Maximum level | multiple — see instrument | eu-2025-1891-inorganic-arsenic-fish-seafood |
| EC | Directive | multiple — see instrument | eu-2020-2184-drinking-water |
| EC | Directive | see instrument | element migration limits |
| EC | — | see instrument | specific migration limits for metals |
| FDA | — | multiple — see instrument | 21cfr-73-color-additive-metal-specifications |
| FDA | — | multiple — see instrument | 21cfr-74-certified-color-additive-metal-specificat… |
Total mercury
Methylmercury
| Body | Type | Value | Instrument |
|---|---|---|---|
| EC | Maximum level | see instrument | Commission Regulation |
| JECFA | PTWI | 1.6 µg/kg bw/week | Methylmercury Provisional Tolerable Weekly Intake |
| EFSA | TWI | 1.3 µg/kg bw/week | Methylmercury Tolerable Weekly Intake |
| FDA | Action level | 1 ppm methyl mercury expressed as mercury | FDA CPG Sec. 540.600 Fish |
| US EPA | Oral RfD | 0.1 µg/kg bw/day | EPA IRIS — Methylmercury Oral Reference Dose |
Nickel
| Body | Type | Value | Instrument |
|---|---|---|---|
| EC | Maximum level | see instrument | EU Regulation 2023 915 maximum levels for contamin… |
| EC | — | multiple — see instrument | eu-reach-2020-2081-tattoo-ink-metal-limits |
| EC | Directive | see instrument | EU Nickel Directive 94 27 EC |
| EC | — | multiple — see instrument | eu-fertilising-products-heavy-metal-limits-2019 |
| EC | Monitoring | monitoring recommendation | Commission Recommendation |
| EC | Maximum level | 0.10–40 mg/kg | maximum levels of nickel in certain foodstuffs |
| EC | Directive | multiple — see instrument | eu-2020-2184-drinking-water |
| EC | Directive | see instrument | element migration limits |
| EC | — | see instrument | specific migration limits for metals |
| EFSA | TDI | 13 µg/kg bw/day | Nickel Tolerable Daily Intake |
| FDA | — | multiple — see instrument | 21cfr-73-color-additive-metal-specifications |
| OEHHA | Prop 65 | listed-no-safe-harbor none | Nickel Listings |
Aluminium
| Body | Type | Value | Instrument |
|---|---|---|---|
| EC | Directive | multiple — see instrument | eu-2020-2184-drinking-water |
| EC | Directive | see instrument | element migration limits |
| EC | — | see instrument | specific migration limits for metals |
| EFSA | TWI | 1 mg/kg bw/week | Aluminium Tolerable Weekly Intake |
| FDA | — | multiple — see instrument | 21cfr-73-color-additive-metal-specifications |
| ATSDR | MRL | 1 mg/kg bw/day | Minimal Risk Levels for Aluminum |
Hexavalent chromium
| Body | Type | Value | Instrument |
|---|---|---|---|
| EC | — | multiple — see instrument | eu-rohs-2011-heavy-metals-homogeneous-materials |
| EC | — | multiple — see instrument | eu-reach-2020-2081-tattoo-ink-metal-limits |
| EC | — | multiple — see instrument | eu-reach-2018-1513-cmr-textiles |
| EC | — | 3000 mg/kg | eu-reach-2014-301-chromium-vi-leather |
| EC | — | multiple — see instrument | eu-fertilising-products-heavy-metal-limits-2019 |
| EC | Directive | see instrument | element migration limits |
| OEHHA | Prop 65 | 8.2 µg/day oral MADL | Hexavalent Chromium Listing and Safe-Harbor Levels |
Tin
| Body | Type | Value | Instrument |
|---|---|---|---|
| EC | Maximum level | see instrument | EU Regulation 2023 915 maximum levels for contamin… |
| EC | — | see instrument | organotin compounds in skin-contact and childcare… |
| EC | Directive | see instrument | element migration limits |
| EC | Maximum level | see instrument | Commission Regulation |
| Codex | Maximum level | multiple — see instrument | 1995 - Tin maximum levels for canned foods |
| FDA | — | multiple — see instrument | 21cfr-73-color-additive-metal-specifications |
Antimony
| Body | Type | Value | Instrument |
|---|---|---|---|
| EC | — | multiple — see instrument | eu-reach-2020-2081-tattoo-ink-metal-limits |
| EC | Directive | multiple — see instrument | eu-2020-2184-drinking-water |
| EC | Directive | see instrument | element migration limits |
| EC | — | see instrument | specific migration limits for metals |
| FDA | — | multiple — see instrument | 21cfr-73-color-additive-metal-specifications |
Update log
| Date | Event | Instrument | Status |
|---|---|---|---|
| 2002-04-05 | Superseded basis | Commission Regulation | superseded |
| 2002-05-07 | Issued / in force | eu-directive-2002-32-animal-feed-heavy-metals | active |
| 2007-03-01 | Superseded basis | Commission Regulation | superseded |
| 2007-03-01 | Superseded / sunset | Commission Regulation | superseded |
| 2011-05-01 | Issued / in force | specific migration limits for metals | active |
| 2011-06-08 | Issued / in force | eu-rohs-2011-heavy-metals-homogeneous-materials | active |
| 2012-01-01 | Issued / in force | organotin compounds in skin-contact and childcare… | active |
| 2012-01-10 | Issued / in force | eu-reach-2011-494-cadmium-annex-xvii | active |
| 2013-07-11 | Issued / in force | prohibited-substance framework | enforced |
| 2013-07-20 | Issued / in force | element migration limits | active |
| 2015-05-01 | Issued / in force | eu-reach-2014-301-chromium-vi-leather | active |
| 2015-05-13 | Issued / in force | eu-reach-2015-628-lead-mouthable-articles | active |
| 2016-01-01 | Superseded basis | eu-2015-1006-iAs-rice | superseded |
| 2018-02-07 | Issued / in force | eu-reg-2018-73-mercury-compounds-mrls | finalized |
| 2019-07-14 | Issued / in force | eu-fertilising-products-heavy-metal-limits-2019 | active |
| 2020-11-01 | Issued / in force | eu-reach-2018-1513-cmr-textiles | active |
| 2021-01-12 | Issued / in force | eu-2020-2184-drinking-water | active |
| 2021-08-30 | Superseded basis | Lead maximum level for cereals and pulses | superseded |
| 2021-08-31 | Superseded basis | Cadmium maximum levels for cereals | superseded |
| 2022-01-04 | Issued / in force | eu-reach-2020-2081-tattoo-ink-metal-limits | active |
| 2022-05-03 | Issued / in force | eu-reg-2022-617-mercury-fish | finalized |
| 2023-05-24 | Superseded / sunset | Lead maximum level for cereals and pulses | superseded |
| 2023-05-24 | Superseded / sunset | Cadmium maximum levels for cereals | superseded |
| 2023-05-25 | Superseded / sunset | Commission Regulation | superseded |
| 2023-05-25 | Superseded / sunset | eu-2015-1006-iAs-rice | superseded |
| 2023-08-17 | Issued / in force | eu-batteries-2023-heavy-metal-restrictions | active |
| 2024-03-22 | Issued / in force | Commission Recommendation | in-force |
| 2024-07-30 | Issued / in force | maximum levels of nickel in certain foodstuffs | in-force |
| 2025-10-08 | Issued / in force | eu-2025-1891-inorganic-arsenic-fish-seafood | active |
Key documents
References
Positions, the update log, and key documents above are generated from the per-instrument regulation pages this body issues, via tools/build-regulator-pages.mjs. The wiki reports what EC has published; it does not endorse it. See the wiki/HMTc separation policy for why reporting regulatory values is kept architecturally separate from certification threshold-setting.
Update history
This page has no substantive edit history yet. Future revisions will be recorded here once the change lands in git.