González-Torres et al. 2023 — Comparative review of heavy metals in edible vegetable oils (2015–2022)
This review synthesizes the scientific literature (2015–2022) on the presence of heavy metals in edible vegetable oils, analyzing more than 25 metals across 35 different oil types from 24 countries. The most studied oils are olive (14.36%), sunflower (13.81%), rapeseed (9.94%), and corn (9.94%); the most studied metals are Cd (14.60%), Pb (12.41%), Cu (12.04%), and Fe (9.49%). A key regulatory finding: cadmium, the most analyzed metal in this matrix, had no specific international regulatory limit for edible vegetable oils in the reviewed regulation set, despite high values reported in some reviewed primary studies. The review also highlights antimony (Sb) in PET-packaged edible oils as an emerging migration question.
Key numbers
Countries with most studies: Brazil 17.19%, Turkey 15.63%, China 10.94%, Iran 9.38%, India 6.25% (Figure 1).
Most studied oil types by frequency: olive oil 14.36%, sunflower oil 13.81%, rapeseed oil 9.94%, corn oil 9.94%.
Most studied metals by frequency: Cd 14.60%, Pb 12.41%, Cu 12.04%, Fe 9.49%.
Analytical techniques: ICP-OES/ICP-AES 25.00%, FAAS 17.65%, ICP-MS 16.18%, GF-AAS 14.71%.
Selected concentration data from cited primary studies (ranges or average values, mg/kg):
Cadmium (Cd):
- Chinese rapeseed oil: 0.88 mg/kg (ICP-OES)
- Iranian/Italian olive oil: 0.396–4.181 mg/kg (ICP-OES)
- Indian sunflower oil: up to 0.54 mg/kg
- Turkish olive oil: 0.026–0.097 mg/kg
- Iranian oils (olive, rapeseed, corn, sesame, sunflower): 0.090–0.100 mg/kg
Lead (Pb):
- Regulatory limit (Codex, EU 2021/1317, Spain RD 308/1983): 0.10 mg/kg for edible vegetable oils
- Iran/Italy olive oil: 8.546–18.783 mg/kg (ICP-OES) — greatly exceeds limit
- Pakistan olive oil: 1.321–7.249 mg/kg (FAAS)
- Pakistani rapeseed oil: 1.301–6.765 mg/kg
- Chinese rapeseed oil: 1.96 mg/kg
- Cypriot olive oil: 0.15–1.48 mg/kg (ICP-MS)
- UK sunflower oil: 0.274 mg/kg; UK rapeseed oil: 0.181 mg/kg; UK coconut oil: 0.158 mg/kg; UK olive oil: 0.143 mg/kg (all FAAS)
- Iranian oils (various): 0.092–0.100 mg/kg (near limit)
Copper (Cu):
- Spanish (Chinese export) limit for olive oil: 0.1 mg/kg; Spanish limit for others: 0.4 mg/kg
- Cypriot olive oil: 1.02–3.81 mg/kg (ICP-MS) — greatly exceeds limit
- Ukrainian olive oil: 0.355 mg/kg
- Brazilian soybean oil: 0.83 mg/kg; Brazilian rapeseed and sunflower oil: 0.81 mg/kg
Iron (Fe):
- No specific toxicological limit; Codex quality criteria: refined 1.5 mg/kg, virgin 5.0 mg/kg
- Saudi olive oil: up to 7.861 mg/kg (above Chinese 3.0 mg/kg export limit)
- Chinese walnut oil: up to 11.2 mg/kg (above Spanish 10 mg/kg limit)
Antimony (Sb):
- EU migration limit from plastic materials (food contact): 0.04 mg/kg
- Turkish walnut, sweet almond, soybean, bitter almond, coconut oils in PET: 1.02–1.66 mg/kg (ICP-OES) — greatly exceeds migration limit
- Italian extra virgin olive oil in PET: 7×10⁻⁵–4.50×10⁻⁴ mg/kg (ICP-MS)
Detection limits (selected): GF-AAS achieves lowest LODs — Cd 2.00×10⁻⁶ mg/kg, Pb 2.00×10⁻⁵ mg/kg in olive/sunflower/corn oils. ICP-OES LOD for Cd: 6×10⁻⁵ mg/kg (rapeseed).
Methods (brief)
Systematic literature review of edible vegetable oils for consumption, 2015–2022 publications, and concentration data for at least one heavy metal. Excluded: crude/virgin oils unfit for consumption, fish oils, algae oils, and other out-of-scope oil matrices. For the Table 1 sensitivity comparison, articles without reported detection limits were removed before selecting the most sensitive techniques. Regulatory comparison uses: Codex Alimentarius (CX-A), WHO, EFSA, EU Regulation 2021/1317 (Pb), EU Regulation 2021/1323 (Cd), China GB/T23347-2021 (olive oil export), and Spain RD 308/1983.
Implications
-
Certification (HMTc): Provides review-level context for Pb, Cd, Cu, Fe, and Sb occurrence in edible vegetable oils and identifies regulation gaps the authors saw in the 2015–2022 literature set. Use the cited primary studies, not this review-level table alone, for source-specific occurrence calculations.
-
Courses: Excellent reference for teaching the analytical technique landscape (ICP-OES vs. FAAS vs. GF-AAS vs. ICP-MS), regulatory patchwork, and the PET/antimony migration issue.
-
App: The compilation of literature ranges across 35 oil types and 24 countries is valuable for broad contextual framing but not for point-estimate ingredient contamination profiles; individual primary studies cited in the review are the appropriate source for specific values.
Wiki pages this source may touch
- olive-oil
- sunflower-oil
- corn-oil
- rapeseed-oil
- vegetable-oils
- olive-oil
- cooking-oils-other
- lead
- cadmium
- antimony
- copper
- iron
- nickel
Verification notes
- 2026-05-17 Codex merge-enhance: identity checked against DOI 10.3390/app13053020 and the manual-fetch PDF at the updated
raw_path; corrected legacyraw_handle/truncated path, added product routes for olive oil and other cooking oils, replaced rounded study-frequency percentages with the source’s exact values, and corrected the Pb country attribution so 8.546–18.783 mg/kg is Iran/Italy olive oil while Pakistan olive oil is 1.321–7.249 mg/kg (Table 4). edible-oil,olive-oil,sunflower-oil,corn-oil, andrapeseed-oilare source-specific matrix descriptors used for routing/context; ingredient and product declarations use existing wiki slugs.- The source discusses Codex named-vegetable-oil limits, Commission Regulation (EU) 2021/1317 for lead, Commission Regulation (EU) 2021/1323 for cadmium, GB/T23347-2021, and Spain RD 308/1983, but no exact regulation pages exist for several of those identifiers in the current wiki taxonomy. Surface these as regulation-page candidates rather than inventing slugs.
- 2026-05-18 Cross-vendor audit (Codex) corrected Methods wording: detection-limit reporting is the Table 1 sensitivity-comparison filter, not a whole-review inclusion criterion, per pp. 2 and 5–6 of the PDF. Added the missing
[[metals/nickel]]touch-link to match the frontmatter and source discussion of Ni among the reviewed metals.
Page history
The five most recent substantive edits to this page. The full version history lives in git; when DOI minting comes online (see schema docs), each entry below will also link to a version-pinned DataCite DOI.
| Commit | Date | Description |
|---|---|---|
| b0f3d38 | 2026-06-12 | batch | corpus rescreen b04 old terminal skips |