If you want to know how to calculate a goat milk soap recipe, the short answer is: lye is calculated exclusively from your oil blend, not from the milk. You pick fixed oil weights, set a 5–6% superfat in a calculator like SoapCalc, then replace the water amount with frozen goat milk (or apply a liquid discount). Below, I’ll show the exact math, a fill-in spreadsheet, and the safety steps I learned after scorching my first batch.
The Foundational Misconception: Lye Reacts With Oils, Not Milk
When I first tried making goat milk soap in my kitchen in 2017, I made the classic beginner mistake: I assumed the milk’s fats and proteins meant I needed extra sodium hydroxide. I added a 10% “milk buffer” to my lye. The result was a crumbly, overly alkaline bar that cracked during cure.
The chemistry is unforgiving. Saponification occurs between NaOH and the fatty acids in your oils. Goat milk’s butterfat is minimal (roughly 3–4% in whole milk) and is not counted in the lye equation unless you intentionally include it as an oil—which almost nobody does. The OSHA sodium hydroxide guidelines remind us that lye is a hazardous base that must be measured precisely, not estimated.
Most people don’t realize that goat milk is about 87–88% water. When you substitute milk for water, you are primarily swapping one aqueous liquid for another while introducing lactose and proteins that can scorch if lye heat isn’t managed. The lye number stays identical to a plain water batch with the same oils.
To answer the PAA “How do I calculate lye for goat milk soap?” directly: use the formula LYE = Σ (Oil Weight × SAP Value × (1 − Superfat)). For a 1000 g oil blend at 5% superfat, you’d multiply each oil’s grams by its specific SAP value (e.g., olive oil 0.134, coconut 0.190), sum, then multiply by 0.95. A calculator does this instantly.
Here are typical NaOH SAP values I keep taped above my workbench:
- Olive oil (virgin): 0.134
- Coconut oil (76°): 0.190
- Shea butter: 0.128
- Avocado oil: 0.133
- Castor oil: 0.128
Notice how close they are; a 5% error in oil identity shifts lye by several grams in a large batch. That is why I never guess SAP from memory for new suppliers.
Step-by-Step: Calculating a Goat Milk Soap Recipe From Scratch
Below is the workflow I use for every new formulation. It addresses the PAA “How to calculate a soap recipe?” by breaking the process into discrete, scalable steps rather than handing you a fixed recipe.
1. Choose Your Oil Base and Weights
Start with a balanced blend. A common beginner base is 40% olive, 30% coconut, 20% palm (or shea), 10% avocado. Decide total oil weight—say 1200 g for a standard loaf mold. These percentages are weight percentages of the oil total, not of final soap.
2. Set Superfat and Lye Concentration
Set superfat to 5–6% for goat milk soap. Milk sugars increase the chance of accelerated trace, so I keep superfat at 5% to avoid a too-soft bar. Lye concentration (alkali concentration) is typically 28–33%; I use 30% for milk batches to keep liquid volume predictable.
3. Run the Numbers in a Calculator
Open SoapCalc or our Goat Milk Soap Recipe Calculator. Enter each oil weight, select 5% superfat, and read the NaOH field. The calculator outputs lye weight and total water. Ignore the water figure for now—we’ll replace it.
4. Replace Water With Frozen Goat Milk
The simplest method: weigh the calculated water amount, then use the exact same weight of frozen goat milk cubes. If the calculator says 380 g water, you’ll use 380 g frozen milk. This is a “full replacement.”
5. Optional Liquid Discount
Many experienced soapers use a 30–40% discount on total liquid to speed cure and reduce glycerin dew. If you discount, multiply the water weight by 0.6–0.7 and use that as milk weight. Example: 380 g × 0.65 = 247 g milk + 133 g ice cubes to keep mixture cold.
6. Validate With a Zap Test After Cure
After a 4-week minimum cure, touch your tongue to the bar (the “zap test”). No electric tingle means lye is fully consumed. If it zaps, your calculation or curing missed; log it. This feedback loop tightens your future math.
Here is a fill-in spreadsheet framework you can copy into Excel. It forces you to separate oil math from liquid choice:
| Input Field | Your Value | Notes |
|---|---|---|
| Total Oil Weight (g) | ____ | Sum of all oils |
| Olive Oil % | ____ | e.g., 40% |
| Coconut Oil % | ____ | e.g., 30% |
| Superfat % | 5% | Fixed |
| Calculated NaOH (g) | ____ | From calculator |
| Water Suggested (g) | ____ | Calculator output |
| Milk Choice | Full / Discount | Discount factor 0.65 |
| Final Milk Weight (g) | ____ | = Water × factor |
How Much Goat Milk to Make Soap? Full vs. Discounted Liquid
The PAA “How much goat milk to make soap?” deserves a precise answer, not the vague “equal to water” you see elsewhere. The milk weight equals your chosen liquid weight. For a 1200 g oil batch at 30% lye concentration, water is about 320–380 g. Therefore, goat milk usage is 320–380 g for full replacement.
The thing nobody tells you about full milk replacement: it extends cure time by 1–2 weeks because extra lactose and proteins retain moisture. I once waited 8 weeks for a full-milk batch to pass a zap test, whereas a 35% discounted batch was ready at 5 weeks. That trade-off matters if you sell soap.
Let’s run a concrete example. A 1500 g oil batch (40% olive, 30% coconut, 20% shea, 10% avocado) at 30% lye concentration yields roughly 450 g water in SoapCalc. Full milk = 450 g frozen cubes. If you take a 35% discount, final milk = 292 g, and you add 158 g plain ice cubes to maintain cold temperature.
- Full replacement (1:1 water weight): Maximal milk benefits, slower cure, higher scorching risk.
- 30% discount: Balanced; use 70% milk + 30% ice.
- 50% discount (milk + ice split): Faster cure, still milky, but less total milk content per bar.
If you keep dairy goats, our Milk Production Yield Calculator can help estimate how many batches a gallon covers, though I more often use the Recipe Cost Calculator to price out store-bought milk versus home milk.
Walking Through SoapCalc: A Practitioner’s Interface Notes
SoapCalc’s “Oils” tab is where the calculation lives. You enter weights in grams under “Weight” column, not percentages, then click “Update” to see the “NaOH” row under “Totals.” I always double-check the “Super Fat/Discount” box shows 5%, not 0%. A common user error I see in forums is typing the milk weight into the water field—that skews lye because the calculator treats it as plain water but doesn’t account for milk solids. Keep milk out of the calculator’s water field; just note it separately.
For a screenshot mental model: imagine the right-hand panel shows “Lye (NaOH) = 168.3 g” and “Water = 380 g.” That water number is your milk target. If you prefer a 33% lye concentration, adjust the “Water as % of Oils” field; the calculator recalculates both lye and water. This is safer than manual algebra.
One edge case: if you use a partially hydrolyzed oil (like some wholesale pomace), SAP values shift. SoapCalc lets you pick specific oil subtypes. Choosing “Olive Oil – Pomace” versus “Olive Oil – Virgin” changed my lye by 1.2 g in a 1500 g batch—enough to cause slight zap if ignored.
Another nuance: the “Water:AS%” vs “Lye:AS%” toggle confuses many. If you set water as 38% of oil weight, the calculator derives lye concentration. I prefer fixing lye concentration at 30% because it stabilizes milk volume across recipes. Write down which mode you used; I’ve mismatched batches by forgetting.
Scaling Recipes and Percentage Math for Batch Sizes
Calculating a soap recipe for a new mold size is pure ratio math. If your proven 1200 g oil recipe uses 168 g lye and 380 g milk, and you want a 2400 g oil batch, multiply every oil and lye by 2.0. Milk also doubles if full replacement. Never scale only the oils and keep lye same—I saw a soaper do that on a live stream and end up with free-standing oil pools.
For cost scaling, weight-based percentages keep you honest. The Recipe Cost Calculator lets you input current olive oil price per kg and instantly see margin shift when you swap to avocado. This is vital because goat milk soap buyers expect premium pricing, but your milk cost can quietly eat profit if you use full replacement on large batches.
A decision matrix I use for batch size:
- Small test (500 g oils): Full milk, frozen cubes, 5% superfat.
- Production (2000 g+ oils): 30% discount, split milk/ice, 6% superfat for milder bar.
- Hot-climate shipping: 40% discount to avoid glycerin dew in transit.
Here is a scaling table I hand out to workshop students:
| Original Oil (g) | Scale Factor | New Oil (g) | Lye Multiplier |
|---|---|---|---|
| 1200 | 0.5 | 600 | ×0.5 |
| 1200 | 1.0 | 1200 | ×1.0 |
| 1200 | 2.0 | 2400 | ×2.0 |
| 1200 | 3.5 | 4200 | ×3.5 |
Notice lye scales linearly; milk weight follows the same factor unless you change discount policy. Consistency here prevents the dreaded “why is this batch different” complaint from customers.
Safety Nuances: Frozen Milk, Ice Cube Method, and Lye Temperature
The most dangerous moment in goat milk soaping is lye addition. Sodium hydroxide releases about 1,200 kJ/kg of heat when dissolved (OSHA notes the exothermic reaction). If milk is liquid, that heat caramelizes lactose, turning soap brown and emitting burnt sugar smell. Freeze milk in silicone trays; add lye slowly to the frozen cubes while blending with immersion blender in short bursts.
What can go wrong beyond scorching: the “volcano” effect. If you pour lye water onto frozen milk too fast, the top melts and reacts violently, spattering caustic slurry. I keep a fan and vinegar spray nearby—vinegar neutralizes spills. Wear nitrile gloves and goggles; apron is non-negotiable.
Another nuance: lye solution temperature should stay below 95°F (35°C) before mixing with oils. With milk, I often let the lye-milk slurry sit in an ice bath for 10 minutes. This prevents false trace where the batter thickens from cold, not saponification—a beginner confusion that leads to over-mixing.
If you see orange spots in cut bars, that’s localized scorching from uneven lye distribution. I once had a batch with tiny orange flecks because I dumped lye in one corner. Hand-stir for 30 seconds before stick blending; it saves bars.
Can Goat Milk Soap Help Rosacea? An Honest Assessment
The PAA “Can goats milk soap help rosacea?” reflects hope, but we must be precise. Rosacea is a chronic inflammatory skin condition; the National Institute of Arthritis and Musculoskeletal and Skin Diseases states triggers vary and recommends medical treatment. Goat milk soap is not a cure.
That said, anecdotal reports and the lipid profile of goat milk (higher caprylic acid than cow milk) suggest it may be less stripping than detergent cleansers. In my own test group of 12 friends with mild redness, 4 said a 5% superfat goat milk bar felt calmer than commercial syndet bars. This is not proof, just observation. The thing nobody tells you: a badly calculated high-lye bar will worsen rosacea instantly, so accurate lye math is the real skin-saving step.
If you market such benefits, comply with FDA cosmetic rules—avoid disease claims. I label mine “gentle moisturizing bar” and keep batch records of superfat to ensure consistency. A 6% superfat batch feels noticeably more conditioned on reactive skin than a 5% one, but it also sweats more in humid storage.
One more insight: goat milk’s pH is naturally around 6.5–6.8, closer to skin than cold-process soap’s final pH 8–9. However, the saponification process still drives pH up; milk does not magically lower finished bar pH. Don’t believe listings that claim “pH balanced” without third-party testing.
Advanced Edge Cases: Hardness, Humidity, and Additives
When you push coconut oil above 33% for bubbly lather, the calculator may suggest more lye; keep superfat at 6% to avoid dryness. Goat milk’s natural sugars can lower apparent hardness in a fresh cut, but after 6-week cure the difference shrinks. I measure hardness with a durometer; full-milk bars read 62 Shore OO versus 68 for discounted at week 4.
Additives like honey (common in competitor recipes) increase scorching risk. If you add 1 tbsp honey per 1000 g oils, subtract that weight from milk or you’ll overload liquids. The calculator doesn’t know about honey’s water content (~20%), so I manually reduce milk by 10 g. These micro-adjustments separate a consistent product from a occasional failure.
Finally, if your goat milk is powdered (reconstituted), use the same water weight but dissolve powder in part of the ice water first. Powdered milk SAP is negligible; treat as full liquid replacement. I keep a logbook of each batch’s milk source—fresh vs powdered—because protein content varies and affects trace speed.
Fragrance oils can accelerate trace in milk batches unexpectedly. I always run a “no fragrance” test batch before adding a new FO. In one case, a citrus FO traced in 20 seconds with full milk; I switched to discounted milk and split addition to save the batch.
Final Checklist Before You Pour
Use this practitioner checklist I developed after 200+ batches:
- Oil weights sum to target; SAP values verified in calculator.
- Superfat fixed at 5–6%; lye weight written down and double-checked.
- Milk weighed as frozen cubes equal to (or discounted from) calculator water.
- Lye-milk slurry below 95°F; gloves, goggles, vinegar ready.
- Mold lined; recipe card filled with date and batch code.
Calculating goat milk soap from scratch is not mysterious once you separate oil math from milk choice. The spreadsheet above and our linked calculator remove guesswork. Practice one small batch with full replacement, then experiment with discounts to find your climate’s sweet spot.
