EU nutrition label generator by
country and language
Choose the EU country you're selling in and its language, enter values or a recipe, and get the nutrition declaration per 100 g in the order Regulation (EU) No 1169/2011 sets out.
Per 100 g nutrition declarations in the language you need.
The sample’s serving is set for European Union; the maker asks you to check it for this market.
No “High in” symbol needed on the front of pack The product is a fat or oil sold as such (butter, ghee, margarine, vegetable or fish oil).
-
27 member states
Pick the country you sell in. The maker selects the language its national rule asks for.
-
24 official languages
Label terms copied from each language version of Regulation (EU) No 1169/2011.
-
Energy worked out
kJ and kcal from fat, carbohydrate, protein and fibre with the Annex XIV factors.
-
Sized to the x-height rule
Type never below 1.2 mm x-height (0.9 mm on small packs). Exact-size PDF, SVG and PNG.
How it works
-
Step 1: Choose the country
The maker sets the label language from that country’s rule. Add a second language for a multilingual label.
-
Step 2: Add your numbers
Enter values per 100 g, per 100 ml or per serving, build them from a recipe, or copy them from a label you already have.
-
Step 3: Check and download
See what the EU label still needs, then download it at its real size. No sign-up to build. Free account to download.
On this page 10 sections
- Choose the country first
- The mandatory nutrition declaration
- Energy comes from the components
- Carbohydrate means available carbohydrate
- Worked example: extra virgin olive oil
- Table or linear format, and text size
- Allergens in the ingredient list
- Northern Ireland follows these rules
- What we check, and what you still check
- FAQ
Choose the country first
Article 15 of Regulation (EU) No 1169/2011 says mandatory food information must be in a language easily understood by consumers in the member state where the food is sold, and lets each member state require one or more of the official EU languages. So the label language depends on where you sell, not where you make the food.
The maker asks for the member state first and selects the language(s) its rule asks for. You can add more. Of the 27 national rules, 22 were read in the national law. For Austria, Cyprus, Luxembourg, Portugal and Romania the rule could not be confirmed from the national text, so labels for those countries show Needs review until it is.
| Member state | Language rule | The maker selects | Where the rule comes from | Make a label |
|---|---|---|---|---|
| Austria | German | German | Needs review No national rule found; the general EU rule applies | Open for Austria |
| Belgium | A language consumers understand in the region where it is sold: Dutch (Flanders), French (Wallonia), German (German-speaking area); French and Dutch for Brussels or nationwide sale. | Dutch and French | Read in the law Code de droit économique / Wetboek van economisch recht art. VI.8 … | Open for Belgium |
| Bulgaria | Bulgarian | Bulgarian | Read in the law Закон за храните (ДВ бр. 52/2020) чл. 18 | Open for Bulgaria |
| Croatia | Croatian | Croatian | Read in the law Zakon o informiranju potrošača o hrani (NN 56/13, 14/14, 56/16, … | Open for Croatia |
| Cyprus | Greek | Greek | Needs review Only from secondary reports | Open for Cyprus |
| Czechia | Czech | Czech | Read in the law Zákon č. 110/1997 Sb. § 3 odst. 1 písm. e) | Open for Czechia |
| Denmark | Danish | Danish | Read in the law BEK nr 1355 af 27/11/2015 (mærkning m.v. af fødevarer) § 3, stk. 1-2 | Open for Denmark |
| Estonia | Estonian | Estonian | Read in the law Toiduseadus § 38 lg 3 (RT I, 30.06.2026, 136) | Open for Estonia |
| Finland | Finnish and Swedish where food is sold in bilingual municipalities. | Finnish and Swedish | Read in the law Maa- ja metsätalousministeriön asetus elintarviketietojen … | Open for Finland |
| France | French | French | Read in the law Loi n° 94-665 du 4 août 1994 (loi Toubon) art. 2 | Open for France |
| Germany | German | German | Read in the law LMIDV § 2(1)-(2) | Open for Germany |
| Greece | Greek | Greek | Read in the law Κώδικας Τροφίμων και Ποτών άρθρο 11 παρ. 2(α)-(β) (ΑΧΣ 259/2013, … | Open for Greece |
| Hungary | Hungarian | Hungarian | Read in the law 2008. évi XLVI. törvény (Éltv.) 10. § (1) | Open for Hungary |
| Ireland | English, or Irish and English (Irish alone is not enough). | English | Read in the law S.I. No. 556/2014 Reg. 12 | Open for Ireland |
| Italy | Italian | Italian | Read in the law D.Lgs. 206/2005 (Codice del consumo) art. 9 | Open for Italy |
| Latvia | Latvian | Latvian | Read in the law Valsts valodas likums 21. pants (2), (3), (7) | Open for Latvia |
| Lithuania | Lithuanian | Lithuanian | Read in the law Valstybinės kalbos įstatymas Nr. I-779, 17 str. 3 d. (as replaced … | Open for Lithuania |
| Luxembourg | At least one of French, German or Luxembourgish. | French and German | Needs review Only from an official authority notice | Open for Luxembourg |
| Malta | At least one of Maltese, English or Italian (S.L. 449.46 reg. 18). | English | Read in the law S.L. 449.46 Labelling, Presentation and Advertising of Foodstuffs … | Open for Malta |
| Netherlands | Dutch | Dutch | Read in the law Warenwetbesluit informatie levensmiddelen art. 3 (Stb. 2013, 146): … | Open for Netherlands |
| Poland | Polish | Polish | Read in the law Ustawa o bezpieczeństwie żywności i żywienia art. 48 ust. 2-3 … | Open for Poland |
| Portugal | Portuguese | Portuguese | Needs review Only from secondary reports | Open for Portugal |
| Romania | Romanian | Romanian | Needs review Only from secondary reports | Open for Romania |
| Slovakia | Slovak | Slovak | Read in the law Zákon č. 152/1995 Z. z. o potravinách § 9 ods. 1 | Open for Slovakia |
| Slovenia | Slovenian | Slovenian | Read in the law Zakon o javni rabi slovenščine (ZJRS) 15. člen (2)-(3) | Open for Slovenia |
| Spain | Spanish | Spanish | Read in the law Real Decreto 1334/1999 art. 18 (in force) | Open for Spain |
| Sweden | Swedish | Swedish | Read in the law LIVSFS 2014:4 5 § | Open for Sweden |
One label for several countries
A multilingual label can serve several countries if every mandatory particular appears in each required language and the text still meets the minimum size. The maker prints each row in every language you choose (“Energie / Énergie”), with the column headings stacked. In the maker, add each country as its own market: each is checked against its own rule. The olive oil below carries German and French and is Ready for the supported output for both Germany and France.
One label in German and French, laid out by the engine. Two languages make the table wider: compare the single-language labels further down.
The 24 languages the maker prints
The maker prints all 24 official EU languages. Every term below is copied from that language’s version of the Regulation (consolidated text of 1 April 2025), never machine-translated, and every string was checked a second time against the legal text by an independent pass. The German, French, Polish, English, Maltese and Irish terms were also compared with the original 2011 Official Journal. No language has been reviewed by a native-speaking food-labelling expert yet: all six markets are in beta.
The table shows the terms exactly as the maker prints them on a label: the heading, the “per 100 g” column and the eight rows, with the granola’s salt value to show the number style. Numbers use a decimal comma in 21 languages and a point in English, Irish and Maltese, following the EU’s own style guide (a house style, not a labelling rule). Luxembourgish is not printed: it is not an official EU language, and Luxembourg accepts French or German.
| Language | Heading | per 100 g | Energy | Fat | of which saturates | Carbohydrate | of which sugars | Fibre | Protein | Salt |
|---|---|---|---|---|---|---|---|---|---|---|
| Bulgarian Български · 0,37 g | Обявяване на хранителната стойност | в 100 g | Енергийна стойност | Мазнини | от които наситени мастни киселини | Въглехидрати | от които захари | Влакнини | Белтъци | Сол |
| Czech Čeština · 0,37 g | Výživové údaje | na 100 g | Energetická hodnota | Tuky | z toho nasycené mastné kyseliny | Sacharidy | z toho cukry | Vláknina | Bílkoviny | Sůl |
| Danish Dansk · 0,37 g | Næringsdeklaration | pr. 100 g | Energi | Fedt | heraf mættede fedtsyrer | Kulhydrat | heraf sukkerarter | Kostfibre | Protein | Salt |
| German Deutsch · 0,37 g | Nährwertdeklaration | je 100 g | Energie | Fett | davon gesättigte Fettsäuren | Kohlenhydrate | davon Zucker | Ballaststoffe | Eiweiß | Salz |
| Greek Ελληνικά · 0,37 g | Διατροφική δήλωση | ανά 100 g | Ενέργεια | Λιπαρά | εκ των οποίων κορεσμένα | Υδατάνθρακες | εκ των οποίων σάκχαρα | Εδώδιμες ίνες | Πρωτεΐνες | Αλάτι |
| English English · 0.37 g | Nutrition declaration | per 100 g | Energy | Fat | of which saturates | Carbohydrate | of which sugars | Fibre | Protein | Salt |
| Spanish Español · 0,37 g | Información nutricional | por 100 g | Valor energético | Grasas | de las cuales saturadas | Hidratos de carbono | de los cuales azúcares | Fibra alimentaria | Proteínas | Sal |
| Estonian Eesti · 0,37 g | Toitumisalane teave | 100 g kohta * | Energiasisaldus | Rasvad | millest küllastunud rasvhapped | Süsivesikud | millest suhkrud | Kiudained | Valgud | Sool |
| Finnish Suomi · 0,37 g | Ravintoarvoilmoitus | 100 g * | Energia | Rasva | josta tyydyttynyttä | Hiilihydraatit | josta sokereita | Ravintokuitu | Proteiini | Suola |
| French Français · 0,37 g | Déclaration nutritionnelle | pour 100 g | Énergie | Matières grasses | dont acides gras saturés | Glucides | dont sucres | Fibres alimentaires | Protéines | Sel |
| Irish Gaeilge · 0.37 g | Dearbhú cothúcháin | in aghaidh 100 g | Fuinneamh | Saill | arb é atá ann sáitheáin | Carbaihiodráit | arb é atá ann siúcraí | Snáithín | Próitéin | Salann |
| Croatian Hrvatski · 0,37 g | Nutritivna deklaracija | na 100 g | Energija | Masti | od kojih zasićene masne kiseline | Ugljikohidrati | od kojih šećeri | Vlakna | Bjelančevine | Sol |
| Hungarian Magyar · 0,37 g | Tápértékjelölés | 100 g-ra | Energia | Zsír | amelyből telített zsírsavak | Szénhidrát | amelyből cukrok | Rost | Fehérje | Só |
| Italian Italiano · 0,37 g | Dichiarazione nutrizionale | per 100 g | Energia | Grassi | di cui acidi grassi saturi | Carboidrati | di cui zuccheri | Fibre | Proteine | Sale |
| Lithuanian Lietuvių · 0,37 g | Maistingumo deklaracija | 100 g | Energinė vertė | Riebalai | iš kurių sočiųjų riebalų rūgščių | Angliavandeniai | iš kurių cukrų | Skaidulinės medžiagos | Baltymai | Druska |
| Latvian Latviešu · 0,37 g | Paziņojums par uzturvērtību | uz 100 g | Enerģētiskā vērtība | Tauki | tostarp piesātinātās taukskābes | Ogļhidrāti | tostarp cukuri | Šķiedrvielas | Olbaltumvielas | Sāls |
| Maltese Malti · 0.37 g | Dikjarazzjoni dwar in-nutrizzjoni | għal kull 100 g | Enerġija | Xaħam | li minnhom saturati | Karboidrati | li minnhom zokkor | Fibra alimentari | Proteini | Melħ |
| Dutch Nederlands · 0,37 g | Voedingswaardevermelding | per 100 g | Energie | Vetten | waarvan verzadigde vetzuren | Koolhydraten | waarvan suikers | Vezels | Eiwitten | Zout |
| Polish Polski · 0,37 g | Informacja o wartości odżywczej | na 100 g | Wartość energetyczna (energia) | Tłuszcz | w tym kwasy tłuszczowe nasycone (kwasy nasycone) | Węglowodany | w tym cukry | Błonnik | Białko | Sól |
| Portuguese Português · 0,37 g | Declaração nutricional | por 100 g | Energia | Lípidos | dos quais saturados | Hidratos de carbono | dos quais açúcares | Fibra | Proteínas | Sal |
| Romanian Română · 0,37 g | Declarația nutrițională | per 100 g | Valoare energetică | Grăsimi | din care acizi grași saturați | Glucide | din care zaharuri | Fibre | Proteine | Sare |
| Slovak Slovenčina · 0,37 g | Výživové údaje | na 100 g | Energia | Tuky | z toho nasýtené mastné kyseliny | Sacharidy | z toho cukry | Vláknina | Bielkoviny | Soľ |
| Slovenian Slovenščina · 0,37 g | Označba hranilne vrednosti | na 100 g | Energijska vrednost | Maščobe | od tega nasičene maščobe | Ogljikovi hidrati | od tega sladkorji | Prehranske vlaknine | Beljakovine | Sol |
| Swedish Svenska · 0,37 g | Näringsdeklaration | per 100 g | Energi | Fett | varav mättat fett | Kolhydrat | varav sockerarter | Fiber | Protein | Salt |
In 9 languages the maker marks specific terms Needs review and names them on the label’s review list. The other 15 languages have no flagged term.
- German: the Annex II allergen name for sulphites.
- Estonian: the per 100 g / 100 ml column heading (no exact phrase in the Regulation; national guidance wording).
- Finnish: the per 100 g / 100 ml column heading (no exact phrase in the Regulation; national guidance wording); the per-portion column heading (national guidance wording).
- Irish: the Annex II allergen names for cereals, wheat, spelt, khorasan wheat, rye, barley, oats and mustard; the optional “negligible amounts” sentence (nutrient names must be inflected).
- Croatian: the Annex II allergen names for spelt and khorasan wheat.
- Hungarian: the Annex II allergen name for sulphites; the optional “negligible amounts” sentence (nutrient names must be inflected).
- Lithuanian: the optional “negligible amounts” sentence (nutrient names must be inflected).
- Maltese: the Annex II allergen names for cereals, wheat, khorasan wheat, rye, barley, oats, peanuts, soybeans and macadamia nuts; iron (the Maltese legal text prints “Kalċju” by mistake; the maker prints “Ħadid”).
- Romanian: the Annex II allergen names for spelt, khorasan wheat and sulphites.
The mandatory nutrition declaration
Every prepacked food that isn’t exempt declares these seven items, per 100 g or per 100 ml, in this order (Article 30(1) and Annex XV). The reference intakes are the ones the optional %RI column divides by (Annex XIII, Part B).
| Item | Unit | Reference intake |
|---|---|---|
| Energy | kJ and kcal | 8,400 kJ / 2,000 kcal |
| Fat | g | 70 g |
| of which saturates | g | 20 g |
| Carbohydrate | g | 260 g |
| of which sugars | g | 90 g |
| Protein | g | 50 g |
| Salt | g | 6 g |
You may add values per portion or per consumption unit, as long as the label states the portion and how many portions the pack holds, and the percentage of the reference intake (%RI) with the statement “Reference intake of an average adult (8 400 kJ/2 000 kcal)”. The maker adds both when you tick them. One limit today: the line stating how many portions the pack holds has no official wording, so the maker writes it only in English; in other languages it asks for your own wording, and that field isn’t in the form yet, so a per-portion column outside English shows “Needs values” for now. You may also declare mono-unsaturates, polyunsaturates, polyols, starch and fibre (Article 30(2)), and vitamins and minerals present in a significant amount, with their %NRV. The list is closed: trans fat, cholesterol, sodium and added sugars never go in the table.
The granola with the optional per-portion column and %RI, as the engine draws it for Ireland.
Energy comes from the components
The EU doesn’t let you print a lab’s energy figure as it is: Article 31(1) says energy “shall be calculated” with the conversion factors of Annex XIV. The maker calculates kJ and kcal separately from the unrounded components, never one from the other, and rounds each to the nearest whole number.
| Component | kJ per g | kcal per g |
|---|---|---|
| Carbohydrate (except polyols) | 17 | 4 |
| Polyols (sugar alcohols, except erythritol) | 10 | 2.4 |
| Erythritol | 0 | 0 |
| Protein | 17 | 4 |
| Fat | 37 | 9 |
| Salatrims | 25 | 6 |
| Alcohol (ethanol) | 29 | 7 |
| Organic acid | 13 | 3 |
| Fibre | 8 | 2 |
For the sample granola, per 100 g:
kJ = 37 × 21.46 g fat + 17 × 54.417 g carbohydrate + 17 × 11.84 g protein + 8 × 8.403 g fibre = 1987.6 → 1988 kJ
kcal = 9 × 21.46 g fat + 4 × 54.417 g carbohydrate + 4 × 11.84 g protein + 2 × 8.403 g fibre = 475.0 → 475 kcal
The carbohydrate in that sum is available carbohydrate (carbohydrate 54.417 g = total carbohydrate 62.82 g − fibre 8.403 g). If you typed in an energy value (the granola’s data says 2001 kJ / 478.2 kcal), it stays in your record but isn’t printed.
Why the EU figure differs from US Calories
The same granola prints Calories 290 per 1 cup (60g) on its US label, and 1193 kJ/285 kcal for the same 60 g on an EU label with a portion column. Three things differ: the US label uses the food’s own energy data while the EU recalculates it with the Annex XIV factors, the US rounds Calories to the nearest 10 above 50, and the US counts per serving while the EU’s main column is per 100 g. Neither label is wrong; they follow different rules. See EU vs US nutrition labels for the full comparison.
Carbohydrate means available carbohydrate
In the EU, “carbohydrate” means carbohydrate the body metabolises, polyols included and fibre left out (Annex I, point 7). A US or Canadian “total carbohydrate” includes fibre. So the granola shows Total Carbohydrate 38g next to Dietary Fiber 5g per US serving, and Carbohydrate 54 g per 100 g on the EU label: carbohydrate 54.417 g = total carbohydrate 62.82 g − fibre 8.403 g.
The maker only subtracts fibre when it knows it. If you copy a US label that lists total carbohydrate but you leave fibre blank, it stops and asks instead of guessing:
Additional information needed: add dietary fibre. Carbohydrate here excludes fibre, so it is total carbohydrate minus fibre.
Polyols (sugar alcohols such as sorbitol) stay inside EU carbohydrate and may be declared as an optional “of which polyols” row. They carry their own energy factor (10 kJ / 2.4 kcal per gram; erythritol 0), so enter them when your product contains them.
Worked example: extra virgin olive oil
The sample extra virgin olive oil is a liquid, so its declaration is per 100 ml. The maker converted its per 100 g data with the oil’s own density (using a density of 0.913 g/ml): that is why fat reads 91 g per 100 ml. Energy comes from the fat alone, giving 3378 kJ/822 kcal. Carbohydrate, sugars, fibre and protein are true zeros and print as 0 g. Salt is worked out from sodium (salt 0.004565 g = sodium 1.826 mg × 2.5), which is below the lowest rounding band, so it prints as <0.01 g.
The same olive oil for Ireland, Germany, France and Greece: each label in the country’s language, with its decimal mark and its own width. All four are Ready for the supported output.
Optional rows go in the Annex XV places: the oil’s mono-unsaturates (67 g) and polyunsaturates (9.6 g) sit under saturates. When most rows are zero you may replace them with one sentence (Article 34(5)); the engine prints it from the Regulation’s own wording, Contains negligible amounts of carbohydrate, sugars, fibre, protein, salt, though the switch for it isn’t in the maker’s form yet.
Optional fatty-acid rows and the “negligible amounts” sentence, drawn by the engine.
Why does olive oil need a declaration at all, when honey doesn’t? Annex V exempts unprocessed products made of a single ingredient, but the Commission’s Q&A excludes vegetable oils from that exemption.
Table or linear format, and text size
Article 34(2) asks for a table with the numbers aligned where space permits, and a linear format only when it doesn’t. The maker draws the table unless the panel space you give it is too small for a table at the smallest legal text size. Then it offers the linear format and says why. For a 60 × 20 mm strip on a small bottle the engine reported: “Doesn't fit your 60 × 20 mm panel space, even at the smallest legal type size (it needs about 60 × 63.1 mm).” and “Allowed because the table doesn't fit your 60 × 20 mm space. About 60 × 15.2 mm.”
The olive oil in the linear format, drawn for that 60 × 20 mm space (largest surface under 80 cm², so the 0.9 mm floor applies).
Every mandatory particular needs an x-height (the height of a lower-case x) of at least 1.2 mm, or 0.9 mm when the pack’s largest surface is under 80 cm² (Article 13(2)–(3)). In the maker’s label font that is 6.44 pt and 4.83 pt. Packs whose largest surface is under 25 cm² don’t need a nutrition declaration (Annex V, point 18), and under 10 cm² only the name, allergens, net quantity and date are required on the pack (Article 16(2)). More on measuring it: x-height rules.
How narrow can the table go? These are the engine’s own layouts of the olive oil table at each floor, with names wrapped as far as they can go. Narrower means taller.
| Label language | Default width | Narrowest, 1.2 mm | Narrowest, 0.9 mm |
|---|---|---|---|
| English (Ireland) | 53.9 mm | 27.6 mm 57.1 mm tall | 20.9 mm 43.1 mm tall |
| German (Germany) | 66.4 mm | 29.0 mm 53.4 mm tall | 21.9 mm 40.3 mm tall |
| French (France) | 62.2 mm | 27.0 mm 68.0 mm tall | 20.4 mm 51.3 mm tall |
| Greek (Greece) | 65.1 mm | 29.6 mm 65.3 mm tall | 22.3 mm 49.2 mm tall |
| German and French on one label | 95.0 mm | 29.0 mm 98.2 mm tall | 21.9 mm 74.1 mm tall |
The 0.9 mm column assumes a largest surface of 60 cm². Tell the maker your pack’s largest surface and panel space and it uses the right floor, offers only the formats that fit, and never shrinks text below it. Rounding follows the Commission’s 2012 guidance: EU rounding guidance.
Allergens in the ingredient list
The 14 allergens of Annex II must be emphasised inside the ingredient list, in the label language: the maker sets them in bold. When there is an ingredient list, a separate “Contains” box is not allowed (Commission notice 2017/C 428/01). The allergen words come from the Annex II text of each language; the ingredient names are yours, and the maker asks for each one in every label language. Here is the granola’s list in German and in English, exactly as the engine writes it:
GermanZutaten: Vollkorn-Haferflocken, Mandeln, Honig, Rapsöl, Brauner Zucker, Vanilleextrakt, Meersalz.
EnglishIngredients: Whole grain rolled oats, Almonds, Honey, Canola oil, Brown sugar, Vanilla extract, Sea salt.
Oats are emphasised because Annex II names cereals containing gluten. The full list, with the exceptions, is in the 14 EU allergens; to write the list in several languages use the translated ingredient list tool. If you only need a blank layout, there is a blank EU nutrition declaration template.
Northern Ireland follows these rules
Under the Windsor Framework, Northern Ireland keeps applying Regulation (EU) No 1169/2011, so a Northern Ireland label follows the EU rules on this page, in English. Great Britain kept the same Regulation as its own law, which can now change separately (one example already: the EU’s 2025 mustard exception applies in Northern Ireland but not in Great Britain). The maker treats them as two markets: see UK and Northern Ireland labels.
What we check, and what you still check
- Needs values. Something the label must show is missing, so the maker won’t draw that part yet. It tells you exactly what to add.
- Needs review. The label can be drawn, but something depends on facts the maker can’t see or on a rule it couldn’t confirm. It says what to check.
- Ready for the supported output. Every rule the maker applies passed for the values you gave. It is not an approval.
Built from the published rules (Regulation (EU) No 1169/2011, the Commission’s rounding guidance and its Q&A notice). Not reviewed or approved by any regulator. Check your label before printing.
Not supported: dietary supplements, infant and young-child foods, medical foods, alcoholic drinks and other special categories. The maker routes them to a clear “not supported” message instead of drawing a label.
What the maker checked for the olive oil (Ireland) Ready for the supported output
- Checked Label language. Ireland: English, or Irish AND English (Irish alone is not sufficient) Printed in English.
- Checked The seven mandatory items. Energy, fat, saturates, carbohydrate, sugars, protein and salt are all declared.
- Checked Order and names. Annex XV order and the official English terms.
- Checked Energy from the Annex XIV factors. kJ and kcal calculated separately from the unrounded components (fat 37/9, carbohydrate 17/4, protein 17/4, fibre 8/2, polyols 10/2.4, alcohol 29/7 kJ/kcal per g).
- Checked Carbohydrate definition. Available carbohydrate as entered (fibre not included).
- Checked Salt. Salt = total sodium × 2.5, from the unrounded sodium (recorded as a conversion).
- Checked Rounding. EU guidance table (2012), half-up, band chosen from the unrounded value; per-portion values rounded on their own.
- Checked Per 100 g / 100 ml. Values per 100 ml.
- Checked Only permitted nutrients. Trans fat, cholesterol, sodium, added sugars and US-style total carbohydrate never appear in the table.
- Checked Type size. Smallest text set with an x-height of at least 1.2 mm, measured from the label font; add your pack’s largest surface if it is under 80 cm² (0.9 mm then applies).
- Checked Allergens emphasised in the ingredients. The 14 allergens are emphasised in bold in the list; no separate "Contains" list (not allowed when there is an ingredients list).
- Checked Format. Table with the numbers aligned (the linear format is only allowed when a table does not fit).
What you still check
- Your values: they are only as good as the lab report, supplier sheet or recipe behind them. A recipe calculation is not an analysis.
- The language rule, if you sell in Austria, Cyprus, Luxembourg, Portugal and Romania: the maker couldn’t confirm it from the national law.
- Any term the maker flags in your language (German, Estonian, Finnish, Irish, Croatian, Hungarian, Lithuanian, Maltese and Romanian), and every ingredient name you type in another language.
- Whether an Annex V exemption applies to you, and whether a claim on the pack changes what you must declare.
- Everything else the pack must carry: name of the food, net quantity, date, storage, business name and address, and any national rule.