Recipe builder · lye calculator

Build a soap recipe

Pick oils and percentages. Lye, water, fragrance, cost per bar and soap-quality bars update as you type, sized to your mold. The link in your address bar is the recipe — share it, bookmark it, print it.

Lye is caustic — every batch

Goggles and gloves on. Lye into water, never water into lye. Check this recipe against a second calculator before you pour. Lye safety, start to finish →

Oils

0%
Start from: · · · ·

Batch

Weight units

No mold saved yet — measure it and every tool will remember it.

Lye

Lye type

SoapCalc assumes pure NaOH (100%); Bramble Berry assumes 97%, which is why its lye runs about 3% higher. Leave 100% unless your supplier says otherwise.

Flake KOH is sold at about 90% purity — SoapCalc's default, and ours. Liquid soap is usually made at 0–3% superfat.

Water

Water convention

Fragrance

3% is a common default; 5–6% is heavy. The supplier's IFRA limit for category 9 (rinse-off) is the ceiling for any specific fragrance.

Cost per bar optional

Prices per kilogram as you buy them; packaging per bar. Saved on this device so you enter them once.

How the lye amount is calculated

Every oil needs a different amount of lye, and the number that says how much is its saponification value (SAP): the grams of potassium hydroxide that fully saponify one gram of that oil. Olive oil's is 0.190; coconut's is 0.257 — coconut's shorter fatty-acid chains mean more molecules per gram, so more lye. For a blend, the calculator multiplies each oil's weight by its SAP and adds them up. That total is the KOH needed at 0% superfat.

Bar soap uses sodium hydroxide, which is a lighter molecule than potassium hydroxide, so the KOH figure is multiplied by 40 ÷ 56.1 (0.713) to get NaOH. Then the superfat comes off: a 5% superfat uses 95% of that lye, leaving 5% of the oils unsaponified as a safety margin and a conditioning cushion. For liquid soap the KOH is divided by its purity — flake KOH is about 90% pure, so you weigh out more of it.

Worked example — the classic beginner bar, 1,000 g of oils

Olive 35% · coconut 30% · palm 30% · castor 5%, 5% superfat, 33% lye concentration. Blend SAP = 0.35×0.190 + 0.30×0.257 + 0.30×0.199 + 0.05×0.180 = 0.2123 g KOH per g oil. × 1,000 g × 0.95 = 201.7 g KOH → × 0.713 = 143.8 g NaOH. Water at 33%: 143.8 × (0.67 ÷ 0.33) = 292.0 g. Batch: 1,436 g.

Open this recipe in the builder →

Why two calculators give different lye for the same recipe

Put the recipe above into SoapCalc and you get 143.8 g. Put it into Bramble Berry's calculator and you get about 148.3 g. Neither is wrong: Bramble Berry assumes sodium hydroxide is 97% pure and divides by 0.97; SoapCalc (and this builder, by default) assume 100%. Three percent more lye on a 5% superfat recipe leaves you at roughly 2% superfat — still safe, but a different bar. Set NaOH purity to 97 in the Lye section if you want Bramble Berry's numbers. The other common source of disagreement is the SAP table itself: values vary by crop and supplier, which is why each oil here shows the published range it sits in — and why superfat exists.

Lye concentration, water : lye ratio, or water as a percent of oils?

They are three ways of saying how much water to dissolve the lye in, and two of them are good. Lye concentration (33% means the solution is one-third lye by weight) and water : lye ratio (2:1 is 33.3%) describe the same thing and both scale correctly with the lye. Water as a percent of oils — SoapCalc's old default of 38% — does not: it gives a different concentration for every recipe, because recipes with more lye get the same water. A 100% olive bar at "38%" is a 25% lye solution; a 100% coconut bar at "38%" is a 31% one. The builder accepts all three and always prints the other two, so old recipes can be reproduced and then understood.

What the water does

Water is only there to dissolve the lye and carry it into the oils; it leaves during cure. Less water (a higher concentration) means faster trace, less shrinkage and warping, less soda ash, and a bar that is ready sooner. More water means slower trace — useful for intricate swirls and fussy fragrances — and a softer bar that takes longer to cure. 33% is the everyday middle; 28–30% for swirls; up to 40% for fast-moving recipes when you know what you are doing.

What the soap-quality bars mean

The five bars are sums of the blend's fatty acids, following SoapCalc's convention so the numbers match what you are used to. Hardness is the saturated acids (lauric, myristic, palmitic, stearic). Cleansing is lauric and myristic — the short chains that strip oil, from coconut and palm kernel. Conditioning is the unsaturated acids plus ricinoleic. Bubbly is lauric, myristic and ricinoleic; creamy is palmitic, stearic and ricinoleic. The shaded band on each bar is the customary range for a balanced bar; a castile sits far outside it on purpose. Iodine and INS are older single-number summaries of the same idea.

Lye per 100 g for the common oils

Sources

SAP values, iodine, INS and fatty-acid profiles: SoapCalc oil list (https://soapcalc.net/oil-list), retrieved 2026-08-19. SoapmakingFriend publishes the same table. Literature ranges per oil are recorded in the engine and pinned by tests; NaOH/KOH ratio 40 ÷ 56.1. Quality-bar method and ranges: SoapCalc. This calculator is verified against SoapCalc on a dozen reference recipes in the test suite before every build.