91³Ô¹ÏÍø

Watch CBS News

Kraft Heinz says it will remove artificial dyes from its U.S. products by the end of 2027

Kraft Heinz will remove artificial dyes from its products sold in the U.S. by the end of 2027, the company Tuesday. The multinational food company also said it will stop making new products that contain these dyes, effective immediately.

Kraft Heinz, the manufacturer of foods such as Jell-O, Capri Sun and Kool-Aid, said in an online that 10% of its products contain the dyes and that it has invested in removing the colors or replacing them with natural colors. 

Kraft Heinz replaced artificial dyes in its Kraft Mac & Cheese product in 2016, while some other products, including Heinz Tomato Ketchup, have never had dyes, the company said. Kraft Heinz's announcement comes amid a push from U.S. Department of Health and Human Services Secretary Robert F. Kennedy Jr. to root out artificial dyes from the nation's food supply and instead replace them with natural dyes. 

"The vast majority of our products use natural or no colors, and we've been on a journey to reduce our use of FD&C (Food, Drug & Cosmetic) colors across the remainder of our portfolio," said Pedro Navio, North America president at Kraft Heinz in the company's statement. 

Over 200 brands are manufactured by Kraft Heinz, which is headquartered in Chicago, Illinois. 

While Kraft Heinz did not share full list of items that currently contain artificial dyes, a spokesperson for the company told CBS MoneyWatch in an email that many of the products are in its beverages and desserts portfolios, "including certain products sold under brands like Crystal Light, Kool Aid, Jell-O and Jet Puffed," they said.

The push to end synthetic dyes

In April, the U.S. Food and Drug Administration and the HHS asked the food industry to stop using synthetic food dyes.

"For too long, some food producers have been feeding Americans petroleum-based chemicals without their knowledge or consent," Kennedy said at the time.

The agencies, however, have stopped short of introducing an all-out ban — something Kennedy floated as part of his "Make America Healthy Again" platform while on the campaign trail.

The FDA currently allows 36 food color additives, including eight synthetic dyes. The dyes are used heavily in U.S. products, although certain states, including California and West Virginia, have enacted bans to restrict their use.

FDA commissioner Marty Makary said at a news conference in April the agency is working to eliminate synthetic dyes by the end of 2026, although whether that happens will depend on voluntary efforts from the food industry.

View CBS News In
CBS News App Open
Chrome Safari Continue
const link = doc.createElement('link'); link.rel = 'stylesheet'; link.href = '/fly/fly/bundles/cbsnewscontent/css/cmp-banner.min.css?v=fd53910ecf4604072044ab7c46d9b028'; doc.head.appendChild(link); doc.body.innerHTML = CONSENT_MESSAGE; } else { el.insertAdjacentHTML('afterend', CONSENT_MESSAGE); } }); } function hidePrivacyMessage() { // Remove from the main document document.querySelectorAll(`.${CONSENT_MESSAGE_CLASS}`).forEach(el => el.remove()); // Remove from inside any iframes document.querySelectorAll('iframe').forEach(iframe => { const doc = iframe.contentDocument || iframe.contentWindow.document; doc.querySelectorAll(`.${CONSENT_MESSAGE_CLASS}`).forEach(el => el.remove()); }); } function activateGatedScripts() { // Handle both new format (cmp-gated-script) and old OneTrust/Ketch format (optanon-category-4) const gatedScripts = Array.from(document.querySelectorAll('script.cmp-gated-script, script.optanon-category-4')); // Activate scripts sequentially with a small delay to avoid timing issues let delay = 0; gatedScripts.forEach(function(placeholder, index) { setTimeout(function() { // Skip if already processed if (placeholder.hasAttribute('data-cmp-processed')) { return; } placeholder.setAttribute('data-cmp-processed', 'true'); const newScript = document.createElement('script'); newScript.type = 'text/javascript'; // Try new format first (data-cmp-src), then fall back to old format (data-src) const src = placeholder.getAttribute('data-cmp-src') || placeholder.getAttribute('data-src'); if (src) { newScript.src = src; } else if (placeholder.textContent) { // Inline script - just copy the content newScript.textContent = placeholder.textContent; } // Handle new format attributes (data-cmp-attrs) - for both inline and external scripts const attrs = placeholder.getAttribute('data-cmp-attrs'); if (attrs) { const tempDiv = document.createElement('div'); tempDiv.innerHTML = '
<\/div>'; const tempAttrs = tempDiv.firstChild.attributes; for (let i = 0; i < tempAttrs.length; i++) { // For external scripts, allow defer/async. For inline scripts, skip them (not valid) if (src || (tempAttrs[i].name !== 'async' && tempAttrs[i].name !== 'defer')) { newScript.setAttribute(tempAttrs[i].name, tempAttrs[i].value); } } } // Copy other attributes from old OneTrust format for (let i = 0; i < placeholder.attributes.length; i++) { const attr = placeholder.attributes[i]; // Skip attributes we've already handled or don't want to copy if (!['class', 'data-src', 'data-type', 'data-cmp-src', 'data-cmp-attrs', 'data-cmp-processed', 'type', 'async', 'defer', 'src'].includes(attr.name)) { newScript.setAttribute(attr.name, attr.value); } } placeholder.parentNode.replaceChild(newScript, placeholder); // If external script, manually trigger window.onload handlers after it loads // This handles widgets that use window.onload for initialization if (src) { newScript.addEventListener('load', function() { // If page already loaded and script set a new onload handler, trigger it if (document.readyState === 'complete' && window.onload) { const originalOnload = window.onload; window.onload = null; // Clear temporarily to prevent loops originalOnload(); // Execute the handler } }); } }, delay); delay += 500; // 500ms delay between each script to allow full loading }); } cbsoptanon.onScriptsReady(function(cmp) { cmp.ot.targetingAllowed(function(allowed) { if (!allowed) { showPrivacyMessage(); } else { activateGatedScripts(); } }); cmp.ot.awaitInitialConsent(function(consent_model) { cmp.ot.addOnConsentChangedHandler(function() { cmp.ot.targetingAllowed(function(allowed) { if (allowed) { hidePrivacyMessage(); activateGatedScripts(); } else { showPrivacyMessage(); } }); }); }); });