How to check if your food product is HFSS: a UK guide
How to check if your food product is HFSS: a UK guide
If you want to check if your food product is HFSS, there are two questions, and you have to answer both. Does it sit in one of 13 categories written into the Schedule of the Advertising (Less Healthy Food Definitions and Exemptions) Regulations 2024? And does it score 4 or more points (food) or 1 or more (drink) under the 2004/05 nutrient profiling model?
Fail one, you're out of scope. Fail both, you're HFSS.
Most guides stop at the definition. This one walks you through the actual arithmetic, with a worked example where a granola crosses the line and then crosses back.
What HFSS means and why it matters for your brand in 2026
HFSS stands for high in fat, salt or sugar. The 2024 Regulations use a different term, "less healthy food and drink" (LHF), which means the same thing. Both refer to products that meet a two-part test set out in DHSC guidance.
Three regimes now hang off that classification.
| Regime | Status | Who it catches |
|---|---|---|
| Advertising | In force UK-wide since 5 January 2026 | Businesses with 250+ employees |
| Placement in store | In force in England since October 2022 | Retailers with 50+ employees, stores over 185.8m² |
| Volume price promotions | England 1 Oct 2025, Wales 26 Mar 2026, Scotland 1 Oct 2026 | Businesses with 50+ employees |
The advertising rules mean a 9pm watershed on Ofcom-regulated TV and on-demand between 5:30am and 9pm, plus a 24-hour ban on paid-for online advertising. If you have fewer than 250 employees you're exempt from the new rules, though the existing CAP and BCAP targeting rules still bind you.
So the practical stakes: your product's score decides whether a retailer can put it on a gondola end, whether you can run a 2-for-1, and whether a large customer or parent group can pay to advertise it. That's a commercial question sitting inside a nutrition spreadsheet.
The nutrient profiling model: how the scoring actually works
The NPM was built by the Food Standards Agency in 2004-05 to give Ofcom a tool for TV advertising. It has since been pressed into service across a lot more policy than it was designed for.
It's a points system, calculated per 100g, always. You score A points for the nutrients you want less of, C points for the ones you want more of, and subtract.
Read both tables the same way: find the highest band your value exceeds, and take those points.
A points: the nutrients you want less of
Maximum 10 points each, per 100g.
| Points | Energy (kJ) | Sat fat (g) | Total sugar (g) | Sodium (mg) |
|---|---|---|---|---|
| 0 | ≤335 | ≤1 | ≤4.5 | ≤90 |
| 1 | >335 | >1 | >4.5 | >90 |
| 2 | >670 | >2 | >9 | >180 |
| 3 | >1005 | >3 | >13.5 | >270 |
| 4 | >1340 | >4 | >18 | >360 |
| 5 | >1675 | >5 | >22.5 | >450 |
| 6 | >2010 | >6 | >27 | >540 |
| 7 | >2345 | >7 | >31 | >630 |
| 8 | >2680 | >8 | >36 | >720 |
| 9 | >3015 | >9 | >40 | >810 |
| 10 | >3350 | >10 | >45 | >900 |
C points: the components you want more of
Maximum 5 points each, per 100g.
| Points | Fruit, veg & nuts (%) | NSP fibre (g) | AOAC fibre (g) | Protein (g) |
|---|---|---|---|---|
| 0 | ≤40 | ≤0.7 | ≤0.9 | ≤1.6 |
| 1 | >40 | >0.7 | >0.9 | >1.6 |
| 2 | >60 | >1.4 | >1.9 | >3.2 |
| 3 | not available | >2.1 | >2.8 | >4.8 |
| 4 | not available | >2.8 | >3.7 | >6.4 |
| 5 | >80 | >3.5 | >4.7 | >8.0 |
Note the gap in the fruit, veg and nuts column. There is no 3 or 4. You jump from 2 points at >60% straight to 5 points at >80%. That cliff matters, as you'll see.
The rule that catches everyone
If your product scores 11 or more A points, it cannot score protein points at all, unless it also scores the full 5 points for fruit, veg and nuts. Fibre and FVN points still count. Protein is switched off.
This is deliberate. It stops a high-sugar, high-fat product buying its way back under the threshold on protein content alone. It is also the single most common reason a reformulation fails to move the score.
The thresholds
Score = total A minus total C.
| Product type | Less healthy at |
|---|---|
| Food | 4 points or more |
| Drink | 1 point or more |
Step-by-step: calculating your product's HFSS score
Take a granola positioned as a better-for-you breakfast. Per 100g as sold, dry weight (breakfast cereals are always scored dry, as sold):
- Energy: 1,850 kJ
- Saturated fat: 3.2g
- Total sugar: 19g
- Sodium: 40mg
- AOAC fibre: 6.5g
- Protein: 9g
- Contains 12% nuts and 8% dried fruit
Step 1: category check
Granola is named explicitly in category 3, breakfast cereals. In scope. Keep going.
Step 2: work out A points
| Nutrient | Per 100g | Band it falls in | Points |
|---|---|---|---|
| Energy | 1,850 kJ | >1675 | 5 |
| Saturated fat | 3.2 g | >3 | 3 |
| Total sugar | 19 g | >18 | 4 |
| Sodium | 40 mg | ≤90 | 0 |
| Total A | 12 |
Step 3: work out C points
Fruit, veg and nuts first. Dried fruit gets doubled in the calculation, which surprises people. The formula:
(weight fvn + 2 × weight dried fvn)
────────────────────────────────────────────────── × 100
(weight fvn + 2 × weight dried fvn + weight other)
So: nuts 12, dried fruit 8 doubled to 16, other ingredients 80.
(12 + 16) ÷ (12 + 16 + 80) × 100 = 28 ÷ 108 = 25.9%
| Component | Per 100g | Band it falls in | Points |
|---|---|---|---|
| Fruit, veg & nuts | 25.9% | ≤40 | 0 |
| AOAC fibre | 6.5 g | >4.7 | 5 |
| Protein | 9 g | blocked: A ≥ 11 and FVN ≠ 5 | 0 |
| Total C | 5 |
Step 4: overall score
12 − 5 = 7. Food, so the threshold is 4. This granola is HFSS.
Step 5: watch what happens when you reformulate
This is the bit that decides your development brief.
| Original | Cut sugar only | Cut sugar + energy | |
|---|---|---|---|
| Energy | 5 (1,850 kJ) | 5 (1,850 kJ) | 4 (1,670 kJ) |
| Saturated fat | 3 | 3 | 3 |
| Total sugar | 4 (19 g) | 3 (17 g) | 3 (17 g) |
| Sodium | 0 | 0 | 0 |
| Total A | 12 | 11 | 10 |
| Fruit, veg & nuts | 0 | 0 | 0 |
| Fibre | 5 | 5 | 5 |
| Protein | 0 (blocked) | 0 (blocked) | 5 (unlocked) |
| Total C | 5 | 5 | 10 |
| Score | 7 | 6 | 0 |
| Status | HFSS | HFSS | Non-HFSS |
Cut the sugar on its own and you spend a development cycle to move 1 point. Take energy down by 180 kJ as well, cross under 11 A points, and 9g of protein you already had suddenly counts for 5.
The score fell from 6 to 0 on that one move. That's not a smooth gradient, it's a cliff. The 11-point A threshold is where most of the value sits, and it's invisible if you're modelling nutrients one at a time in a spreadsheet.
Where the categories actually bite
The threshold does not change by category. It's 4 for food and 1 for drink, across the board. What changes is whether you're in scope at all, and whether you're being scored as a food or a drink.
Category is a gate, not a dial. A ribeye steak is high in saturated fat and would score badly. It's in none of the 13 categories, so it's out of scope. A carbonara, same. Meanwhile a croissant that scores 4 is in, because morning goods is category 8.
The 13 categories:
| # | Category |
|---|---|
| 1 | Soft drinks containing added sugar |
| 2 | Savoury snacks |
| 3 | Breakfast cereals, including granola, muesli and porridge oats |
| 4 | Confectionery |
| 5 | Ice cream, ice lollies, frozen yoghurt, water ices |
| 6 | Cakes and cupcakes |
| 7 | Sweet biscuits and bars based on nuts, seeds or cereal |
| 8 | Morning goods |
| 9 | Desserts and puddings |
| 10 | Sweetened yoghurt and fromage frais |
| 11 | Pizza (except plain bases) |
| 12 | Potato and sweet potato products: chips, fries, wedges, hash browns |
| 13 | Ready meals, menu meals, meal centres in sauce, breaded and battered products, sandwiches |
Food or drink is a classification decision with a 3-point swing. The guidance draws the line precisely. A drinking yoghurt (meets the yoghurt standard, no added liquid) is profiled as a food, threshold 4. A yoghurt drink (yoghurt mixed with milk, water or juice) is profiled as a drink, threshold 1. Same shelf, same fixture, entirely different bar to clear. Kefirs and lassis are drinks.
Protein bars split between two categories. DHSC guidance sends them to category 4 (confectionery) if they have the features of a confectionery bar, and category 7 (sweet biscuits and bars) if they're cereal, nut or seed based. Either way they're in scope. Determined case by case.
Common mistakes
Assuming "no added sugar" or "high protein" puts you outside scope. Neither is a category exemption and neither is a scoring exemption. The model reads total sugar, not added sugar, under NPM 2004/05. Fruit purée sugars count. Honey counts. And protein points vanish above 11 A points, which is exactly where high-protein indulgent products tend to land. We covered the sugar side of this in more depth in what sucrose is actually doing in your formulation.
Scoring per serving instead of per 100g. Always 100g, regardless of pack size or serving size. A 40g bar is scored on the multiplied-up 100g figures.
Scoring as consumed when the rule says as sold. Breakfast cereals: dry weight, as sold. Reconstituted products (cake mixes, cup soups, milkshake powders, squash): scored as reconstituted per manufacturer instructions.
Using millilitres. Products measured by volume have to be converted to 100g using the product's specific gravity. Ice cream is roughly 0.55. Get this wrong and every A point is wrong.
Counting processed fruit in the FVN calculation. Concentrated fruit juice sugars, fruit powders and fruit leathers score nothing. Only intact or minimally processed fruit and veg count (peeled, sliced, tinned, frozen, juiced, puréed). Potatoes and other starchy vegetables never count. Seeds don't count either, unless they're commonly regarded as nuts.
Using AOAC fibre when you have NSP data. The model was built on NSP (Englyst). Use NSP where you know it. AOAC is the fallback. The bands are different, so the choice changes your score.
Treating a low score as permanent. If you reformulate after submitting a nutrition profile certificate to Clearcast and the score changes, you owe them a revised certificate.
Ignoring what's coming. The NPM 2018 was published on 27 January 2026 and is not yet applied to policy. Everything above still runs on 2004/05 with the 2011 technical guidance. But DHSC consulted between 25 March and 17 June 2026 on applying NPM 2018 to both the advertising and promotions regimes, with a proposed 12-month implementation period. As of July 2026 the outcome hasn't been published.
Under NPM 2018, total sugars becomes free sugars, AOAC replaces NSP and fibre points double to a maximum of 10, seeds join fruit/veg/nuts, and energy, protein and salt thresholds shift. Government modelling shows 6 percentage points fewer foods passing and 21 percentage points fewer drinks. Our granola above would be scored differently on all three of its C components. If you want the detail, we broke down the changes in the NPM 2018 update, and looked at what it means for products trying to be both compliant and nutrient-dense in HFSS compliant or nutrient-dense.
What to do with this
Score your whole range against 2004/05 today, because that's the law. Then score it again against NPM 2018, because that's the plan, and a 12-month implementation window is not long enough to run a reformulation programme from a standing start.
Pay attention to where your products sit relative to the 11-point A boundary rather than just their final score. A product on 12 A points and a product on 10 A points look similar on a nutrition panel and behave completely differently under the model.
And check your data quality before you check your score. Free sugars values, AOAC fibre, and accurate FVNS percentages are the three things most SME brands don't have on file, and all three become load-bearing under NPM 2018. Fibre is the one worth getting ahead on, and it's harder than it looks, particularly in drinks, which we covered in fibre in functional beverages.
Frequently asked questions
What does HFSS stand for?
HFSS stands for high in fat, salt or sugar. It describes food and drink classified as "less healthy" under the UK nutrient profiling model. The Advertising (Less Healthy Food Definitions and Exemptions) Regulations 2024 use the term "less healthy food and drink" (LHF) for the same concept. The two are used interchangeably in industry, though only LHF appears in the 2024 Regulations.
Which food categories fall under HFSS restrictions in the UK?
Thirteen categories, set out in the Schedule to the 2024 Regulations: soft drinks with added sugar; savoury snacks; breakfast cereals; confectionery; ice cream and frozen products; cakes and cupcakes; sweet biscuits and cereal/nut/seed bars; morning goods; desserts and puddings; sweetened yoghurt and fromage frais; pizza; potato products such as chips and hash browns; and a composite category covering ready meals, menu meals, breaded and battered products, and sandwiches. Products outside all 13 are out of scope regardless of nutritional content.
How many points does a product need to score to be HFSS?
A food is classified as less healthy at 4 points or more. A drink is classified as less healthy at 1 point or more. The score is A points (energy, saturated fat, total sugar, sodium) minus C points (fruit/veg/nuts, fibre, protein), calculated per 100g under the 2004/05 model with the 2011 technical guidance.
Does HFSS apply to drinks differently than solid food?
Yes. Drinks face a threshold of 1 point versus 4 for food, which is a much lower bar. Classification also matters: a drinking yoghurt with no added liquid is scored as a food, while a yoghurt drink mixed with milk, water or juice is scored as a drink. For soft drinks, only products containing added sugar ingredients fall inside category 1, so an unsweetened smoothie or plain milk is out of scope.
What are the consequences of misclassifying a product as non-HFSS?
For advertising, the ASA is the frontline enforcer with Ofcom holding statutory backstop powers, and it has already upheld complaints under the new rules. Rulings are published, which is a brand problem before it's a legal one. For placement and promotions in England, enforcement sits with local authority trading standards, who can issue improvement notices and fixed penalty notices. Commercially, the bigger risk is usually a retailer discovering the error during listing review and pulling the product from a promotional slot you'd already forecast.
Nibblr scores your products against NPM 2004/05 and NPM 2018 as you adjust ingredients, so you can see where the 11-point cliff sits before you brief a trial. Get started free.