The short answer
The UK traffic light label is a voluntary front-of-pack label. It shows energy plus fat, saturates, sugars and salt per portion, each with its % of the reference intake (%RI), and colours the four nutrients green, amber or red using thresholds per 100 g (per 100 ml for drinks). For large portions, over 100 g or 150 ml, a nutrient is also red when its amount per portion passes a per-portion limit.
What the label shows
The UK government’s 2016 front-of-pack guidance fixes the elements and their order (Energy | Fat | Saturates | Sugars | Salt):
- Portion description in consumer terms with weight, e.g. 'Each grilled burger (94g) contains' ('each portion'/'per serving' alone is insufficient)
- Energy kJ and kcal per portion (kJ at least as prominent as kcal; never 'calories'/'cals')
- Fat, saturates, (total) sugars, salt in g per portion
- %RI per portion for energy and each nutrient, nearest whole number, '<1%' allowed
- RI descriptor: 'Reference intake of an average adult (8,400kJ/2,000kcal)' or 'of the reference intake' / 'of your reference intake' / 'of an adult's reference intake'
- Energy per 100 g/ml as text near the lozenges, e.g. 'Typical values (as sold) per 100g: Energy 966kJ / 230kcal'
- Colour coding of fat, saturates, sugars, salt only (energy on a neutral background)
- Optional HIGH/MEDIUM/LOW text with red/amber/green
- Number of portions in the pack stated on pack, ideally near the label
The %RI uses the adult reference intakes: 8,400 kJ of energy, 70 g fat, 20 g saturates, 90 g sugars and 6 g salt. The colours are PMS 375 green, PMS 143 amber and Red 032 red (CMYK 48/0/94/0, 0/36/87/0 and 0/90/86/0), vibrant rather than pastel, filling at least a third of each nutrient’s lozenge. The text needs an x-height of at least 1.2 mm, with no smaller-pack exception.
The thresholds
Foods, per 100 g (whether or not they are sold by volume):
| Nutrient | Green | Amber | Red | Red per portion (portion over 100 g) |
|---|---|---|---|---|
| Fat | ≤ 3 g | > 3 to ≤ 17.5 g | > 17.5 g | > 21 g |
| Saturates | ≤ 1.5 g | > 1.5 to ≤ 5 g | > 5 g | > 6 g |
| Sugars | ≤ 5 g | > 5 to ≤ 22.5 g | > 22.5 g | > 27 g |
| Salt | ≤ 0.3 g | > 0.3 to ≤ 1.5 g | > 1.5 g | > 1.8 g |
Drinks, per 100 ml:
| Nutrient | Green | Amber | Red | Red per portion (portion over 150 ml) |
|---|---|---|---|---|
| Fat | ≤ 1.5 g | > 1.5 to ≤ 8.75 g | > 8.75 g | > 10.5 g |
| Saturates | ≤ 0.75 g | > 0.75 to ≤ 2.5 g | > 2.5 g | > 3 g |
| Sugars | ≤ 2.5 g | > 2.5 to ≤ 11.25 g | > 11.25 g | > 13.5 g |
| Salt | ≤ 0.3 g | > 0.3 to ≤ 0.75 g | > 0.75 g | > 0.9 g |
Source: UK front-of-pack guidance, Annex 3 Tables 2 and 3, with “≤” and “>” exactly as published. Sugars means total sugars. The maker decides the colour on the values as printed, so the colour always agrees with the number on the pack.
Use the same basis throughout (as sold, or as prepared if the label is for the food as eaten), and never colour energy. The nutrition table on the back of the pack stays mandatory (the UK nutrition label generator makes it): the traffic lights repeat it, they don’t replace it.
Worked example: shortbread
Our all-butter shortbread sample is a 25 g biscuit. A portion of 25 g is not over 100 g, so the per-portion red rule doesn’t apply, and each nutrient is coloured on its value per 100 g:
| Nutrient | Per 100 g (label) | Colour and why | Per biscuit | %RI |
|---|---|---|---|---|
| Energy | 2086kJ / 499kcal | Not coloured | 522kJ / 125kcal | 6% |
| Fat | 27 g | Red (high) 27 g per 100 g (over 17.5 g) | 6.7g | 10% |
| Saturates | 17 g | Red (high) 17 g per 100 g (over 5 g) | 4.2g | 21% |
| Sugars | 16 g | Amber (medium) 16 g per 100 g (over 5 g and ≤ 22.5 g) | 4.1g | 5% |
| Salt | 0.52 g | Amber (medium) 0.52 g per 100 g (over 0.3 g and ≤ 1.5 g) | 0.13g | 2% |
The shortbread’s front-of-pack traffic lights and its back-of-pack table, both drawn by the maker for Great Britain.
The header names a real portion with its weight (“Each 1 biscuit (25g) contains”), the descriptor reads “of an adult's reference intake”, and because the lozenges are per portion, the energy per 100 g is printed underneath: “Typical values (as sold) per 100g: Energy 2086kJ / 499kcal”.
Is it mandatory?
No. The scheme is a voluntary, government-recommended way of repeating nutrition information on the front of the pack. If you use it, follow the guidance in full rather than inventing your own colours or cut-offs, and keep the full nutrition table on the back.
- Great Britain: voluntary; the maker draws it for GB labels when you switch it on.
- Northern Ireland: the scheme was developed with the Northern Ireland administration and can be used there, but whether it is still formally recommended since 2021 isn’t documented, so the maker doesn’t draw it for NI labels yet.
- EU: member states run their own voluntary schemes (such as Nutri-Score). The maker doesn’t make those; check the destination’s rules before using UK traffic lights on an EU pack.
Add it to your label
- Open the maker with the UK selected and enter your values per 100 g.
- Add your portion with a description people would use (“Each bar (40g)”, “Half a pack (150g)”) and say whether it’s a solid or a liquid (drinks use the drink thresholds).
- In the Label step, switch on “Make the UK front-of-pack traffic lights”.
- Download: the traffic lights come as their own artwork, at their real size, next to your back-of-pack table.
Before you print