Milk Soap Calculator

Milk isn't water. Goat milk is 87% water and 4% fat, so swapping it in gram for gram quietly changes both the lye concentration and the superfat. This works out by how much.

Your recipe

The lye and water your lye calculator gave you, as if the liquid were plain water. The lye calculator will give you both if you don't have them.

The milk
How it goes in
Milk and lye run hot

Lye meeting milk scorches it. Keep the milk frozen or slushy and add the lye slowly, in an ice bath, with gloves and goggles on. Check the lye against a second calculator. Safety statement →

Weigh out

—

Enter the recipe's lye and liquid.

How much goat milk replaces the water?

Every milk soap recipe starts life as an ordinary one. You run the oils through a lye calculator, it gives you a lye weight and a water weight, and then you decide how much of that water will be milk. For the classic bar (1,000 g of oils at 5% superfat and 33% lye concentration) that is 143.8 g of NaOH and 292 g of liquid. Replace all of it with goat milk, gram for gram, and you weigh 292 g of milk.

It works. People have made good milk soap that way for decades. But the calculator believed it was looking at water, and 292 g of goat milk is 254 g of water, 12.1 g of fat, 13.0 g of lactose and 10.4 g of protein. Each of those four does something the recipe didn't plan for, and three of them are arithmetic.

Worked example: the classic bar made with goat milk

143.8 g NaOH, 292 g of liquid, all goat milk (USDA: 87.03% water, 4.14% fat). Only water dissolves lye, so the solution is really 143.8 ÷ (143.8 + 254.1) = 36.1%, not 33%. The 12.1 g of milk fat saponifies like any other fat and wants 1.96 g of the lye, so the bar lands at 6.2% superfat, not 5%. To hold 5% exactly, weigh 145.7 g of lye; to hold 33%, use 335 g of milk. Neither is compulsory; what matters is knowing which soap you made.

Does milk add superfat?

Yes, by an amount you can work out. Milk fat is a triglyceride like olive oil or lard, and the lye in the recipe was sized for the oils alone, so the fat in the milk shares lye the oils were counting on. How much depends entirely on which milk:

Milk, replacing all 292 g of waterFat it bringsNaOH that fat takesSuperfat you getLye to hold 5%
Goat milk, whole12.1 g1.96 g6.2% (+1.2)+1.86 g
Cow milk, whole (3.25%)9.5 g1.54 g6.0% (+1.0)+1.46 g
Cow milk, 2%5.8 g0.94 g5.6% (+0.6)+0.89 g
Cow milk, skim0.2 g0.04 g5.0% (+0.0)+0.04 g
Sheep milk20.4 g3.31 g7.0% (+2.0)+3.14 g
Buttermilk, cultured (lowfat)3.1 g0.51 g5.3% (+0.3)+0.48 g
Buttermilk, whole9.7 g1.56 g6.0% (+1.0)+1.49 g
Half and half33.6 g5.43 g8.3% (+3.3)+5.16 g
Heavy cream105.3 g17.05 g14.6% (+9.6)+16.20 g
Evaporated milk, whole22.1 g3.57 g7.2% (+2.2)+3.39 g
Coconut milk, canned62.3 g11.41 g11.7% (+6.7)+10.84 g
Coconut milk beverage (carton)6.1 g1.11 g5.7% (+0.7)+1.06 g
Almond milk, unsweetened2.8 g0.39 g5.2% (+0.2)+0.37 g
Oat milk6.8 g0.90 g5.6% (+0.6)+0.86 g

Classic bar: 1,000 g oils, 143.8 g NaOH at 5% superfat, 33%. Composition from USDA FoodData Central (SR Legacy; FNDDS for the carton coconut and oat milks). Dairy fat saponified at 0.227 g KOH/g (SoapCalc's milk fat; literature 213–235 mg KOH/g), coconut milk as coconut oil, plant milks as their oil. The superfat is recalculated with the milk fat counted as one more oil in the recipe.

Goat milk adds about one point of superfat. Cream adds ten.

Goat milk is often said to add 2–3% superfat. At full replacement the arithmetic gives +1.2, and with the split method, where only 51% of the liquid is milk, +0.6. The other figure you'll meet, "+5%", was a maker entering coconut milk into a calculator, and canned coconut milk really does do that: +6.7 points here. Heavy cream is +9.6.

So for goat, cow or sheep milk the fat is a small extra you can ignore or keep. For half and half, cream, evaporated milk or coconut milk it is a real formulation change: a 5% bar made with all cream is a 15% bar: softer, slower to lather, and with more fat left over to go rancid (the DOS guide puts a number on that). Either lower the recipe's own superfat or add the "lye to hold" figure. Goat milk fat has been measured at 213 mg KOH/g, slightly under the 227 used here, so for goat milk the table is if anything a touch generous. The superfat guide explains why a point either way at 5% is well inside the margin.

Milk is 87% water: a built-in water discount

Only water dissolves lye. Swap milk for water gram for gram and the lye has less water than the recipe says: for every 100 g of goat milk you replace, 13 g of what the calculator counted as water is fat, sugar and protein. At full replacement that turns a 33% recipe into a 36.1% one; with sheep milk (80.7% water) it's 37.9%, and with heavy cream 46.0%.

For most milks that's a mild water discount: a little less working time, a slightly shorter cure. It matters when the recipe is already at 38–40%, where it pushes you past the concentration most people would choose on purpose, and for cream, where the "water" is barely half water. If you'd rather keep the concentration you designed, tick match the water in the tool: it uses 335 g of goat milk instead of 292 g, so the milk's own water is the 292 g the recipe wanted. That also brings a little more fat and sugar with it; the tool counts both.

The printable milk chart

The split method: how much water to dissolve the lye

The split method keeps milk away from concentrated lye altogether: dissolve the lye in plain water, add the milk to the oils, then combine. What matters is how little water. It isn't a preference; it's solubility. Sodium hydroxide dissolves at about 109 g per 100 mL of water at 20 °C (a saturated solution is roughly 52% lye), so 1 part water to 1 part lye (a 50% solution) is the floor, with very little margin. It's the same strength masterbatchers keep in a jug. Less water than that and the lye won't all dissolve; the tool refuses to print a split below it.

That floor sets a ceiling on the milk. The water for the lye is fixed by the lye weight, so the milk is whatever liquid is left, and that shrinks fast as you discount water:

Recipe lye concentrationTotal liquidWater to dissolve the lye (1:1)Most milk the split allowsMilk share
25%431 g143.8 g288 g67%
28%370 g143.8 g226 g61%
30%336 g143.8 g192 g57%
33%292 g143.8 g148 g51%
35%267 g143.8 g123 g46%
38%235 g143.8 g91 g39%
40%216 g143.8 g72 g33%

Classic bar, 1,000 g oils, 143.8 g NaOH at every concentration: the lye doesn't change, only the liquid. The water for the lye equals the lye's weight, and the milk is the rest of the liquid.

At 33% the split method can make about half the liquid milk; at 40% only a third; at 50% none at all. If you want more milk than that, it's the frozen method, or a more generous water figure in the first place. Split-method soap has the practical advantage that the milk never meets hot concentrated lye, so it scorches far less. The trade is less milk per bar.

Why milk soap turns tan or orange, and how to keep it pale

Milk carries sugar (lactose, 4.5% of goat milk and 4.8% of cow's), and sugar in strong, hot alkali browns. Orange milk soap comes down to that: heat plus sugar. Lye dissolving is violently exothermic, so milk that meets lye warm goes from cream to tan to orange in seconds, with a smell to match. Everything in milk soap technique is heat control:

  • Freeze the milk in cubes or to a slush, and add the lye a spoonful at a time in an ice-water bath, stirring until each dissolves. Tutorials put the ceiling anywhere from about 70 °F to 100 °F; the cooler you keep it, the paler the soap.
  • Soap cool. Combine the lye-milk and oils at or near room temperature.
  • Prevent gel if you want a pale bar: into the fridge or freezer after pouring. The gel phase guide explains why a loaf gels more readily than cavity molds, and sugars push a batch toward gel.
  • Or accept the tan. A gelled goat milk bar is a warm beige and perfectly good soap; the color is cosmetic.
A full-milk bar carries the sugar of a teaspoon of honey per pound

Honey is the other sugar people add to soap, usually at about a teaspoon per pound of oils, and it has a reputation for overheating. Replacing all the water with goat milk puts 13.0 g of lactose into 1,000 g of oils, the sugar of 1.0 teaspoons of honey per pound. Whole cow milk is 1.1. So a milk bar is already a honey bar, as far as heat goes; add honey on top and you've doubled it. Evaporated milk, at 10% sugar, is 2.3. The chart above has the figure for each milk.

The ammonia smell

Fresh milk soap often smells of ammonia, sometimes strongly, for the first week or two. Milk proteins carry amide groups that strong alkali strips off as ammonia, and the heat that scorches the sugar speeds it up. It's normal and it cures out; makers commonly report ten days or so. We couldn't find a measurement of how much lye the proteins and sugars themselves consume, so this calculator doesn't model it. What it can compute, the fat and the water, it does.

Buttermilk, yogurt and kefir take extra lye

Cultured milks are soured by lactic acid, and lactic acid neutralizes lye before any oil sees it: 0.444 g of NaOH for every gram, the same arithmetic as the citric acid and vinegar calculator. The difficulty is that no label states how much lactic acid is in the carton, and it rises as the culture ages. As an illustration only: if cultured buttermilk carried 1% lactic acid by weight, the 292 g replacing the classic bar's water would consume 1.30 g of NaOH. Together with its 3.1 g of fat, the 5% bar comes out near 6.2% superfat. That's safe in the direction that matters: cultured milks only ever push toward more superfat, never less. If you want to hold the design, the acid calculator takes lactic acid at whatever strength you assume.

Milk powder and coconut milk powder

Powders sidestep the whole heat problem: the recipe's liquid stays plain water, and the powder goes in at trace, whisked into a little of the oils first so it doesn't clump. It carries no meaningful water, so the lye concentration is exactly what you designed. But it is concentrated fat and sugar, which shows fast:

Powder at tracePer 1,000 g oilsFatSuperfat (5% recipe)Sugar as honey
Whole milk powder10 g2.7 g5.3%0.3 tsp/lb
Whole milk powder20 g5.3 g5.5%0.6 tsp/lb
Whole milk powder40 g10.7 g6.1%1.2 tsp/lb
Coconut milk powder10 g6.4 g5.7%0.2 tsp/lb
Coconut milk powder20 g12.8 g6.4%0.3 tsp/lb
Coconut milk powder40 g25.6 g7.9%0.7 tsp/lb

Whole milk powder from USDA FoodData Central 170876 (26.7% fat, 38.4% sugar). Coconut milk powder from a supplier specification (64% fat); brands vary widely and many contain maltodextrin and sodium caseinate, a milk protein. Goat milk powder labels run near 29% fat, close to the cow figure. Superfat counts the powder's fat as one more oil, as in the liquid milk table.

Twenty grams of whole milk powder carries 7.7 g of sugar, more than half the 13.0 g in a full goat milk bar, so powder at trace still heats the batch, just later, when there's less time left for it to matter. Coconut milk powder is two-thirds fat: 40 g of it in a kilo of oils is a 8% superfat bar before you've touched the recipe.