Pet Food Analysis by Barcode: Dog and Cat Carb Estimate

Scan a bag of kibble: protein, fat, ash, fibre and moisture published by Open Pet Food Facts, plus carbohydrates estimated by difference.

Reading a pet food label and estimating its carbohydrates

Dog and cat food makers state crude protein, fat, ash and fibre, but not carbohydrates. They are estimated by difference: carbohydrates ≈ 100 − protein − fat − ash − fibre − moisture. The tool reads these values from Open Pet Food Facts using the barcode and does the sum, as fed and on a dry-matter basis.

What the tool shows

  • The analytical constituents published on the product page: crude protein, crude fat, crude ash, crude fibre and moisture, as a % of the product.
  • The estimated carbohydrates by difference (nitrogen-free extract), then expressed on dry matter: carbohydrates × 100 ÷ (100 − moisture).

When a value is missing from the page, the estimate is not possible: the tool says so and lets you copy the figure printed on the bag, noting that the result includes your entry. To go from composition to the amount to serve, use the site's kibble portion calculator.

Example

Royal Canin Kitten kibble in a 2 kg bag (code 3182550702423) lists 36% protein, 18% fat, 7.8% ash, 2.3% fibre and 5.5% moisture. Carbohydrates ≈ 100 − 36 − 18 − 7.8 − 2.3 − 5.5 = 30.4%, i.e. 30.4 × 100 ÷ 94.5 ≈ 32.2% of dry matter (page checked on 14/10/2026).

Limits

The sum inherits the rounding of the label, where values are often minimums or maximums, and the result lumps starch and sugars together. Open Pet Food Facts is maintained by volunteers: a page may be incomplete or describe an older recipe. For an animal that is ill, diabetic or overweight, ask your vet.

Sources and dates: Open Pet Food Facts data under the ODbL licence, queried live; Regulation (EC) No 767/2009 on the labelling of feed (mandatory analytical constituents: Annex VII; moisture to be declared above 14%: Annex I, point 6) (checked on 14/10/2026)

Frequently Asked Questions

How do I work out the carbohydrate content of kibble?

By difference: carbohydrates ≈ 100 − protein − fat − ash − fibre − moisture, using the percentages on the label. For 36% protein, 18% fat, 7.8% ash, 2.3% fibre and 5.5% moisture, you get 30.4%. It is an estimate, because manufacturers do not have to declare carbohydrates.

What is crude ash in pet food?

It is not added ash: it is the mineral fraction (calcium, phosphorus, sodium…) left when a sample is burned in the laboratory. In kibble it is often between 5 and 10%. It enters the carbohydrate calculation like the other constituents.

Why compare foods on a dry-matter basis?

Water dilutes nutrients: a wet food with 80% moisture and 10% protein contains 10 × 100 ÷ 20 = 50% protein on dry matter. Kibble with 8% moisture and 30% protein has only 30 × 100 ÷ 92 ≈ 32.6%. Converting to dry matter lets you compare wet and dry food.

Moisture is not shown on my bag. What can I do?

The EU regulation only requires moisture to be declared when it exceeds 14%, which rules out most kibble. Without this value the tool shows no estimate rather than inventing one. If the bag gives it elsewhere, copy it into the field provided.

Is this tool really free?

Yes, all tools on Kristools are 100% free and accessible without registration.

Is my data protected?

Yes. All processing is performed directly and securely inside your browser. No personal data is sent to our servers.