Chocolate is one of the foods FDA defines by recipe, so the name on the front of a bar has to match what's inside. Milk chocolate needs at least 10% chocolate liquor, 3.39% milkfat and 12% milk solids. Semisweet or bittersweet chocolate needs at least 35% chocolate liquor, and plain sweet chocolate at least 15%. White chocolate needs at least 20% cocoa butter, 3.5% milkfat and 14% milk solids, and no more than 55% sugar. A coating that swaps some cocoa butter for another vegetable fat can't use those names: FDA's standard calls it something like "milk chocolate and palm kernel oil coating". A small maker who buys couverture doesn't have to do the math, because the supplier's spec sheet names the chocolate; your label uses that name. The rest of the label is the usual: net weight on the front, ingredients including the chocolate's own ingredients, your name and address, and the allergens, which in chocolate are often milk, soy (from soy lecithin) and tree nuts by name. In the example below, a Boise bar maker labels four bars.
The short version
- Chocolate's names are standards of identity: the bar has to meet the standard to use the name.
- Milk chocolate: at least 10% chocolate liquor, 3.39% milkfat, 12% milk solids.
- Semisweet or bittersweet: at least 35% chocolate liquor. Sweet chocolate: at least 15%.
- White chocolate: at least 20% cocoa butter, 3.5% milkfat, 14% milk solids, at most 55% sugar.
- Other vegetable fats: a "coating" name, not chocolate.
- Buying couverture? Use the name on the supplier's spec sheet.
- Allergens: milk, soy lecithin, tree nuts by name.
- TaroStack keeps each bar's recipe and each batch's couverture lot. More below.
The standards
| Name | Chocolate liquor | Milk | Other |
|---|---|---|---|
| Sweet chocolate | At least 15% | Under 12% milk solids | Emulsifiers up to 1% |
| Semisweet or bittersweet chocolate | At least 35% | Under 12% milk solids | Emulsifiers up to 1% |
| Milk chocolate | At least 10% | At least 3.39% milkfat, 12% milk solids | Emulsifiers up to 1% |
| White chocolate | None needed | At least 3.5% milkfat, 14% milk solids | At least 20% cocoa butter, at most 55% sweetener, no coloring |
| Milk chocolate and vegetable fat coating | As milk chocolate | As milk chocolate | Vegetable fats other than cocoa butter |
"Dark chocolate" isn't one of the standard's names, so check what your supplier's spec sheet calls the couverture. A "70% cacao" line on a bar is a statement of fact about the recipe, so it has to be true. Licenses for a chocolate business are in chocolate business license, and what a bar costs in chocolate business profit margin.
The rules
| Rule | Where |
|---|---|
| Using the name | A food represented as a standardized food has to conform to the standard and bear its name (21 U.S.C. 343(g)) |
| Sweet, semisweet, bittersweet | 15% chocolate liquor, or 35% for semisweet and bittersweet; under 12% milk solids (21 CFR 163.123) |
| Milk chocolate | 10% chocolate liquor, 3.39% milkfat, 12% milk solids; "Processed with alkali" when alkali is used (21 CFR 163.130) |
| White chocolate | 20% cacao fat, 3.5% milkfat, 14% milk solids, at most 55% sweetener; a flavor line such as "With ___ added" (21 CFR 163.124) |
| Vegetable fat | "Milk chocolate and vegetable fat coating", or the fat named, as in "milk chocolate and palm kernel oil coating" (21 CFR 163.155) |
Allergens are declared as in food allergen labeling requirements. This is general information, not legal advice.
An example: a Boise bar maker's four labels
Sawtooth Chocolate Co., a made-up chocolate bar maker in Boise, Idaho, melts couverture and adds inclusions for 2 oz bars sold to shops, gift stores and online. Its four labels:
| Bar | Name on the label | Ingredients | Contains |
|---|---|---|---|
| Almond | Bittersweet Chocolate with Almonds | Bittersweet chocolate (chocolate liquor, sugar, cocoa butter, soy lecithin, vanilla), almonds | Almonds, soy |
| Huckleberry | Milk Chocolate with Huckleberries | Milk chocolate (sugar, cocoa butter, whole milk powder, chocolate liquor, soy lecithin, vanilla), dried huckleberries (huckleberries, sugar, sunflower oil) | Milk, soy |
| Lemon | White Chocolate, With Lemon Peel Added | White chocolate (sugar, cocoa butter, whole milk powder, soy lecithin, vanilla), lemon peel | Milk, soy |
| Winter mint | Milk Chocolate and Palm Kernel Oil Coating with Peppermint | Sugar, palm kernel oil, whole milk powder, cocoa, chocolate liquor, soy lecithin, peppermint oil | Milk, soy |
The almond and milk chocolate names come straight from the couverture spec sheets. The winter bar uses a cheaper coating with palm kernel oil, so it can't say "milk chocolate" alone; its name says what it is. Every bar reads "Net Wt 2.0 oz (57 g)" and carries the company's name and Boise address. Soy shows up on all four because the couverture's emulsifier is soy lecithin.
Get the label builder
Download the chocolate label builder. One sheet: your name and address at the top, then each bar's name, net weight in grams, ingredients heaviest first, including the chocolate's own ingredients in parentheses, and the major allergens it contains; the net weight line and the Contains line fill in. It's an ordinary Excel file with no macros, and it works in Google Sheets, LibreOffice and Numbers.
Where this stops working
The label follows the spec sheet. When the supplier changes the couverture, or you switch to another brand that uses a different emulsifier, the ingredients and maybe the name change with it, and the old labels are wrong.
How TaroStack does it
TaroStack keeps each bar's recipe and the couverture lot each batch used.
Recipes with versions. Each bar is a recipe by weight, couverture and inclusions, and a switch to a new couverture is a new version on record.
Batches record their lots. Each batch records the couverture and almond lots it used, so a supplier's recall leads to the bars it went into.
Where it went. Each shop's order records the lots it got, and one recall report shows which shops have them.
| The job | Spec sheets in a folder | In TaroStack |
|---|---|---|
| When the couverture changed | Memory | Recipe versions |
| Which couverture lot went into a batch | Not recorded | Lots on the batch |
| What a bar costs | A guess | True cost from the recipe and batch |
| Which shops got a batch | Invoices | One recall report |
Recipes, batches, lots and recalls are on every plan, from $49 a month. The first 30 days are free, with no credit card. If you'd like a hand setting up, ask, and we'll do it with you.
