Why citric acid needs extra lye
Citric acid is added to soap for what it becomes, not what it is. In the pot it meets sodium hydroxide and turns into sodium citrate, a chelator — a molecule that grabs the calcium, magnesium and iron ions in your water and holds them, so they can't pair up with soap to make scum, and can't catalyze the rancidity behind dreaded orange spots. The catch is in the word acid. Every gram of citric acid neutralizes 0.625 g of sodium hydroxide before a single triglyceride is touched, and that lye is gone from the recipe. Add 2% citric acid to a 1 kg batch without compensating and you have quietly removed 12.5 g of the 143.8 g the recipe needed.
1,000 g of oils, 5% superfat, NaOH: the recipe calls for 143.8 g of lye. Two percent citric acid is 20 g. Citric acid has three acidic protons, so each mole takes three moles of hydroxide: 20 g ÷ 192.12 g/mol × 3 × 40.00 g/mol = 12.49 g of NaOH. Weigh out 156.3 g instead of 143.8 g and the bar comes out at its designed 5% superfat, carrying 26.9 g of sodium citrate (2.69% of oils). For liquid soap the same 20 g wants 19.47 g of 90% KOH.
How much citric acid to add to soap
| Citric acid | Grams per 1,000 g oils | Extra NaOH | Extra KOH (90%) | Sodium citrate made | Superfat if you forget |
|---|---|---|---|---|---|
| 0.5% of oils | 5 g | 3.12 g | 4.87 g | 6.7 g (0.7%) | 7.1% |
| 1.0% of oils | 10 g | 6.25 g | 9.73 g | 13.4 g (1.3%) | 9.1% |
| 2.0% of oils | 20 g | 12.49 g | 19.47 g | 26.9 g (2.7%) | 13.3% |
| 3.0% of oils | 30 g | 18.74 g | 29.20 g | 40.3 g (4.0%) | 17.4% |
Anhydrous citric acid; the classic bar at 5% superfat (NaOH 143.8 g per kg of oils). "Superfat if you forget" is what the bar actually becomes when the extra lye is left out. Computed by this site's engine.
Against rancidity, 1% is plenty and 0.5% is a common starting point. Against hard-water scum you'll want 2–3%, and you'll get more from EDTA at a fraction of the rate — see below. Past about 2% the surplus citrate can bloom as a fine white crust on the bar that looks like soda ash and isn't; past 3% you are softening the bar for nothing extra in return.
At 2% citric acid with no compensation, the classic 5% bar comes out at 13.3% superfat — the lye that should have made soap went into making citrate instead. That is not dangerous; it is a softer, faster-to-go-rancid bar with less lather than you designed, and it explains a lot of "my citric acid soap is soft" threads. The superfat adjuster will tell you the same thing from the other side.
Grams of lye per gram of acid — the factors
SoapmakingToolbox.com · lye consumed by acid additives
| Additive (as weighed) | NaOH per g | Pure KOH per g | 90% KOH per g | Makes |
|---|---|---|---|---|
| citric acid (anhydrous) | 0.6245 g | 0.8761 g | 0.9734 g | 1.343 g sodium citrate |
| citric acid (monohydrate) | 0.5710 g | 0.8010 g | 0.8900 g | 1.228 g sodium citrate |
| citrus juice at 5% | 0.0312 g | 0.0438 g | 0.0487 g | 0.067 g sodium citrate |
| vinegar (acetic acid) at 5% | 0.0333 g | 0.0467 g | 0.0519 g | 0.068 g sodium acetate |
| lactic acid at 88% | 0.3907 g | 0.5481 g | 0.6090 g | 1.095 g sodium lactate |
Per gram of the material on the scale. NaOH 39.997 g/mol, KOH 56.105 g/mol; citric acid triprotic, acetic and lactic monoprotic. Other strengths scale linearly: 6% vinegar is 1.2× the 5% figure.
Citric acid per 1,000 g of oils (anhydrous) — and the superfat a 5% recipe becomes if the lye is not added
| Citric acid | Grams | Extra NaOH | Extra KOH (90%) | Sodium citrate | If forgotten |
|---|---|---|---|---|---|
| 0.5% | 5 g | 3.12 g | 4.87 g | 6.7 g | 7.1% |
| 1.0% | 10 g | 6.25 g | 9.73 g | 13.4 g | 9.1% |
| 2.0% | 20 g | 12.49 g | 19.47 g | 26.9 g | 13.3% |
| 3.0% | 30 g | 18.74 g | 29.20 g | 40.3 g | 17.4% |
5% vinegar as the water — classic bar, 292 g water at 33%
| Replaces | Vinegar | Extra NaOH | Sodium acetate | If forgotten |
|---|---|---|---|---|
| 25% of water | 73 g | 2.43 g | 5.0 g (0.5%) | 6.6% |
| 50% of water | 146 g | 4.86 g | 10.0 g (1.0%) | 8.2% |
| 100% of water | 292 g | 9.72 g | 19.9 g (2.0%) | 11.4% |
Dissolve the acid in the water first, then add all of the lye slowly. Ready-made sodium citrate, tetrasodium EDTA and sodium gluconate need no extra lye.
Two things the usual "0.624 g of lye per gram" rule leaves out. First, which citric acid you bought: the anhydrous powder and the monohydrate crystal are the same acid, but a gram of monohydrate is 8.6% water and needs 8.6% less lye. Second, KOH purity. Pure potassium hydroxide takes 0.876 g per gram of citric acid, but flake KOH is about 90% pure, so you weigh 0.973 g. The factor that circulates for KOH — 0.842, copied from page to page — matches neither figure and is never derived anywhere it appears; this page uses the molar masses instead. Worth checking whatever tool you use: one popular recipe builder's own forum carries an open report that it adds only 0.4575 g of NaOH per gram of citric acid, 27% short.
Vinegar in soap: how much extra lye
Vinegar goes in for sodium acetate, which hardens a bar the way sodium lactate does. Household vinegar is 5% acetic acid, so every gram of it neutralizes 0.0333 g of NaOH — small per gram, but people use it as the recipe's water, and the water is the biggest thing in the pot after the oils.
| Vinegar replaces | Vinegar | Extra NaOH | Sodium acetate made | Superfat if you forget |
|---|---|---|---|---|
| 25% of the water | 73 g | 2.43 g | 5.0 g (0.5% of oils) | 6.6% |
| 50% of the water | 146 g | 4.86 g | 10.0 g (1.0% of oils) | 8.2% |
| 100% of the water | 292 g | 9.72 g | 19.9 g (2.0% of oils) | 11.4% |
Classic bar, 292 g of water at 33% lye concentration, 5% vinegar. Computed by this site's engine.
Replacing all of the water with vinegar makes a bar with 2.0% sodium acetate — a sensible hardener dose, in the range people use sodium lactate — and needs 9.7 g more NaOH. Forget that and the bar is at 11.4% superfat. Two practical notes. Sodium acetate hardens fast, so a full-vinegar loaf wants cutting at 8–12 hours, not the next day. And a vinegar lye solution cannot be masterbatched: the acetate solution sets to a gel within a day. Mix it per batch.
The "vinegar adds about 6.6% superfat" figure that gets passed around is true for exactly one recipe. The bump is set by how much water the recipe carries, so it moves with the lye concentration: at 28% the classic bar takes 370 g of vinegar and lands at 13.1% if uncompensated; at 33%, 292 g and 11.4%; at 40%, 216 g and 9.7%. The tool reads your water weight, so it doesn't need the rule of thumb. Vinegar is 95% water for the purposes of the recipe; count it as water when you set the concentration.
Chelators that need no extra lye
If the arithmetic is the part you dislike, buy the salt instead of the acid. Sodium citrate is what citric acid becomes; add it ready-made and the lye is untouched. Tetrasodium EDTA and sodium gluconate are stronger chelators still, also sold as neutral salts. Their rates are quoted as a percent of the whole batch — oils, lye and water — which is the one place in soapmaking that convention appears, so the grams below are for the classic 1,436 g batch, not per kilo of oils.
| Chelator | Rate | For this batch | Where it goes | Notes |
|---|---|---|---|---|
| Tetrasodium EDTA | 0.05–0.5% of batch weight | 0.7–7.2 g | Into the oils, or dilute water — never the concentrated lye solution, where it precipitates. | 0.05–0.25% against DOS, 0.25–0.5% against scum. Sold as ~85% powder or a 39% solution (weigh 2.6× more of the solution). |
| Sodium gluconate | 0.50–1.0% of batch weight | 7.2–14.4 g | Any water phase, lye water included. | Readily biodegradable alternative to EDTA at roughly double the rate. Don’t masterbatch it — it breaks down in days. |
| Sodium citrate (ready-made) | 1.30–3.9% of oil weight | 13.0–39.0 g | Dissolve in twice its weight of water, blend into the oils. | The dihydrate you buy weighs 1.53× the citric acid it stands in for. Weaker than EDTA or gluconate against scum; fine against DOS. |
Rates and handling from classicbells.com (DeeAnna Weed): "EDTA", "Sodium gluconate", "Sodium citrate". Batch = 1,000 g oils + 143.8 g NaOH + 292 g water. None of these change the lye.
The one that catches people is EDTA in the lye jug: tetrasodium EDTA drops out of a concentrated hydroxide solution as a stubborn white sludge, so it goes into the oils or a separate splash of water instead. Sodium citrate is the gentlest of the three and the easiest to buy, and it is exactly what the citric acid route makes — the dihydrate on the shelf weighs 1.53× the citric acid it stands in for, so 20 g of citric acid and 31 g of sodium citrate are the same bar, one of them without the arithmetic.
A chelator holds one calcium or magnesium ion per citrate, and hard water is measured in exactly those ions. The 2% classic bar carries 1.64 g of citric acid in every 100 g of cured soap, which can fully chelate about 9 liters of moderately hard (100 mg/L) water — over the whole life of the bar. A bath is 150 liters or more. So citrate stops the soap you are using from scumming in the water it actually meets, on your skin and cloth; it does not soften a tub, a shower floor or a washing machine. Anyone promising a chelated bar ends bathtub rings is promising more than the moles allow.
A persistent idea online is that citric acid "neutralizes the lye" and makes a milder, lower-pH bar. It neutralizes lye, yes — and you add that lye back, or you have made a high-superfat bar, not a low-pH one. Soap is the salt of a weak acid and a strong base; it buffers at pH 9–11 regardless, and the citrate in it is a neutral salt. If you skip the extra lye the pH of the finished soap is the same and the superfat is higher; push a true soap much below pH 9 and it stops being soap — the fatty acids fall back out of their salts, and you have a greasy, non-lathering curd with a lot of citrate in it. One of the most-shared shampoo bar tutorials online stirs citric acid in at trace "to lower the pH", never adds the lye back, and reports a pH of 7. Run its numbers through the tool and it is an 11% superfat bar at the same pH as every other bar. The lye-heavy soap guide covers why pH strips are the wrong instrument for soap in the first place.
Where to add it, and the sodium citrate shortcut
Dissolve the citric acid in the recipe's water before the lye goes in, then add the lye (the extra included) to that solution slowly. The neutralization is exothermic on top of the heat of dissolving lye, and the solution can foam or spit if the lye goes in fast — stop, stir, let it settle, carry on. It is not fizzing off a gas, because there is no carbonate involved; it is just hot. The water you dissolve it in is the recipe's water — don't add extra, or the lye concentration drifts. Adding the acid to the oils instead is fine chemically (the lye finds it there) but it dissolves slowly and can be left gritty in a corner of the pot. Adding it at trace, which some tutorials do, also works chemically — the reaction just happens in the batter — but it gives up the safety of a dilute reaction and it is the route on which people forget the extra lye, because by trace the lye is already weighed and gone. Vinegar and juice simply are the water. For hot process, everything above applies unchanged — the acid still meets the lye first.
For liquid soap the same math runs on KOH at its real purity, and the tool's KOH option does that. In a dual-lye shave or cream soap add the extra as whichever hydroxide is easier to weigh — the acid does not care which cation it takes — and leave the recipe's split alone.