Full transparency
How the GSF score works
Every rule the score uses, including the ones that make it less flattering than the label. If a number is going to guide what you eat, you deserve to see how it's made.
The formula
Net carbs = total carbohydrate − fiber − sugar alcohols that don't raise blood sugar (see the sweetener rules below). Saturated fat counts double because a little goes a long way against your heart. Trans fat counts four times because it is the worst artery fat gram for gram: it raises the bad particles and lowers the good ones. It's rare in US food since 2018, but when it shows up, it's punished.
Bands: 0–6 green (everyday) · 7–12 yellow (sometimes) · 13+ red (rarely).
Realistic portions
Scores are calculated on the amount of the food a person actually eats, not on tricks in either direction.
| Food | Scored on | Why |
|---|---|---|
| Packaged solids | The label serving, kept between 30g and 100g | The floor stops the tiny-serving trick ("one cookie"). The ceiling stops whole-container servings. |
| Oils, butter, dressings, mayo | One tablespoon (14g) | Nobody eats 100g of olive oil. Scoring oils per 100g would make the good fats look terrible. |
| Sugary drinks | The glass, can, or bottle (240–360g) | Nobody drinks 100g of soda either. Scoring drinks per 100g would make sugar water look fine. |
| Milk and low-sugar drinks | Per 100g | Milk's sugar is lactose that arrives with protein; it doesn't behave like soda. |
| Alcohol | Not scored | Vodka has zero carbs and zero saturated fat, and it still isn't a health food. GSF's two numbers don't apply, so we say so instead of printing a green light. |
The sweetener rules
| Ingredient | How it counts | Why |
|---|---|---|
| Allulose | Subtracted in full | It passes through without raising blood sugar. |
| Erythritol | Subtracted in full for blood sugar | It does not raise blood sugar. One caution: some newer studies have tied high erythritol in the blood to a higher chance of blood clots. The research is early and not settled. If your heart is your main reason for eating this way, allulose is the safer pick for now. |
| Maltitol | Counts in full | It raises blood sugar, more than any other sugar alcohol. Not as much as regular sugar, but far too much to call free. Labels that subtract it flatter the food. Your glucose meter will not be fooled. |
| Other sugar alcohols (xylitol, sorbitol…) | Half-counted | They have a small effect. Half is a fair, slightly cautious middle. |
| Maltodextrin, dextrose | Counts in full, plus a warning on the card | Maltodextrin reads "0g sugar" on labels but spikes faster than table sugar. |
| IMO "fiber" (isomaltooligosaccharide) | Only half counts as fiber | Roughly half of it digests like carbs. |
| Glycerin | Noted on the card | Common in protein bars; barely affects blood sugar, but products rarely report grams, so we flag it instead of guessing. |
What the score deliberately ignores
- How fast different real carbs hit. 10g of net carbs from lentils is gentler than 10g from white rice. Fiber subtraction captures most of this, not all of it. Warnings on the card cover the worst offender (maltodextrin).
- Protein's cushioning effect. Protein slows a spike, but it's tracked as one of the two things you keep high, not baked into the score.
- Differences between saturated fats. We count them all equally, the same way heart guidelines do.
- Cholesterol. For most people, cholesterol you eat barely moves cholesterol in your blood.
- Sodium. Real, but it's a blood-pressure problem, not a blood-sugar or artery-fat problem. Two numbers, on purpose.
- Fructose's low glycemic index. Fruit sugar (fructose) raises blood sugar slowly, but in large amounts, mostly from sugary drinks, your liver turns it into fat. So we count it in full to be safe. Whole fruit in normal amounts is not the worry.
Where the numbers come from
USDA FoodData Central first (standardized US label data, public domain), Open Food Facts as backup (widest barcode coverage, available under the Open Database License). Some products are scored straight from the manufacturer's printed label, checked by hand; those results say "Label." Both databases have gaps, duplicates, and out-of-date records. Only records that can support an accurate score are shown. Records missing the data the score needs are suppressed rather than scored wrong, and a record whose score would read too high (sweetener grams absent) is suppressed whenever a complete record of the same product exists. When such a record is the only one available, it is shown with a plain warning instead of being hidden.
The GSF score is a screening tool built from label data. It errs against the food, never in its favor. It is not medical advice, and the package in your hand always beats a database. When the two disagree, trust the package.