Why shave soap uses both lyes
Sodium soaps are hard and slow to dissolve; potassium soaps are soft and lather fast. A shaving soap wants both: enough sodium that the puck holds its shape in the bowl, enough potassium that a wet brush raises a dense lather in thirty seconds. So shave-soap makers saponify part of the oils with NaOH and part with KOH — typically 50–70% of the job done by KOH — on a recipe that is half stearic acid for the dense, stable foam. Cream soaps and shaving creams push further toward KOH, to 75–90%, and stay spoonable.
When a recipe says 60/40, it means KOH saponifies 60% of the oils and NaOH the other 40%. The calculator works it out as: full KOH for the whole batch × 60% ÷ purity, plus full NaOH for the whole batch × 40%. Because KOH is a heavier molecule (56.1 vs 40) and is only 90% pure, the weights come out quite different from 60/40: on the shave recipe at 500 g, a 40% NaOH share is 28.8 g NaOH and 67.3 g KOH — 30% NaOH by weight. A calculator that splits by weight instead would give a noticeably different soap. This one splits by saponification, which is how the recipes are written, and prints the weight ratio so you can check the other kind.
The shave recipe at every split
| NaOH share | KOH share | NaOH | KOH (90%) | Total lye | NaOH by weight | Result |
|---|---|---|---|---|---|---|
| 0% | 100% | 0.0 g | 112.1 g | 112.1 g | 0% | Soft cream / croap |
| 20% | 80% | 14.4 g | 89.7 g | 104.1 g | 14% | Cream soap, shaving cream |
| 30% | 70% | 21.6 g | 78.5 g | 100.1 g | 22% | Soft puck — the common shave range |
| 40% | 60% | 28.8 g | 67.3 g | 96.1 g | 30% | Soft puck — the common shave range |
| 50% | 50% | 36.0 g | 56.1 g | 92.1 g | 39% | Firm puck, still lathers fast |
| 70% | 30% | 50.4 g | 33.6 g | 84.0 g | 60% | Hard puck, slower to load |
| 100% | 0% | 72.0 g | 0.0 g | 72.0 g | 100% | Hard bar soap — poor shave lather |
Stearic acid 50 / coconut 25 / shea 15 / castor 10 at 500 g, 3% superfat, 33% lye concentration. Computed by this site's engine. Total lye grows as KOH's share grows because KOH weighs more per mole and is 90% pure.
What the recipe looks like
Shave soap is the one recipe where the quality bars are supposed to look wrong. The example above reads hardness 76, cleansing 17, creamy 68, bubbly 26 — a bath-bar calculator would flag the conditioning at 20 as far too low. For a lather that stands up on a brush that is the point: stearic and palmitic acids make the dense, slow-draining foam, coconut adds the fast bubbles that build it, castor holds it together, and the butter is there for slip. The soap is not meant to stay on skin, so the conditioning index does not matter the way it does in a bath bar.
Stearic acid melts at about 157 °F (69 °C) and saponifies the moment it meets lye, seizing a cold-process pour in seconds. Dual-lye shave soap is made hot process: melt the stearic with the oils, add the combined lye solution at 160–180 °F, stir through the seize, and cook until it tests clear. The calculator's water is the lye water; many makers dissolve both lyes in the same water, NaOH first, and some swap part of it for glycerin for slip and a smoother cook.
Cream soap
Cream soap (and its shaving-cream cousin) is the same idea with less stearic acid and far less sodium — the example below, olive-softened and at a 20% NaOH share, needs 14.1 g NaOH and 88.0 g KOH per 500 g of oils at 3% superfat — and it is then whipped with extra water and glycerin after the cook into a paste you scoop. The liquid soap calculator handles the all-KOH end of the spectrum.
Superfat, purity and the usual cautions
Dual-lye recipes run low superfats (2–5%) because excess oil dulls a shave lather, and because stearic acid's SAP value is firmer ground than most oils'. KOH purity defaults to 90% as sold; NaOH to 100%. The combined solution is more caustic and hotter than either alone — goggles, gloves, and a pot with room to foam. Check any recipe against a second calculator before the lye goes in; this one matches SoapCalc for each lye individually, and SoapCalc has no dual mode, which is why this page exists.