Our Scoring Method

Every verdict comes from the same rule-based system using the nutrition label, ingredient list, and fixed math.

The short version

We look at two things. First, adjusted net carbs in a typical serving and per 100 g. Second, the ingredient list and any common keto red flags like certain sweeteners or starches.

We combine those into a 0 to 100 score, then map it to Excellent, Good, Caution, or Avoid. If we cannot calculate net carbs from the data, we show Unknown.

Verdicts

Excellent through Avoid show how well a product fits strict keto. Unknown means there isn't enough data, not that the food is better or worse.

What each tier means

Your goals and portions still matter.

  • Excellent (90–100)

    Fits strict keto for the serving scored, based on carbs and ingredients.

  • Good (70–89)

    Works for keto in normal portions. Still keep an eye on your daily carbs.

  • Caution (40–69)

    Borderline. May work in small amounts or is pulled down by higher-risk ingredients.

  • Avoid (0–39)

    Too high in carbs for the serving, or the ingredients trigger strong penalties, or both.

  • Unknown

    If total carbs or fiber are missing and we cannot calculate net carbs reliably, we return Unknown. We do not fill in missing numbers or make assumptions. This is about missing data, not food quality.

What we look at

Net carbs per serving

We start with total carbs and subtract fiber and sugar alcohols when the label provides them. We adjust those numbers when certain ingredients suggest the "free" carbs may be overstated, since some fibers and sugar alcohols do not behave like zero.

For details, see Sugar alcohols and keto.

Ingredient quality

The ingredient list can move the score up or down. We look for things like added sugars, refined starches, certain sugar alcohols, seed oils, and similar signals. This is separate from the carb count.

Keto breads get extra context because labels are often misleading. See Keto bread and ketosis for how we handle those.

Why two foods with similar carbs can score differently

  • Serving size: We score the label as written. Two foods can have the same carbs per 100 g but different serving sizes, which changes the result.
  • Ingredient quality: The same net carbs can come from very different ingredients. Eggs and nuts are not treated the same as IMO or heavy maltitol syrup.
  • Density for pourable foods: Condiments, dressings, sauces, and drinks use stricter per-100 g ranges because they are easy to overpour.

Going deeper

The numbers behind the tier

Carb scoring bands+

We score the carb side of the math using these bands for a typical serving:

  • 0 to 2 g: Best score
  • 2 to 5 g
  • 5 to 10 g
  • 10 to 20 g
  • 20+ g: Lowest score

We also apply stricter math for pourable foods like sauces, and a small penalty when a serving takes up a large chunk of a typical daily carb budget.

The net-carb ceiling+

High carbs cap the final score. Even if the ingredient list is perfect, a food with 10 g of net carbs can never score Excellent.

At 0 g adjusted net carbs, there is no cap. Above 1 g, the maximum possible score drops quickly on a curve.

The 70 / 30 blend+

The final score is 70% carbs and 30% ingredient quality. We calculate those two numbers, blend them together, apply the net-carb ceiling, and then map the result to Excellent, Good, Caution, or Avoid.