Chocolate substitutions that work

Most substitutions work if you adjust the sugar and the fat. Two do not work at all, and it is worth knowing which.

intermediate

If you read nothing else

Substituting chocolate changes sugar, fat and cocoa solids simultaneously. Adjust the sugar first — it is the largest and most predictable difference.

Dark for dark, different percentage

The easiest substitution. Moving from 55% to 70% removes roughly 15g of sugar per 100g of chocolate; add that back to the recipe if the sweetness matters. Moving the other way, reduce the recipe's sugar by the same arithmetic.

Unsweetened for sweetened, or the reverse

The largest adjustment. Unsweetened chocolate contains no sugar at all, so replacing a 55% bar with it removes about 45g of sugar per 100g. Add that to the recipe. In the other direction, reduce the recipe's sugar by the same amount — this is the substitution that most often ruins an American recipe made in Europe.

Cocoa powder for chocolate

Possible with compensation. Cocoa powder has had most of its fat pressed out, so replacing solid chocolate with it removes substantial fat. The usual approximation is roughly three tablespoons of cocoa plus one tablespoon of fat for each 30g of unsweetened chocolate. Also check the leavening: natural and Dutch-process cocoa are not interchangeable.

The two that do not work

White chocolate cannot substitute for dark on any basis — it contains no cocoa solids, so it contributes no chocolate flavour, no colour and a completely different sugar load. And compound coating cannot substitute for couverture where the chocolate is eaten as chocolate, because the melt behaviour differs in kind rather than degree.

When it does not matter

In a strongly flavoured bake — anything with a lot of spice, coffee, citrus or nut — the differences between similar dark chocolates largely disappear. Save the careful substitution arithmetic for recipes where the chocolate is the point.

Covered in this guide

Sources

  • ChocolateHQ editorial synthesisChocolateHQ(citation identity confirmed; passage not re-read)