Cold-process soap in a 3D-printed mold
Run your oils through a lye calculator (never guess), mix the lye solution and oils separately, combine at 38–43 °C, stick-blend to thin trace, pour into a lined printed mold. Unmold after 24–48 h, cut within 3 days, then cure 4–6 weeks, uncured soap is harsh and dissolves fast.
What you'll need
- PLA or PETG filament*, line PLA with parchment; PETG releases cleaner~€20
- Sodium hydroxide, 99 %+*, soap-making grade only; drain cleaner has additives that ruin soap~€12
- Distilled water*, tap-water minerals cause cloudy bars and orange spots~€3
- Oils*: olive 40 % · coconut 30 % · shea 20 % · castor 10 %~€28
- Stick blender*, dedicated to soap, never shared with food~€25
- Goggles + nitrile gloves* and a thermometer*~€27
Also handy: parchment paper* and pH strips (8–12) for the week-4 cure check.
* Advertising: links marked with * are affiliate links. If you buy through one we earn a commission, at no extra cost to you. As an Amazon Associate we earn from qualifying purchases.
Print & line the mold
Print with 3 mm walls
Generate a mold from your STL, Tray type for batches of bars, Two-part for all-sides detail. Slice at 0.2 mm layers, 3 walls, 15 % infill (full settings); 3 mm walls are plenty (4 for loaf molds).
Line it or spray it
Soap demolds far easier with a barrier: parchment with 2 cm pull-tabs for loaf molds, or two thin coats of mold release for shaped cavities. PETG usually releases bare; no-name filament can leach additives, so keep the barrier.
Lye day: calculator to trace
Run the numbers, never guess
Every oil has a different saponification value, so run YOUR oil weights through SoapCalc with 5 % superfat. Print the recipe first. Illustrative ~600 g batch:
| Ingredient | Weight |
|---|---|
| Olive oil | 240 g (40 %) |
| Coconut oil | 180 g (30 %) |
| Shea butter | 120 g (20 %) |
| Castor oil | 60 g (10 %) |
| Distilled water | ~228 g |
| Sodium hydroxide | ~84 g |
Mix lye, heat oils, meet at 38–43 °C
Gear on, window open, jug in the sink. Slowly add the lye to the water, stirring gently, it hits ~95 °C and vents sharp fumes; don't lean over it. Cool it somewhere safe and label the jug, it stays 90 °C+ for 10 minutes.
Getting both liquids to the same temperature
Meanwhile melt the solid oils on low heat, stir in the liquid oils, and cool. Both liquids must reach 38–43 °C, within 5 °C of each other. Too cold won't trace; too hot can crack or volcano.
Blend to thin trace
Pour the lye solution into the oils through a strainer (catches undissolved crystals). Stick-blend in 10-second bursts, stirring between bursts, until a drizzle leaves a faint trail, that's thin trace, the ideal pour stage.
When to add fragrance and colour
Add fragrance and color now, stirring gently by hand, some fragrances accelerate trace fast.
Pour, gel & unmold
Pour and beat soda ash
Pour from ~5 cm in a steady stream, tap the mold 5–6 times to release bubbles, then spritz the top with 91 % isopropyl alcohol, it prevents soda ash, the white powdery surface layer (cosmetic; steam or rinse it off). Cover loosely with parchment; never air-tight.
Choose: gel or no-gel
Saponification self-heats the soap to 70–90 °C within 6–12 hours, the gel phase. Towel-wrap the mold 12–24 h to force it (glossy, vibrant, harder at unmold) or refrigerate uncovered to prevent it (crisp pastels). Half-gelled soap gets glycerin rivers, pick one and commit.
Unmold at 24–48 h, cut by day 3
When a fingernail leaves a clean dent without crumbling, flex the mold gently and lift by the parchment tabs, never twist or pry. Stuck? Freezer for 20 minutes, then retry. Cut loaves into bars within 3 days, after that they cut crumbly.
The 4–6 week cure
Cure is not optional, uncured soap is harsh, lathers weakly and dissolves within a week. Rack the bars with airflow on all sides and rotate weekly.
| Recipe | Minimum cure | Recommended |
|---|---|---|
| High coconut / castor | 4 weeks | 4–6 weeks |
| Balanced (40 % olive) | 4 weeks | 5–6 weeks |
| Castile (100 % olive) | 8 weeks | 3–6 months |
At week 4, test with pH strips: 8–10 is ready; above 10 means free lye, cure another 1–2 weeks. More casting fundamentals in how to make a cast.
Cold-process troubleshooting
The soap volcanoed out of the mold
Cause Overheating: oils and lye combined above 50 °C, a runaway gel phase, or a fragrance that accelerated trace.
Fix Move the mold to the fridge immediately. The bar will be ugly but is usually safe after cure.
Next batch Mix at 38–43 °C, and test an unfamiliar fragrance in a small batch first.
The soap never traced
Cause Old lye is the usual answer. It absorbs moisture from the air and loses potency.
Also Temperatures below 32 °C, or simply not enough blending.
Verdict No thickening after 30 minutes means the lye was almost certainly the problem. Buy fresh and store it airtight.
The soap will not come out of the mold
Cause Demolded too early, or no barrier between plastic and soap.
Fix 20 minutes in the freezer contracts the soap and releases it. Otherwise wait another 24 hours.
Next time A wipe of mineral oil, or a baking-paper liner in a loaf mold.
The bar zaps my tongue. Is it safe?
Not yet. A zap means free lye is still present.
Fix Cure another 1–2 weeks and retest.
If it still zaps at 6 weeks The recipe was off-ratio. Rebatch by grating and re-melting with a little water; do not use it as it is.
Made by meshcast.app. Some product links are affiliate links, they cost you nothing extra and help keep the tools free. Got stuck? Email a photo and I'll help you debug.