Where will you sell it?

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.

How do you want to start?

Try it with a sample product No sign-up to build. Free account to download.

Example label: Extra Virgin Olive Oil, United States, Standard verticalNutrition Facts about 33 servings per container Serving size 1 tbsp (15mL) Amount per serving Calories 120 % Daily Value* Total Fat 14g 18% Saturated Fat 2g 10% Trans Fat 0g Cholesterol 0mg 0% Sodium 0mg 0% Total Carbohydrate 0g 0% Dietary Fiber 0g 0% Total Sugars 0g Includes 0g Added Sugars 0% Protein 0g Vitamin D 0mcg 0% Calcium 0mg 0% Iron 0.1mg 0% Potassium 0mg 0% * The % Daily Value (DV) tells you how much a nutrient in a serving of food contributes to a daily diet. 2,000 calories a day is used for general nutrition advice.
United States · Standard vertical Readiness: Ready
Example label: Extra Virgin Olive Oil, Great Britain, TableNutrition information Typical values per 100 ml Energy 3378 kJ/822 kcal Fat 91 g of which saturates 13 g Carbohydrate 0 g of which sugars 0 g Fibre 0 g Protein 0 g Salt <0.01 g
Great Britain · Per 100 g Readiness: Ready
Example label: Extra Virgin Olive Oil, Ireland (EU), TableNutrition declaration per 100 ml Energy 3378 kJ/822 kcal Fat 91 g of which saturates 13 g Carbohydrate 0 g of which sugars 0 g Fibre 0 g Protein 0 g Salt <0.01 g
Ireland (EU) · In English Readiness: Ready
Example label: Extra Virgin Olive Oil, Canada, Bilingual standard 3.1 (8 pt)Nutrition Facts Valeur nutritive Per 1 tbsp (15 mL) pour 1 c. à soupe (15 mL) Calories 120 * % Daily Value * % valeur quotidienne Fat / Lipides 14 g 19 % Saturated / saturés 2 g + Trans / trans 0 g Carbohydrate / Glucides 0 g Fibre / Fibres 0 g 0 % Sugars / Sucres 0 g 0 % Protein / Protéines 0 g Cholesterol / Cholestérol 0 mg Sodium 0 mg 0 % Potassium 0 mg 0 % Calcium 0 mg 0 % Iron / Fer 0.1 mg 1 % 10 % * 5% or less is a little , 15% or more is a lot * 5% ou moins c’est peu , 15% ou plus c’est beaucoup
Canada · English and French Readiness: Needs review

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).

Example label: Extra Virgin Olive Oil, Australia, Nutrition information panelNUTRITION INFORMATION Servings per package: 33.3 Serving size: 15 mL Average Quantity per Serving Average Quantity per 100 mL Energy 507 kJ 3380 kJ Protein 0 g 0 g Fat, total 13.7 g 91.3 g —saturated 1.9 g 12.6 g Carbohydrate 0 g 0 g —sugars 0 g 0 g Sodium LESS THAN 5 mg 2 mg
Australia · Per serving and per 100 g Readiness: Ready
Example label: Extra Virgin Olive Oil, New Zealand, Nutrition information panelNUTRITION INFORMATION Servings per package: 33.3 Serving size: 15 mL Average Quantity per Serving Average Quantity per 100 mL Energy 507 kJ 3380 kJ Protein 0 g 0 g Fat, total 13.7 g 91.3 g —saturated 1.9 g 12.6 g Carbohydrate 0 g 0 g —sugars 0 g 0 g Sodium LESS THAN 5 mg 2 mg
New Zealand · Per serving and per 100 g Readiness: Ready

  • 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

  1. Step 1: Choose the country

    The maker sets the label language from that country’s rule. Add a second language for a multilingual label.

  2. 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.

  3. 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.

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.

National label-language rules as the maker applies them (research checked 4 November 2026). The link opens the maker with that country and its languages selected.
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.

Table nutrition panel for the Extra Virgin Olive Oil sample, Germany (EU), made with Nutritional Label Maker. It reads: Nährwertdeklaration / Déclaration nutritionnelle je 100 ml pour 100 ml Energie / Énergie 3 378 kJ/822 kcal Fett / Matières grasses 91 g davon gesättigte Fettsäuren / dont acides gras saturés 13 g Kohlenhydrate / Glucides 0 g davon Zucker / dont sucres 0 g Ballaststoffe / Fibres alimentaires 0 g Eiweiß / Protéines 0 g Salz / Sel <0,01 g
German and French, for Germany and France 95.0 × 59.6 mm (3.74 × 2.34 in) Ready for the supported output

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.

Label terms per language, printed by the engine for a one-language granola label. * national guidance wording: the Regulation has no exact phrase for that heading.
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.

Table nutrition panel for the Honey Almond Granola sample, Ireland (EU), made with Nutritional Label Maker. It reads: Nutrition declaration per 100 g per portion (60 g) %RI* Energy 1988 kJ/475 kcal 1193 kJ/285 kcal 14% Fat 21 g 13 g 19% of which saturates 2.0 g 1.2 g 6% Carbohydrate 54 g 33 g 13% of which sugars 19 g 12 g 13% Fibre 8.4 g 5.0 g Protein 12 g 7.1 g 14% Salt 0.37 g 0.22 g 4% *Reference intake of an average adult (8 400 kJ/2 000 kcal) ≈ 6 portions
Per 100 g, per 60 g portion and %RI 87.3 × 64.0 mm (3.44 × 2.52 in) Ready for the supported output

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.

Annex XIV energy conversion factors, per gram (from the engine’s EU rule data)
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.

Table nutrition panel for the Extra Virgin Olive Oil sample, Ireland (EU), made with Nutritional Label Maker. It reads: Nutrition declaration per 100 ml Energy 3378 kJ/822 kcal Fat 91 g of which saturates 13 g Carbohydrate 0 g of which sugars 0 g Fibre 0 g Protein 0 g Salt <0.01 g
English (Ireland) 53.9 × 52.8 mm (2.12 × 2.08 in) Ready for the supported output
Table nutrition panel for the Extra Virgin Olive Oil sample, Germany (EU), made with Nutritional Label Maker. It reads: Nährwertdeklaration je 100 ml Energie 3 378 kJ/822 kcal Fett 91 g davon gesättigte Fettsäuren 13 g Kohlenhydrate 0 g davon Zucker 0 g Ballaststoffe 0 g Eiweiß 0 g Salz <0,01 g
German (Germany) 66.4 × 52.8 mm (2.61 × 2.08 in) Ready for the supported output
Table nutrition panel for the Extra Virgin Olive Oil sample, France (EU), made with Nutritional Label Maker. It reads: Déclaration nutritionnelle pour 100 ml Énergie 3 378 kJ/822 kcal Matières grasses 91 g dont acides gras saturés 13 g Glucides 0 g dont sucres 0 g Fibres alimentaires 0 g Protéines 0 g Sel <0,01 g
French (France) 62.2 × 52.8 mm (2.45 × 2.08 in) Ready for the supported output
Table nutrition panel for the Extra Virgin Olive Oil sample, Greece (EU), made with Nutritional Label Maker. It reads: Διατροφική δήλωση ανά 100 ml Ενέργεια 3 378 kJ/822 kcal Λιπαρά 91 g εκ των οποίων κορεσμένα 13 g Υδατάνθρακες 0 g εκ των οποίων σάκχαρα 0 g Εδώδιμες ίνες 0 g Πρωτεΐνες 0 g Αλάτι <0,01 g
Greek (Greece) 65.1 × 52.8 mm (2.56 × 2.08 in) Ready for the supported output

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.

Table nutrition panel for the Extra Virgin Olive Oil sample, Ireland (EU), made with Nutritional Label Maker. It reads: Nutrition declaration per 100 ml Energy 3378 kJ/822 kcal Fat 91 g of which saturates 13 g of which mono-unsaturates 67 g of which polyunsaturates 9.6 g Contains negligible amounts of carbohydrate, sugars, fibre, protein, salt
With mono- and polyunsaturates 65.1 × 45.4 mm (2.56 × 1.79 in) Ready for the supported output

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.”

Linear nutrition panel for the Extra Virgin Olive Oil sample, Ireland (EU), made with Nutritional Label Maker. It reads: Nutrition declaration per 100 ml: Energy 3378 kJ/822 kcal, fat 91 g, of which saturates 13 g, carbohydrate 0 g, of which sugars 0 g, fibre 0 g, protein 0 g, salt <0.01 g
Linear format, English 60.0 × 15.2 mm (2.36 × 0.60 in) Ready for the supported output

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.

Olive oil table widths, laid out by the engine at each x-height floor (0.9 mm: pack’s largest surface under 80 cm²). “Default” is the width the maker draws when you give no size.
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.

Frequently asked questions

What must an EU nutrition label include?
A nutrition declaration with energy (kJ and kcal), fat, saturates, carbohydrate, sugars, protein and salt per 100 g or 100 ml, in the order set by Annex XV of Regulation (EU) No 1169/2011. Values per portion and the percentage of the reference intake (%RI) are optional extras.
Does an EU label have to be in the local language?
Yes. Mandatory food information must be in a language easily understood by consumers where the food is sold, and each member state can require one or more of its official languages (Article 15). Choose the country first and the maker selects the language its rule asks for. 22 of the 27 national rules were read in the national law; labels for Austria, Cyprus, Luxembourg, Portugal and Romania show “Needs review” until their rule is confirmed.
Can one label cover several EU countries?
Yes, a multilingual label can, as long as every mandatory particular appears in each required language and the text still meets the minimum x-height. In the maker, add each country as its own market: each one is checked against its own language rule.
Why are the calories on my EU label different from my US label?
The EU label declares energy per 100 g in kJ and kcal, each calculated from the components with the EU’s own factors, uses available carbohydrate (fibre excluded) and rounds with the EU guidance, while a US label shows Calories per serving rounded to the nearest 10. The sample granola prints “Calories 290” per 1 cup (60g) in the US and 1193 kJ/285 kcal per 60 g portion in the EU.
Is Nutri-Score required in the EU?
No. Nutri-Score is a voluntary front-of-pack scheme used in some member states. It isn’t part of the mandatory nutrition declaration, and this tool doesn’t generate it.
Do small packages need a nutrition declaration?
Not when the largest surface of the package is under 25 cm² (Annex V, point 18). Annex V also exempts, for example, unprocessed single-ingredient products, herbs and spices, salt, tea and coffee, and small quantities supplied directly by the maker to the final consumer or local shops. A nutrition or health claim, or added vitamins or minerals, cancels these exemptions.
Back to the EU label maker