AAFCO's Pet Food Label Modernization (PFLM) model regulations replace the guaranteed analysis with a “Pet Nutrition Facts” box: Calories per cup, can or treat, Calories from protein, fat and carbohydrate, and every guarantee per serving. Enter your own numbers and see the box, the linear version for small packages and the very small package version, with the arithmetic behind every number. The preview is free; the print-ready files are $29 per product.
Formatted from your numbers using AAFCO's model regulation text. We don't review labels or guarantees; your state and your lab confirm those.
The form starts with example numbers for a dry dog food. Replace them with yours; the preview updates as you type. Everything stays in your browser.
Preview
Full box (PF5(a)/(b))Linear format for small packages (PF5(f): over 12 and up to 40 sq in)Very small packages (PF5(g): 12 sq in or less)
How each number is calculated
Every number in your box, the formula behind it, your numbers in it, and the rule section it comes from.
Number
Formula
Your numbers
Result
Rule
The formulas
Total Carbohydrate (max %) = 100 − (crude protein + crude fat + moisture + ash), from the guarantees. PF5(a)(3)(A)(iii), PF5(b)(2)(A)(iii)
Amount per unit = guaranteed amount × grams in the unit (÷ 100 for %, ÷ 1,000 for mg/kg and IU/kg). PF5(a)(3), PF5(b)(2)
Calories (calculated): ME (kcal/kg) = 10[(3.5 × CP) + (8.5 × CF) + (3.5 × NFE)], where NFE = 100 − (CP + CF + crude fiber + moisture + ash), all average values as fed; then × grams in the unit ÷ 1,000. Shown as “Calories per cup†”. PF9(a)(1), PF5(a)(2)(A)(i)
Calories (feeding test): your measured kcal/kg × grams ÷ 1,000, shown as “Calories per cup (fed)”. PF9(a)(2), PF5(a)(2)(A)(ii)
From: Protein, Fat, Carbohydrate = 10(3.5 × CP), 10(8.5 × CF) and 10(3.5 × NFE) kcal/kg, each × grams ÷ 1,000. With a feeding-test total, a † follows the carbohydrate number. PF9(c), PF5(a)(2)(B)
Very small packages: guarantees in weight per entire contents (guarantee × net grams), and for dog and cat food “Cal (calc)” or “Cal (fed)”. PF5(g)(4), (5)
The trap: Total Carbohydrate on the label uses your guarantees (minimum protein and fat, maximum moisture) and doesn't subtract crude fiber, while the Calorie formula uses average values and does subtract crude fiber. The two carbohydrate figures differ by design.
Print-ready files: $29 per product
Pet Nutrition Facts files — $29 per product
Vector SVG files of the full box, the linear small-package version and the very small package version, without the preview watermark, ready for your label designer
A printable PDF (your browser's Print → Save as PDF) of all three plus the “How each number is calculated” table for your records
A plain-text file of every version, for typesetting
Fix a typo later and download again: the purchase covers this product name in this browser
One-time payment through Stripe. Your numbers and product name stay in your browser; we receive only a one-way fingerprint of the product name, to match the purchase to the product. Formatted from your numbers using AAFCO's model regulation text. We don't review labels or guarantees; your state and your lab confirm those.
Your earlier purchase in this browser covers a different product name. Each product is a separate $29 purchase.
At 100% size the box text is 8 pt. The linear and very small files are sized so capital letters meet the minimum type size for their format; scale up, not down.
The nutritional adequacy statements you can pick
Quoted from the rule. The page fills only the blanks: your product name, the species and the life stage(s).
Dog and cat food (PF5(a)(3)(F))
“(Name of product) is formulated to meet the nutritional levels established by the AAFCO Dog (or Cat) Food Nutrient Profiles for ____.” PF5(a)(3)(F)(i)(aa)
“Animal feeding tests using AAFCO procedures substantiate that (Name of Product) provides complete and balanced nutrition for ____.” PF5(a)(3)(F)(i)(bb)
“(Name of Product) provides complete and balanced nutrition for (Blank ...) and is comparable in nutritional adequacy to a product which has been substantiated using AAFCO feeding tests.” PF5(a)(3)(F)(i)(cc)
“This product is intended for intermittent or supplemental feeding only,” PF5(a)(3)(F)(iii)
Specialty pet food (PF5(b)(2)(F))
“This product is intended to be a daily food.” PF5(b)(2)(F)(i)
“(Name of product) is formulated to meet the nutritional levels established by [the AAFCO-recognized authority] for ____.” PF5(b)(2)(F)(ii)(aa)
“This product is intended for intermittent or supplemental feeding only,” PF5(b)(2)(F)(ii)(cc)
Large dogs (added to a dog food “formulated to meet” statement for growth or All Life Stages): “including growth of large size dogs (70 lb. or more as an adult)” or “except for growth of large size dogs (70 lb. or more as an adult)”.
Not offered: a nutritional or dietary statement “for purposes other than those listed” (PF5(a)(3)(F)(ii), PF5(b)(2)(F)(ii)(bb)). That is free text your substantiation has to support, so we don't generate it.
Where the rules are unclear, and what we do
Rounding. The rule doesn't say how to round. Amounts per unit are rounded half up to 0.1 g or mg (whole IU from 10 IU), as in AAFCO's key example (23% of 90 g “to get 20.7”). Calories are whole numbers, each rounded separately, so the three “From:” numbers can differ from the total by 1; the preview says when they do.
Which ash goes in Total Carbohydrate. The formula says “Ash” without saying guarantee or typical value. We use the ash you enter. A higher ash value gives a lower carbohydrate maximum.
Maximum fat. PF5(a)(3)(A)(vi) lists it “if required by Regulation PF9”, but the maximum-fat requirements are in PF10(b) (lean, low fat, reduced fat), which is also what AAFCO's box key cites. It is optional here.
Type size for the linear format. AAFCO's 2023 final text says “must not be smaller than 1/6 inch”; the 2024 Official Publication (as adopted in Alabama) has a table: 3/16 inch over 12 to 25 sq in, 1/8 inch over 25 to 40 sq in. We follow the table and size capital letters to it. If your state measures lowercase letters (as the federal net-quantity rule does), scale the file up about 38%.
Very small packages. PF5(g)(2) names the heading “Nutrition Facts”; AAFCO's example image shows “Pet Nutrition Facts”. We use the rule's wording. PF5(g)(4) asks for “total calories” and PF5(g)(5) states guarantees per entire contents, so we give Calories for the entire contents too; AAFCO's key points at the per-unit figure. They match when the package holds one unit.
Linear format. AAFCO's example leaves out the unit's weight in grams; PF5(f) says all the PF5(a) information must appear, so we include it. We keep the box's order (guarantees, “†Calculated value”, disclaimers, statement), per PF5(f)(1).
Several life stages. The rule leaves the blank to you; we join stages with commas and “and”. For specialty pets we write “[stages] of [species]”, and fill the authority with the words of PF4(g)(1)(C) (the National Research Council's Committee on Animal Nutrition). Your state may prefer a specific publication title.
Additional guarantees. They go in the order and units of the AAFCO Dog or Cat Food Nutrient Profiles, which aren't part of the free rule text, so we keep your order. AAFCO's box key draws a bold line above them; the rule text says hairlines between guarantees, which is what we draw.
What this doesn't do
Review anything. We don't check that your guarantees, lab results, Calorie method or adequacy claim are right for your product, or that a state will accept the label.
Food supplements with per-feeding-unit guarantees (tablets, capsules: PF5(c)), microorganism or enzyme guarantees, and vitamin or mineral supplements that PF5(e) exempts.
The rest of the label: the intended use (purpose) statement, feeding directions, ingredient list and other PF2 items.