Last reviewed: July 2026

EU vs US nutrition labels: the differences that trip people up

The two systems disagree on three things that matter: the reference amount, how carbohydrate is defined, and how salt is expressed. An EU panel is mandatory per 100 g and excludes fibre from the carbohydrate figure. A US Nutrition Facts panel is mandatory per serving, includes fibre inside total carbohydrate, and prints sodium in milligrams rather than salt in grams. The same food can therefore carry two different, equally correct carbohydrate numbers, which is where most cross-border confusion begins.

Reference amount
EU per 100 g, US per serving.
Carbohydrate
EU excludes fibre, US includes it.
Salt line
EU salt in g, US sodium in mg.

The differences, side by side

ElementEuropean UnionUnited States
Mandatory referencePer 100 g or 100 mlPer serving, based on a regulator-set reference amount
Optional second columnPer portion, if the portion is statedPer 100 g, or a dual column for packs holding one to two servings
Energy unitsKilojoules and kilocalories, both requiredCalories only
CarbohydrateExcludes fibreTotal carbohydrate includes fibre and sugar alcohols
SugarsTotal sugars onlyTotal sugars plus a separate added sugars line
FibreVoluntaryMandatory
Salt and sodiumSalt in gramsSodium in milligrams
MicronutrientsVoluntary, with percent of nutrient reference valuesVitamin D, calcium, iron and potassium mandatory, with percent daily value
Reference intake basis2,000 kcal adult reference intake2,000 calorie daily value

The carbohydrate trap

This one causes real errors. Take a food with 75 g of carbohydrate and 11 g of fibre per 100 g, like the Kashi Vanilla Almond cereal in this database. Written to EU rules, the carbohydrate line reads 75 g and fibre sits on its own line beneath. Written to US rules, total carbohydrate would read 86 g with 11 g of that broken out as dietary fibre. Nothing about the food changed. If you copy a US carbohydrate figure into a European tracker, or the reverse, you introduce an error equal to the fibre content, which is exactly why net carbs are calculated differently on either side of the Atlantic. See what net carbs are for the arithmetic.

Salt against sodium

Multiply sodium in grams by 2.5 to get salt, or divide salt by 2.5 to get sodium. A US panel showing 643 mg of sodium per 100 g, as on these extra sharp cheddar slices, is declaring 1.6 g of salt per 100 g. The conversion is exact and the reason for it is chemistry: table salt is sodium chloride, and sodium makes up about 40 percent of it by weight. The full explanation is in sodium versus salt.

Serving sizes are regulated in one system and not the other

The United States sets reference amounts customarily consumed for each food category, revised in the 2016 label update to reflect how people actually eat, and requires a dual column when a package holds between one and two servings. The European Union sets no portion sizes at all: the per 100 g column is the mandatory one, and any portion column is the manufacturer's choice. Neither approach stops a flattering serving from appearing, as covered in serving-size games, but only one of them makes the flattering column the legally required one.

Added sugars exist on only one panel

Since the 2016 update, US labels declare added sugars separately with a percent daily value. EU labels declare total sugars and stop there, so a European shopper cannot tell from the panel alone whether the sugars in a yogurt came from the milk or from a syrup. The ingredient list is the workaround, since ingredients appear in descending order by weight. The distinction and its limits are covered in added sugar versus natural sugar.

What this means if you are building software

Field names lie across jurisdictions. A field called carbohydrates sourced from a US label is not the same quantity as a field called carbohydrates sourced from an EU label, and merging the two without a fibre adjustment silently corrupts the data. The practical rules are to store the reference basis alongside every value, normalise to per 100 g on ingest, keep sodium in milligrams internally and derive salt for display, and treat a missing fibre value as unknown rather than as zero. Dietly normalises incoming rows to per 100 g for this reason, and returns sodium in milligrams through the API regardless of which panel the row originated from. You can see the normalised result on any product page, such as this plain Greek nonfat yogurt or these sardines in spring water.

Bottom line

Per 100 g against per serving, fibre outside carbohydrate against fibre inside it, salt in grams against sodium in milligrams, and added sugars on one panel only. Convert deliberately rather than by eye, and when comparing two products from different markets, put both on a per 100 g basis first.

Sources

Common questions

What is the main difference between EU and US nutrition labels?

The reference amount. EU panels must declare values per 100 g or 100 ml, while US panels must declare them per serving. The EU also excludes fibre from carbohydrate, whereas the US includes it in total carbohydrate.

Why do EU and US labels show different carbohydrate values for the same food?

Because US total carbohydrate includes dietary fibre and sugar alcohols, while the EU carbohydrate line excludes fibre. A food with 75 g of carbohydrate and 11 g of fibre per 100 g in the EU would show 86 g of total carbohydrate in the US.

How do I convert sodium to salt?

Multiply sodium in grams by 2.5. A US label declaring 643 mg of sodium per 100 g is declaring about 1.6 g of salt per 100 g.

Do EU labels show added sugars?

No. EU panels declare total sugars only. US panels have declared added sugars separately since the 2016 label update. In the EU the ingredient list, ordered by weight, is the only clue.