40 rows · high to low
Highest protein
Ordered by dry-matter protein, 31.8–50% across the rows shown.
Edition updated
Carbohydrate is estimated the standard way — 100 minus protein, fat, fibre, moisture and ash. We use published ash where a label supplies it and a stated working assumption otherwise, so every result carries a tilde. Foods missing any required input are excluded rather than guessed at. How the estimate works.
The order is one number estimated the same way for every row, sorted low to high. It is not a score, not a shortlist and not a recommendation: no row here is endorsed over any other, and a food's position tells you what its label allows us to infer, not whether it suits your dog.
Rows ranked
40
of 106 foods we can estimate it for, from 17 brands
Carbohydrate, dry matter
13.6–37.2%
median 29.9% across the rows shown
Lowest estimate
13.6%
Purina ONE Chicken & Brown Rice Entrée
No estimate possible
17
foods missing an input, so no estimate was made
| Food | Carb DM (est.) | Brand | Protein DM | Fat DM | kcal / kg |
|---|---|---|---|---|---|
| Chicken & Brown Rice Entrée | 13.6% | Purina ONE | 36.4% | 31.8% | 1143 |
| Chicken & Rice Entrée Classic | 13.6% | Purina Pro Plan | 40.9% | 27.3% | 1186 |
| Beef Mash | 15.2% | Nom Nom | 34.8% | 21.7% | — |
| Turkey Recipe | 15.3% | Sundays for Dogs | 44.7% | 25.9% | 5300 |
| Beef Recipe | 16.5% | Sundays for Dogs | 41.2% | 29.4% | 5400 |
| Duck & Brown Rice Recipe (Canned) | 18.2% | Natural Balance | 31.8% | 31.8% | 1170 |
| With Real Chicken in Gravy | 18.2% | Purina Dog Chow | 50% | 13.6% | 987 |
| Turkey & Chicken Cookout | 18.8% | Nom Nom | 29.2% | 20.8% | — |
| Fish Recipe | 19.1% | Sundays for Dogs | 44.7% | 21.2% | 4780 |
| Fish & Sweet Potato | 19.4% | JustFoodForDogs | 38.9% | 11.1% | 922 |
| Adult Chicken | 20.5% | Pedigree | 36.4% | 27.3% | 1171 |
| Chicken Recipe | 21.4% | Sundays for Dogs | 42.4% | 21.2% | 5100 |
| Beef & Russet Potato | 22% | JustFoodForDogs | 34% | 28% | 1559 |
| Pork Potluck | 22% | Nom Nom | 32% | 20% | — |
| With Beef, Carrots, Peas & Barley | 22.7% | Beneful | 50% | 9.1% | 936 |
| Chicken Cuisine | 22.9% | Nom Nom | 33.3% | 16.7% | — |
| Extreme Athlete Chicken & Rice Formula | 23.3% | Diamond Naturals | 35.6% | 27.8% | 4107 |
| Beef Dish with Sweet Potatoes | 26.8% | Ollie | 32.1% | 25% | 1540 |
| Small & Medium Breed Puppy Chicken & Rice | 27.2% | Diamond Naturals | 35.6% | 24.4% | 3995 |
| Turkey + Quinoa | 29.3% | Spot & Tango | 34.5% | 20.7% | 1625 |
| Turkey Fare | 30.4% | Nom Nom | 32.1% | 14.3% | — |
| Appalachian Valley Small Breed with Venison | 31.1% | Taste of the Wild | 35.6% | 20% | 3719 |
| High Prairie with Roasted Bison & Venison | 31.1% | Taste of the Wild | 35.6% | 20% | 3719 |
| Wetlands with Roasted Fowl | 31.1% | Taste of the Wild | 35.6% | 20% | 3750 |
| Zssential Formula | 31.1% | Zignature | 35.6% | 18.9% | 3700 |
| Lamb Pilaf | 32% | Nom Nom | 24% | 18% | — |
| Ancient Prairie with Roasted Bison & Venison | 32.2% | Taste of the Wild | 35.6% | 20% | 3920 |
| Medium Puppy | 32.9% | Royal Canin | 33.3% | 20.4% | 3869 |
| Beef + Barley | 34.7% | Spot & Tango | 28.4% | 23.2% | 4792 |
| Puppy Gold | 35% | Fromm | 30% | 20% | 3849 |
| Salmon Tunalini | 35% | Fromm | 31.1% | 17.8% | 3658 |
| Turkey Formula | 35% | Zignature | 35.6% | 16.1% | 3600 |
| Puppy Chicken & Rice Formula | 35.2% | Purina Pro Plan | 31.8% | 20.5% | 4167 |
| High Prairie Puppy with Roasted Bison & Venison | 35.6% | Taste of the Wild | 31.1% | 18.9% | 3656 |
| Trout & Salmon Formula | 35.6% | Zignature | 34.4% | 15.6% | 3600 |
| Healthy Puppy Chicken | 36.4% | Purina ONE | 31.8% | 19.3% | 4135 |
| Southwest Canyon with Wild Boar | 36.7% | Taste of the Wild | 32.2% | 16.7% | 3600 |
| Lamb Formula | 36.7% | Zignature | 31.7% | 16.7% | 3700 |
| Pork Formula | 36.7% | Zignature | 33.3% | 16.7% | 3700 |
| Catch-of-the-Season Whitefish Grain-Free | 37.2% | Open Farm | 33.3% | 15.6% | 3437 |
What the order does not mean
These are estimates, not label values. A food that publishes less data can appear artificially good or bad on this ranking — which is why the gaps are shown.
No number in the sorted column was published directly. Each figure is nitrogen-free extract computed by difference — carbohydrate ≈ 100 − protein − fat − fibre − moisture − ash — and then converted to a dry-matter basis. Where ash is published, BowlGrade uses it; for the other 40 rows we assume 8% below 50% moisture and 2.5% above it. That is written out in the methodology and every result remains marked est..
That makes this the least certain list here, and it inherits every soft edge in its inputs. Protein and fat are guaranteed minimums while fibre and moisture are guaranteed maximums, so a brand that publishes conservative guarantees produces a high carbohydrate estimate and moves down the table for reasons of labelling policy rather than recipe. Two foods a percentage point apart are not distinguishable by this method: read the ranking as bands, not as positions.
17 of the 123 foods are missing at least one of the four published inputs, so no estimate exists for them and none was invented — those manufacturers are named instead. 18 of the 40 rows share their value with at least one other row, and ties are broken alphabetically, which means the order inside a tie carries no information. The table stops at 40 rows; the other 66 eligible formulas are in the full index.
What the order does not mean: a lower estimate is not a better food, and low-carbohydrate is not a health claim this site will make on a dog's behalf. 20 of the 40 rows here carry a grain-free claim, which is a labelling fact and not a carbohydrate level — the two are tracked separately for that reason. An estimate built on an assumption cannot carry a verdict, which is why the assumption is printed beside it.
40 rows · high to low
Ordered by dry-matter protein, 31.8–50% across the rows shown.
40 rows · high to low
Ordered by metabolisable energy per kilogram, 3,688–5,400 kcal/kg across the rows shown.
40 rows · low to high
Ordered by metabolisable energy per kilogram, 922–3,550 kcal/kg across the rows shown.
40 rows · high to low
Ordered by dry-matter fat, 17.6–31.8% across the rows shown.
Method
Sourcing, dry-matter conversion, the carbohydrate estimate and its ash assumption, and what we refuse to guess.
Edition updated 2026-07-27 Methodology