Beginner or new to soap making?
Try our beginner calculator instead.
Added Oils
There are no ingredients in your soap recipe yet. Click an oil in the list to the leftClick "Oil" from the menu above to add an oil to the recipe.
${ oil.name } Properties
${ totalPercent() | formatNumber }% (Total)
Total percent must equal 100%
Total weight: ${ oilWeights | formatNumber } ${ unit.name }(s) Resize Batch
Custom Ingredients
Additives, etc
There are no additional ingredients in your soap recipe yet. Click the add button to add custom ingredients.
Needed Ingredients
Swipe on table to see all values
Ingredient | Gram(s) G | Ounce(s) Oz | Pounds(s) Lb | Oil % Oil % | |
---|---|---|---|---|---|
${ oil.name } | ${ ((usePercentage ? useOilWeight * oil.amount/100 : oil.amount) / units.gram.adjustment * unit.adjustment) | formatNumber } | ${ ((usePercentage ? useOilWeight * oil.amount/100 : oil.amount) / units.ounce.adjustment * unit.adjustment) | formatNumber } | ${ ((usePercentage ? useOilWeight * oil.amount/100 : oil.amount) / units.pound.adjustment * unit.adjustment) | formatNumber } | ${ (usePercentage ? oil.amount : ((oil.amount / oilWeights) * 100)) | formatNumber }% | |
Ingredient | Gram(s) G | Ounce(s) Oz | Pounds(s) Lb | Batch % Batch % | |
Lye - ${ lye.sapName } ${ lyePercentage }% Purity (${ superfatPercentage }% Superfat) | ${ (maxLye * (1-(superfatPercentage/100)) / (units.gram.adjustment / unit.adjustment)) | formatNumber } | ${ (maxLye * (1-(superfatPercentage/100)) / (units.ounce.adjustment / unit.adjustment)) | formatNumber } | ${ (maxLye * (1-(superfatPercentage/100)) / (units.pound.adjustment / unit.adjustment)) | formatNumber } | ${ (maxLye * (1-(superfatPercentage/100))) / lyeWaterOilWeight * 100 | formatNumber }% | |
NaOH (${ superfatPercentage }% Superfat) | ${ (naohMax * (1-(superfatPercentage/100)) / (units.gram.adjustment / unit.adjustment)) | formatNumber } | ${ (naohMax * (1-(superfatPercentage/100)) / (units.ounce.adjustment / unit.adjustment)) | formatNumber } | ${ (naohMax * (1-(superfatPercentage/100)) / (units.pound.adjustment / unit.adjustment)) | formatNumber } | ${ (naohMax * (1-(superfatPercentage/100))) / lyeWaterOilWeight * 100 | formatNumber }% | |
KOH (${ superfatPercentage }% Superfat) | ${ (kohMax * (1-(superfatPercentage/100)) / (units.gram.adjustment / unit.adjustment)) | formatNumber } | ${ (kohMax * (1-(superfatPercentage/100)) / (units.ounce.adjustment / unit.adjustment)) | formatNumber } | ${ (kohMax * (1-(superfatPercentage/100)) / (units.pound.adjustment / unit.adjustment)) | formatNumber } | ${ (kohMax * (1-(superfatPercentage/100))) / lyeWaterOilWeight * 100 | formatNumber }% | |
Lye - ${ lye.sapName } (0% Superfat + 10% Excess Lye) | ${ (maxLye / (units.gram.adjustment / unit.adjustment)) * 1.1 | formatNumber } | ${ (maxLye / (units.ounce.adjustment / unit.adjustment)) * 1.1 | formatNumber } | ${ (maxLye / (units.pound.adjustment / unit.adjustment)) * 1.1 | formatNumber } | ${ (maxLye) * 1.1 / lyeWaterOilWeight * 100 | formatNumber }% | |
NaOH (0% Superfat + 10% Excess Lye) | ${ (naohMax / (units.gram.adjustment / unit.adjustment)) * 1.1| formatNumber } | ${ (naohMax / (units.ounce.adjustment / unit.adjustment)) * 1.1 | formatNumber } | ${ (naohMax / (units.pound.adjustment / unit.adjustment)) * 1.1 | formatNumber } | ${ (naohMax) * 1.1 / lyeWaterOilWeight * 100 | formatNumber }% | |
KOH (0% Superfat + 10% Excess Lye) | ${ (kohMax / (units.gram.adjustment / unit.adjustment)) * 1.1 | formatNumber } | ${ (kohMax / (units.ounce.adjustment / unit.adjustment)) * 1.1 | formatNumber } | ${ (kohMax / (units.pound.adjustment / unit.adjustment)) * 1.1 | formatNumber } | ${ (kohMax) * 1.1 / lyeWaterOilWeight * 100 | formatNumber }% | |
Boric Acid (20% of Solution) | Borax (33% of Solution) | ${ (lyeWaterOilWeight * 0.046875 * boric.properties.concentrations[boric.type]) / units.gram.adjustment * unit.adjustment | formatNumber } | ${ (lyeWaterOilWeight * 0.046875 * boric.properties.concentrations[boric.type]) / units.ounce.adjustment * unit.adjustment | formatNumber } | ${ (lyeWaterOilWeight * 0.046875 * boric.properties.concentrations[boric.type]) / units.pound.adjustment * unit.adjustment | formatNumber } | ${ (lyeWaterOilWeight * 0.046875 * boric.properties.concentrations[boric.type]) / lyeWaterOilWeight * 100 | formatNumber }% |
Water for Boric Acid Solution (80% of Solution) | Water for Borax Solution (67% of Solution) | ${ (lyeWaterOilWeight * 0.046875 * (1 - boric.properties.concentrations[boric.type])) / units.gram.adjustment * unit.adjustment | formatNumber } | ${ (lyeWaterOilWeight * 0.046875 * (1 - boric.properties.concentrations[boric.type])) / units.ounce.adjustment * unit.adjustment | formatNumber } | ${ (lyeWaterOilWeight * 0.046875 * (1 - boric.properties.concentrations[boric.type])) / units.pound.adjustment * unit.adjustment | formatNumber } | ${ (lyeWaterOilWeight * 0.046875 * (1 - boric.properties.concentrations[boric.type])) / lyeWaterOilWeight * 100 | formatNumber }% |
Batch Water (At ${ waterOilPercent } % of Oil Weight)
Includes ${ waterDiscount }% Water Discount |
${ ((oilWeights * (waterOilPercent/100)) / units.gram.adjustment * unit.adjustment) * (1-waterDiscount/100) | formatNumber } | ${ ((oilWeights * (waterOilPercent/100)) / units.ounce.adjustment * unit.adjustment) * (1-waterDiscount/100) | formatNumber } | ${ ((oilWeights * (waterOilPercent/100)) / units.pound.adjustment * unit.adjustment) * (1-waterDiscount/100) | formatNumber } | ${ ((oilWeights * (waterOilPercent/100)) / (1-waterDiscount/100) / lyeWaterOilWeight) * 100 | formatNumber }% | |
Water (${ waterLyeRatio }:1 Ratio) | ${ ((maxLye * waterLyeRatio) / units.gram.adjustment * unit.adjustment) * (1-waterDiscount/100) * (1-superfatPercentage/100) | formatNumber } | ${ ((maxLye * waterLyeRatio) / units.ounce.adjustment * unit.adjustment) * (1-waterDiscount/100) * (1-superfatPercentage/100) | formatNumber } | ${ ((maxLye * waterLyeRatio) / units.pound.adjustment * unit.adjustment) * (1-waterDiscount/100) * (1-superfatPercentage/100) | formatNumber } | ${ ((maxLye * waterLyeRatio) / lyeWaterOilWeight) * 100 | formatNumber } | |
Water (${ lyeToSolutionPercent }% Lye + ${ 100 - lyeToSolutionPercent }% Water Solution) | ${ ((maxLye * ((100 - lyeToSolutionPercent) / lyeToSolutionPercent)) * (1-superfatPercentage/100) / units.gram.adjustment * unit.adjustment) * (1-waterDiscount/100) | formatNumber } | ${ ((maxLye * ((100 - lyeToSolutionPercent) / lyeToSolutionPercent)) * (1-superfatPercentage/100) / units.ounce.adjustment * unit.adjustment) * (1-waterDiscount/100) | formatNumber } | ${ ((maxLye * ((100 - lyeToSolutionPercent) / lyeToSolutionPercent)) * (1-superfatPercentage/100) / units.pound.adjustment * unit.adjustment) * (1-waterDiscount/100) | formatNumber } | ${ (((maxLye * ((100 - lyeToSolutionPercent) / lyeToSolutionPercent)) * (1-superfatPercentage/100)) * (1-waterDiscount/100) / lyeWaterOilWeight) * 100 | formatNumber }% | |
Total Oils | ${ (oilWeights / units.gram.adjustment * unit.adjustment) | formatNumber } | ${ (oilWeights / units.ounce.adjustment * unit.adjustment) | formatNumber } | ${ (oilWeights / units.pound.adjustment * unit.adjustment) | formatNumber } | ${ (oilWeights / lyeWaterOilWeight) * 100 | formatNumber }% | |
Soap Weight (Pre-Cook) | ${ lyeWaterOilWeight / units.gram.adjustment * unit.adjustment | formatNumber } | ${ lyeWaterOilWeight / units.ounce.adjustment * unit.adjustment | formatNumber } | ${ lyeWaterOilWeight / units.pound.adjustment * unit.adjustment | formatNumber } | 100% |
Custom Ingredients
Ingredient | Amount | Unit |
---|---|---|
${ ingredient.name } | ${ ingredient.amount } | ${ ingredient.unit } |
Recommended Additive Amounts
Swipe on table to see all values
For Advanced Soapmakers
Sodium Lactate (60%)
|
|
||||||
Additional Water for Cream Soap | ${ (oilWeights * .792) | formatNumber } ${ unit.name }(s) | ||||||
Glycerine for Cream Soap
|
${ (oilWeights * .0625) | formatNumber } ${ unit.name }(s) | ||||||
Recommended Essential/Fragrance Oil | ${ (oilWeights * 0.0125) | formatNumber } ${ unit.name }(s) | ||||||
Recommended Essential/Fragrance Oil | ${ (oilWeights * .04375) | formatNumber } ${ unit.name }(s) | ||||||
Ascorbic Acid
|
${ (oilWeights * .01) | formatNumber } ${ unit.name }(s) | ||||||
Extra Lye to Neutralize Ascorbic Acid for A.A. |
NaOH: ${ (oilWeights * .01 * .202) * (naohPercentage / naohPurity) | formatNumber } ${ unit.name }(s) KOH: ${ (oilWeights * .01 * .283) * (kohPercentage / kohPurity) | formatNumber } ${ unit.name }(s) KOH: ${ (oilWeights * .01 * .283) * (100/lyePercentage) | formatNumber } ${ unit.name }(s) NaOH: ${ (oilWeights * .01 * .202) * (100/lyePercentage) | formatNumber } ${ unit.name }(s) |
||||||
Lactic Acid
|
${ (oilWeights * .0075) | formatNumber } ${ unit.name }(s) | ||||||
Extra Lye to Neutralize Lactic Acid for L.A. |
NaOH: ${ (oilWeights * .01 * .444) * (naohPercentage / naohPurity) | formatNumber } ${ unit.name }(s) KOH: ${ (oilWeights * .01 * .623) * (kohPercentage / kohPurity) | formatNumber } ${ unit.name }(s) KOH: ${ (oilWeights * .01 * .623) * (100/lyePercentage) | formatNumber } ${ unit.name }(s) NaOH: ${ (oilWeights * .01 * .444) * (100/lyePercentage) | formatNumber } ${ unit.name }(s) |
||||||
Recommended Liquid Crothix
|
${ (lyeWaterOilWeight * 0.01) | formatNumber } - ${ (lyeWaterOilWeight * 0.08) | formatNumber } ${ unit.name }(s) | ||||||
Tetrasodium EDTA
|
${ (lyeWaterOilWeight * 0.005) | formatNumber } ${ unit.name }(s) | ||||||
Sodium Citrate
|
${ (oilWeights * 0.013) | formatNumber } - ${ (oilWeights * 0.039) | formatNumber } ${ unit.name }(s) | ||||||
Potassium Citrate
|
${ (oilWeights * 0.016) | formatNumber } - ${ (oilWeights * 0.048) | formatNumber } ${ unit.name }(s) | ||||||
Rosemary Oleoresin (ROE)
|
${ (oilWeights * 0.004) | formatNumber } - ${ (oilWeights * 0.005) | formatNumber } ${ unit.name }(s) | ||||||
Citric Acid Powder (${ citricAcid.selected })
|
|
||||||
Extra Lye to Neutralize Citric Acid Powder
for C.A.
|
|